:root{--font-body:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Outfit", var(--font-body);--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-display:clamp(2.5rem, 4vw, 3.25rem);--leading-tight:1.2;--leading-normal:1.5;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-label:.08em;--color-text:#0f172a;--color-text-muted:#475569;--color-primary:#0f766e;--color-primary-dark:#115e59;--color-primary-soft:#f0fdfa;--color-surface:#fff;--color-canvas:#f8fafc;--color-border:#e2e8f0;--color-danger:#e11d48;--color-success:#10b981;--color-warning:#d97706;--color-info:#0284c7;--shadow-raised:0 10px 25px -5px #0f172a14, 0 8px 10px -6px #0f172a14;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #00000012;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000014;--sidebar-bg:#115e59;--sidebar-text:#e2f1ee;--sidebar-active-bg:#ffffff1f;--sidebar-active-text:#fff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--control-height:3rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-canvas);font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html{font-size:16px}body{min-width:320px;min-height:100vh;font-size:var(--text-sm);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}button{transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}::selection{color:#fff;background:var(--color-primary)}.skip-link{padding:var(--space-3) var(--space-4);top:var(--space-3);left:var(--space-3);z-index:100;color:#fff;border-radius:var(--radius-sm);background:var(--color-primary-dark);font-weight:var(--weight-bold);transform:translateY(calc(-100% - var(--space-5)));text-decoration:none;position:fixed}.skip-link:focus{transform:translateY(0)}.login-page{background:var(--color-canvas);grid-template-columns:minmax(380px,44%) 1fr;min-height:100vh;display:grid}.login-brand-panel{min-height:100vh;padding:var(--space-7);color:#fff;background:linear-gradient(135deg,#0d9488 0%,#115e59 50%,#0f172a 100%);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:inset -10px 0 30px #00000026}.login-brand-panel:before{content:"";z-index:0;opacity:.08;background-image:linear-gradient(#ffffff4d 1px,#0000 1px),linear-gradient(90deg,#ffffff4d 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.login-brand-panel:after{content:"";filter:blur(100px);opacity:.2;pointer-events:none;background:#2dd4bf;border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;left:-100px}.login-brand,.login-message{z-index:1;position:relative}.login-brand{align-items:center;gap:var(--space-4);display:flex}.login-brand>.corporate-logo{width:80px;height:80px;padding:var(--space-2);border-radius:var(--radius-lg);background:#fffffff2;border:1px solid #ffffff26;place-items:center;transition:transform .4s;display:grid;overflow:hidden;box-shadow:0 10px 25px #00000026}.corporate-logo img{object-fit:contain;width:100%;height:100%;display:block}.login-brand strong,.login-brand small{display:block}.login-brand strong{font:var(--weight-bold) var(--text-lg)/var(--leading-tight) var(--font-heading)}.login-brand small{margin-top:var(--space-1);color:#a5f3fc;font-size:var(--text-xs)}.login-message{margin:auto 0}.login-message p{margin:0 0 var(--space-4);color:#2dd4bf;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.login-message h1{font:var(--weight-semibold) var(--text-display)/1.12 var(--font-heading);letter-spacing:-.03em;background:linear-gradient(135deg,#fff 0%,#99f6e4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0}.login-form-panel{padding:var(--space-7);background:var(--color-canvas);place-items:center;display:grid}.login-form{width:min(100%,420px);padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);transition:transform .3s,box-shadow .3s}.login-form-heading p{margin:0 0 var(--space-3);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.login-form-heading h2{font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;color:var(--color-text);margin:0}.login-form-heading span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.login-field>label{margin-bottom:var(--space-2);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;display:block}.login-input{height:var(--control-height);padding:0 var(--space-3);align-items:center;gap:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface);transition:border-color .2s,box-shadow .2s;display:flex}.login-input input{width:100%;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.login-input button{width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.login-error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-danger) 8%, transparent);font-size:var(--text-xs);font-weight:var(--weight-medium)}.login-submit{width:100%;height:var(--control-height);margin-top:var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-bold);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 20%, transparent);border:0;transition:transform .2s,box-shadow .2s;display:flex}.login-submit:hover:not(:disabled){box-shadow:0 6px 16px color-mix(in srgb, var(--color-primary) 30%, transparent);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{cursor:wait;opacity:.72}.auth-loading{justify-content:center;align-items:center;gap:var(--space-3);min-height:100vh;color:var(--color-primary);background:var(--color-canvas);display:flex}.auth-loading>span{border-radius:var(--radius-lg);color:#fff;background:var(--color-primary);place-items:center;width:44px;height:44px;display:grid}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-layout{min-height:100vh;color:var(--color-text);background:var(--color-canvas);display:block}.admin-sidebar{width:248px;height:100dvh;padding:var(--space-5) var(--space-3) var(--space-3);z-index:30;overscroll-behavior:contain;color:#fff;background:var(--sidebar-bg);border-right:1.5px solid color-mix(in srgb, var(--sidebar-bg) 15%, transparent);box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.admin-brand{min-height:60px;padding:0 var(--space-1);align-items:center;gap:var(--space-3);display:flex}.admin-brand>span{border-radius:var(--radius-md);background:var(--color-surface);width:44px;height:44px;box-shadow:var(--shadow-sm);flex:none;place-items:center;padding:4px;display:grid;overflow:hidden}.admin-brand img{object-fit:contain;width:100%;height:100%;display:block}.admin-brand>div{flex:1;min-width:0}.admin-brand strong,.admin-brand small,.admin-sidebar-profile strong,.admin-sidebar-profile small{display:block}.admin-brand strong{font:var(--weight-bold) var(--text-md)/var(--leading-tight) var(--font-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-brand small{margin-top:var(--space-1);color:color-mix(in srgb, var(--sidebar-text) 70%, transparent);font-size:var(--text-xs);line-height:1.2}.admin-brand>button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:none}.admin-nav{margin-top:var(--space-5);scrollbar-width:none;flex:1;padding-right:2px;overflow-y:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav p{margin:0 var(--space-3) var(--space-3);color:color-mix(in srgb, var(--sidebar-text) 50%, transparent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.admin-nav a{width:100%;min-height:39px;color:var(--sidebar-text);font-size:.76rem;font-weight:var(--weight-medium);text-align:left;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.65rem;padding:.5rem .7rem;text-decoration:none;transition:color .16s,background-color .16s;display:flex;position:relative}.admin-nav a+a{margin-top:2px}.admin-nav a>svg{flex:none}.admin-nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-nav a.active{color:#fff;font-weight:var(--weight-semibold);background:#ffffff14;border-color:#ffffff0f}.admin-nav a.active:before{content:"";background:#d7b56d;border-radius:0 4px 4px 0;width:3px;height:18px;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.admin-nav-badge{color:#dceae5;background:#ffffff12;border:1px solid #ffffff1a;border-radius:99px;flex:none;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.6rem;font-weight:800;display:grid}.admin-nav-badge.attention{color:#f2d89e;background:#ddb8691a;border-color:#ddb86933}.admin-nav a:focus-visible{outline-offset:2px;outline:3px solid #ffffff38}.admin-sidebar-account{padding-top:var(--space-3);border-top:1px solid #ffffff17;margin-top:auto;position:relative}.admin-tenant-switcher{color:#ffffffb8;letter-spacing:.06em;text-transform:uppercase;gap:5px;margin-bottom:10px;font-size:11px;font-weight:700;display:grid}.admin-tenant-switcher select{color:#fff;width:100%;min-width:0;height:38px;font:inherit;text-transform:none;letter-spacing:normal;background:#ffffff14;border:1px solid #ffffff29;border-radius:9px;padding:0 10px}.admin-tenant-switcher option{color:var(--color-text);background:var(--color-surface)}.admin-route-loading{min-height:240px;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);place-items:center;display:grid}.admin-sidebar-profile{width:100%;min-height:56px;padding:var(--space-2);align-items:center;gap:var(--space-3);color:#fff;border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;transition:all .2s;display:flex}.admin-sidebar-profile:hover,.admin-sidebar-profile[aria-expanded=true]{background:#ffffff14;border-color:#ffffff1f}.admin-sidebar-profile>span{border-radius:var(--radius-sm);color:#fff;width:36px;height:36px;font-size:var(--text-xs);font-weight:var(--weight-bold);background:#ffffff1f;flex:none;place-items:center;display:grid}.admin-sidebar-profile>div{flex:1;min-width:0}.admin-sidebar-profile strong,.admin-sidebar-profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-sidebar-profile strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.admin-sidebar-profile small{color:color-mix(in srgb, var(--sidebar-text) 70%, transparent);font-size:var(--text-xs);margin-top:2px}.admin-sidebar-profile>svg{color:color-mix(in srgb, var(--sidebar-text) 80%, transparent);flex:none;transition:transform .16s}.admin-sidebar-profile[aria-expanded=true]>svg{transform:rotate(180deg)}.admin-sidebar-account-menu{width:100%;padding:var(--space-2);bottom:calc(100% + var(--space-2));z-index:40;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:.2s cubic-bezier(.16,1,.3,1) forwards menuReveal;position:absolute;left:0}@keyframes menuReveal{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-sidebar-account-menu button{width:100%;height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:left;background:0 0;border:0;transition:all .15s;display:flex}.admin-sidebar-account-menu button:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.admin-sidebar-account-menu button.danger{color:var(--color-danger)}.admin-sidebar-account-menu button.danger:hover{background:color-mix(in srgb, var(--color-danger) 8%, transparent)}.admin-main{background:var(--color-canvas);flex-direction:column;min-width:0;min-height:100vh;margin-left:248px;display:flex}.admin-mobile-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary);background:var(--color-surface);cursor:pointer;place-items:center;display:none}.admin-mobile-menu:hover{color:var(--color-primary-dark);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);background:var(--color-primary-soft)}.admin-mobile-bar{display:none}.admin-mobile-avatar{color:#fff;border-radius:var(--radius-sm);background:var(--color-primary);width:36px;height:36px;font-size:var(--text-xs);font-weight:var(--weight-bold);flex:none;place-items:center}.admin-content{background:var(--color-canvas);flex:1;min-height:100vh}.admin-content:focus{outline:0}.admin-backdrop{border:0;padding:0;display:none}:is(.profile-page,.dorms-page,.staff-page,.students-page,.rooms-page,.attendance-page,.guests-page,.dorm-detail-page){margin-inline:auto}.dashboard-page{width:min(100%,1400px);padding:var(--space-6);margin-inline:auto}.dashboard-metrics{margin-bottom:var(--space-5);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.dashboard-metrics article{min-height:126px;padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.dashboard-metrics article.attention{border-color:color-mix(in srgb, var(--color-warning) 30%, transparent)}.dashboard-metrics article>span{width:38px;height:38px;color:var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.dashboard-metrics article>div{min-width:0}.dashboard-metrics small,.dashboard-metrics strong,.dashboard-metrics p{display:block}.dashboard-metrics small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.dashboard-metrics strong{color:var(--color-text);letter-spacing:-.03em;font-size:1.65rem;line-height:1.15;font-family:var(--font-heading);margin-top:2px}.dashboard-metrics p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.dashboard-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);display:grid}.dashboard-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-panel>header{min-height:72px;padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 40%, var(--color-surface));display:flex}.dashboard-panel>header span{color:var(--color-primary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.dashboard-panel>header h3{color:var(--color-text);font-size:var(--text-md);font-family:var(--font-heading);margin:2px 0 0}.dashboard-panel>header>small{color:var(--color-text-muted);font-size:var(--text-xs)}.dashboard-task-list{display:grid}.dashboard-task-list article{min-height:92px;padding:var(--space-4) var(--space-5);gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:34px minmax(0,1fr);transition:background-color .15s;display:grid}.dashboard-task-list article:last-child{border-bottom:0}.dashboard-task-list article:hover{background-color:color-mix(in srgb, var(--color-canvas) 30%, transparent)}.dashboard-task-list article>span{width:32px;height:32px;color:var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-soft);place-items:center;display:grid}.dashboard-task-list article.attention>span{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 10%, transparent)}.dashboard-task-list strong{color:var(--color-text);font-size:var(--text-sm)}.dashboard-task-list p{margin:var(--space-1) 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs)}.dashboard-task-list a{align-items:center;gap:var(--space-1);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);text-decoration:none;transition:color .2s;display:inline-flex}.dashboard-task-list a:hover{color:var(--color-primary-dark);text-underline-offset:3px;text-decoration:underline}.dashboard-all-clear{min-height:188px;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-primary);text-align:left;display:flex}.dashboard-all-clear strong,.dashboard-all-clear span{display:block}.dashboard-all-clear strong{color:var(--color-text);font-size:var(--text-sm)}.dashboard-all-clear span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.dashboard-quick-links nav{display:grid}.dashboard-quick-links nav a{min-height:70px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);color:var(--color-text);border-bottom:1px solid var(--color-border);grid-template-columns:34px minmax(0,1fr) 18px;text-decoration:none;transition:all .2s;display:grid}.dashboard-quick-links nav a:last-child{border-bottom:0}.dashboard-quick-links nav a>span{width:34px;height:34px;color:var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-soft);place-items:center;display:grid}.dashboard-quick-links nav strong,.dashboard-quick-links nav small{display:block}.dashboard-quick-links nav strong{font-size:var(--text-sm)}.dashboard-quick-links nav small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.dashboard-quick-links nav a>svg{color:var(--color-text-muted);transition:transform .2s}.dashboard-quick-links nav a:hover>svg{transform:translate(2px)}.dashboard-skeleton{margin-bottom:var(--space-5);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-skeleton i{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-canvas) 45%, var(--color-surface) 65%);background-size:260% 100%;height:126px;animation:1.2s ease-in-out infinite dashboard-shimmer}.dashboard-load-error{min-height:110px;padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-3);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-danger) 6%, transparent);display:flex}.dashboard-load-error>div{flex:1;min-width:0}.dashboard-load-error strong,.dashboard-load-error span{display:block}.dashboard-load-error strong{color:var(--color-text)}.dashboard-load-error span{margin-top:var(--space-1);font-size:var(--text-xs)}.dashboard-load-error button{min-height:40px;padding:0 var(--space-3);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-weight:var(--weight-semibold);transition:all .2s}.dashboard-load-error button:hover{background:color-mix(in srgb, var(--color-danger) 10%, transparent)}@keyframes dashboard-shimmer{to{background-position:-160% 0}}.profile-page{width:min(100%,1120px);padding:var(--space-6)}.profile-page-heading{margin-bottom:var(--space-5)}.profile-page-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.profile-page-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.profile-page-heading>span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.profile-required{margin-bottom:var(--space-5);padding:var(--space-4);align-items:flex-start;gap:var(--space-3);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#eff5f4;display:flex}.profile-required strong,.profile-required span{display:block}.profile-required strong{margin-bottom:var(--space-1)}.profile-required svg{flex:none;margin-top:2px}.profile-tabs-shell{border:1px solid var(--color-border);background:var(--color-surface)}.profile-tabs{min-height:54px;padding:0 var(--space-5);gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.profile-tabs button{align-items:center;gap:var(--space-2);min-height:54px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0;display:flex;position:relative}.profile-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.profile-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.profile-tabs button[aria-selected=true]:after{background:var(--color-primary)}.profile-tabs button:disabled{cursor:not-allowed;opacity:.45}.profile-tab-panel>header{padding:var(--space-5);border-bottom:1px solid var(--color-border)}.profile-tab-panel>header h3{color:var(--color-text);font:var(--weight-semibold) var(--text-md)/var(--leading-tight) var(--font-heading);margin:0}.profile-tab-panel>header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.profile-tab-panel>form{padding:var(--space-5)}.profile-form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-field{display:block}.profile-security-form .profile-field{max-width:560px;margin-top:var(--space-4)}.profile-security-form>.profile-field:first-child{margin-top:0}.profile-field>label{margin-bottom:var(--space-2);color:#504f59;font-size:var(--text-sm);font-weight:var(--weight-semibold);display:block}.profile-field>label span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.profile-field input{width:100%;height:var(--control-height);padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.profile-field input:focus{border-color:var(--color-primary);outline-offset:0;outline:3px solid #3f74711a}.profile-field small{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:block}.profile-feedback{margin-top:var(--space-4);padding:var(--space-3);align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);border:1px solid;display:flex}.profile-feedback.success{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 25%, transparent);background:#f1f7f3}.profile-feedback.error{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 20%, transparent);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.profile-form-actions{margin-top:var(--space-5);padding-top:var(--space-4);justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border);display:flex}.profile-form-actions button{min-width:174px;height:42px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.profile-form-actions button:hover{background:var(--color-primary-dark)}.profile-form-actions button:disabled{cursor:not-allowed;opacity:.5}.profile-form-actions button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.profile-form-actions button.secondary:hover{background:#f8f8f9;border-color:#c9c8cf}.dorms-page{width:min(100%,1280px);padding:var(--space-6)}.dorms-page-heading{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.dorms-page-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.dorms-page-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.dorms-page-heading span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.dorms-page-heading>button{height:42px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:flex}.dorms-page-heading>button:hover{background:var(--color-primary-dark)}.dorms-notice{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#f1f7f6}.dorms-toolbar{min-height:64px;padding:0 var(--space-4);align-items:center;gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;display:flex}.dorms-toolbar>label{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.dorms-toolbar>div{width:min(100%,380px);height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.dorms-toolbar>div:focus-within{border-color:var(--color-primary);outline:3px solid #3f74711a}.dorms-toolbar input{width:100%;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.dorms-toolbar>span{color:var(--color-text-muted);font-size:var(--text-xs);margin-left:auto}.dorms-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:260px;box-shadow:var(--shadow-sm);overflow-x:auto}.dorms-state,.dorms-empty{min-height:260px;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.dorms-state.error{color:var(--color-danger)}.dorms-empty{text-align:center;flex-direction:column}.dorms-empty svg{margin-bottom:var(--space-3);color:var(--color-primary)}.dorms-empty strong{color:var(--color-text);font-size:var(--text-md)}.dorms-empty span{margin-top:var(--space-2)}.dorms-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.dorms-table th{height:44px;padding:0 var(--space-4);color:var(--color-text-muted);border-bottom:1.5px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase}.dorms-table td{height:70px;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle;transition:background-color .15s}.dorms-table tbody tr:last-child td{border-bottom:0}.dorms-table tbody tr:hover{background:color-mix(in srgb, var(--color-canvas) 20%, transparent)}.dorms-table td strong,.dorms-table td small{display:block}.dorms-table td strong{color:var(--color-text);font-weight:var(--weight-semibold)}.dorms-table td small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.dorm-name-link{color:inherit;text-decoration:none}.dorm-name-link:hover strong{color:var(--color-primary-dark);text-underline-offset:3px;text-decoration:underline}.dorm-detail-link{width:34px;height:34px;color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid #0000;place-items:center;text-decoration:none;display:grid}.dorm-detail-link:hover{color:var(--color-primary);border-color:var(--color-border);background:var(--color-primary-soft)}.dorm-location{align-items:center;gap:var(--space-2);display:inline-flex}.dorm-location svg{color:var(--color-primary)}.dorm-unassigned{color:var(--color-text-muted)}.dorm-status{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:color-mix(in srgb, var(--status-color,#64748b) 8%, var(--color-surface));color:var(--status-color,#475569);border:1px solid color-mix(in srgb, var(--status-color,#64748b) 20%, transparent);border-radius:9999px;display:inline-flex}.dorm-status:before{display:none}.dorm-status.active{--status-color:var(--color-primary)}.staff-page{width:min(100%,1280px);padding:var(--space-6)}.staff-notice{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#f1f7f6}.staff-overview{margin-bottom:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.staff-overview article{min-height:92px;padding:var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.staff-overview article>span{width:40px;height:40px;color:var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.staff-overview article.warning>span{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 9%, var(--color-surface))}.staff-overview article.muted>span{color:var(--color-text-muted);background:var(--color-canvas)}.staff-overview article div,.staff-overview small,.staff-overview strong,.staff-overview p{min-width:0;display:block}.staff-overview small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.055em}.staff-overview strong{color:var(--color-text);font-size:var(--text-xl);margin-top:2px;line-height:1}.staff-overview p{color:var(--color-text-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;overflow:hidden}.staff-toolbar{min-height:72px;margin-bottom:var(--space-3);padding:var(--space-3);align-items:end;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(230px,1fr) 155px 170px auto auto auto;display:grid}.staff-search-control,.staff-filter-control{gap:5px;min-width:0;display:grid}.staff-search-control>span,.staff-filter-control>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.staff-search-control>div{height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.staff-search-control>div:focus-within{border-color:var(--color-primary);outline:3px solid #3f74711a}.staff-toolbar input{width:100%;min-width:0;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.staff-filter-control select{width:100%;height:40px;padding:0 34px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.staff-filter-control select:focus{border-color:var(--color-primary);outline:3px solid #3f74711a}.staff-toolbar-count{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;align-self:center}.staff-toolbar-count strong{color:var(--color-text)}.staff-clear-filters{height:40px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.staff-clear-filters:hover{color:var(--color-primary-dark);border-color:var(--color-primary);background:var(--color-primary-soft)}.staff-toolbar>.staff-create-button{height:40px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:inline-flex}.staff-toolbar>.staff-create-button:hover{background:var(--color-primary-dark)}.staff-toolbar>.staff-create-button:disabled{cursor:not-allowed;opacity:.55}.staff-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:260px;box-shadow:var(--shadow-sm);overflow-x:auto}.staff-state,.staff-empty{min-height:260px;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.staff-state.error{color:var(--color-danger)}.staff-empty{text-align:center;flex-direction:column}.staff-empty svg{margin-bottom:var(--space-3);color:var(--color-primary)}.staff-empty strong{color:var(--color-text);font-size:var(--text-md)}.staff-empty span{margin-top:var(--space-2)}.staff-table{border-collapse:collapse;text-align:left;width:100%;min-width:920px}.staff-table th{height:44px;padding:0 var(--space-4);color:var(--color-text-muted);border-bottom:1.5px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase}.staff-table td{height:70px;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle;transition:background-color .15s}.staff-table tbody tr:last-child td{border-bottom:0}.staff-table tbody tr:hover{background:color-mix(in srgb, var(--color-canvas) 20%, transparent)}.staff-table td>strong{color:var(--color-text);font-weight:var(--weight-semibold)}.staff-table code{color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm)/var(--leading-normal) ui-monospace, SFMono-Regular, Consolas, monospace}.staff-person{align-items:center;gap:var(--space-3);display:flex}.staff-person>span:first-child{width:34px;height:34px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.02em;flex:none;place-items:center;display:grid}.staff-person strong,.staff-person small{display:block}.staff-person strong{color:var(--color-text);font-weight:var(--weight-semibold)}.staff-person small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.staff-status{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:color-mix(in srgb, var(--status-color,#64748b) 8%, var(--color-surface));color:var(--status-color,#475569);border:1px solid color-mix(in srgb, var(--status-color,#64748b) 20%, transparent);border-radius:9999px;display:inline-flex}.staff-status:before{display:none}.staff-status.active{--status-color:var(--color-success)}.staff-status.pending-password{--status-color:var(--color-warning)}.staff-status.pending-profile{--status-color:var(--color-info)}.staff-status.inactive{--status-color:var(--color-danger)}.staff-row-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.staff-row-actions button{min-height:36px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.staff-row-actions button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.staff-row-actions button:disabled{cursor:wait;opacity:.55}.staff-mobile-list{display:none}.students-page{width:min(100%,1360px);padding:var(--space-6)}.students-heading-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.students-heading-actions button{height:40px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:flex}.students-heading-actions button:hover{background:var(--color-primary-dark)}.students-heading-actions button.secondary{color:var(--color-primary-dark);background:var(--color-surface);border-color:#b8cfcd}.students-heading-actions button.secondary:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.students-heading-actions button.secondary.danger{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 28%, var(--color-border))}.students-heading-actions button.secondary.danger:hover:not(:disabled){border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 7%, var(--color-surface))}.students-heading-actions button:disabled{cursor:not-allowed;opacity:.5}.students-notice{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#f1f7f6}.students-toolbar{min-height:64px;padding:0 var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;display:flex}.students-toolbar>label:first-child{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.students-toolbar-panel,.students-toolbar-panel-body{display:contents}.students-toolbar-panel-toggle{display:none}.students-search{width:min(100%,420px);height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.students-search:focus-within{border-color:var(--color-primary);outline:3px solid #3f74711a}.students-search input{width:100%;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.students-search>button{width:30px;height:30px;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-right:-7px;display:grid}.students-search>button:hover{color:var(--color-text);background:#f0f0f2}.students-filter{align-items:center;gap:var(--space-2);height:40px;display:flex}.students-filter>span{color:var(--color-text-muted);font-size:var(--text-xs)}.students-filter select{height:40px;padding:0 34px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.students-filter select:focus{border-color:var(--color-primary);outline:3px solid #3f74711a}.students-toolbar-count{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.students-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:260px;box-shadow:var(--shadow-sm);overflow-x:auto}.students-state,.students-empty{min-height:260px;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.students-state.error{color:var(--color-danger)}.students-empty{text-align:center;flex-direction:column}.students-empty svg{margin-bottom:var(--space-3);color:var(--color-primary)}.students-empty strong{color:var(--color-text);font-size:var(--text-md)}.students-empty span{margin-top:var(--space-2)}.students-table{border-collapse:collapse;text-align:left;width:100%;min-width:920px}.students-table th{height:44px;padding:0 var(--space-4);color:var(--color-text-muted);border-bottom:1.5px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase}.students-table td{height:70px;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle;transition:background-color .15s}.students-table tbody tr:last-child td{border-bottom:0}.students-table tbody tr:hover,.students-table tbody tr:focus-within{background:color-mix(in srgb, var(--color-canvas) 20%, transparent)}.students-table tbody tr.is-selected{background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.students-table td>strong,.students-table td>small{display:block}.students-table td>strong{color:var(--color-text);font-weight:var(--weight-semibold)}.students-table td>small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.students-table code{color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm)/var(--leading-normal) ui-monospace, SFMono-Regular, Consolas, monospace}.students-col-selection{width:52px}.student-selection-cell{text-align:center}.student-selection-cell input{width:17px;height:17px;accent-color:var(--color-primary);cursor:pointer;margin:0;display:inline-block}.students-col-actions{width:104px}.students-actions-heading,.student-row-actions{text-align:right}.student-row-actions>button{min-height:34px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 28%, var(--color-border));border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.student-row-actions>button:hover{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 7%, var(--color-surface))}.student-person{align-items:center;gap:var(--space-3);display:flex}.student-person>span:first-child{width:34px;height:34px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.student-person strong,.student-person small{display:block}.student-person strong{color:var(--color-text);font-weight:var(--weight-semibold)}.student-person small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.student-status{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:color-mix(in srgb, var(--status-color,#64748b) 8%, var(--color-surface));color:var(--status-color,#475569);border:1px solid color-mix(in srgb, var(--status-color,#64748b) 20%, transparent);border-radius:9999px;display:inline-flex}.student-status:before{display:none}.student-status.active{--status-color:var(--color-success)}.panel-dialog.student-removal-dialog{width:min(100%,680px)}.student-removal-content{padding:var(--space-5)}.student-removal-option{padding:var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:40px minmax(0,1fr) auto;display:grid}.student-removal-option+.student-removal-option{margin-top:var(--space-3)}.student-removal-option>span{border-radius:var(--radius-sm);place-items:center;width:40px;height:40px;display:grid}.student-removal-option strong,.student-removal-option p{display:block}.student-removal-option strong{color:var(--color-text);font-size:var(--text-sm)}.student-removal-option p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.55}.student-removal-option.recommended{border-color:color-mix(in srgb, var(--color-success) 28%, var(--color-border));background:color-mix(in srgb, var(--color-success) 5%, var(--color-surface))}.student-removal-option.recommended>span{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 11%, var(--color-surface))}.student-removal-option.recommended>button{min-height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.student-removal-option.recommended>button:hover{background:var(--color-primary-dark)}.student-removal-option.danger>span{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 9%, var(--color-surface))}.student-removal-confirmation{margin-top:var(--space-4)}.student-removal-confirmation label{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:block}.student-removal-confirmation strong{color:var(--color-danger);display:inline}.student-removal-confirmation input{width:100%;height:42px;padding:0 var(--space-3);color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-danger) 30%, var(--color-border));border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.student-removal-confirmation input:focus{border-color:var(--color-danger);outline:3px solid color-mix(in srgb, var(--color-danger) 12%, transparent)}.student-removal-content>footer{margin:var(--space-5) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fcfcfc;display:flex}.student-removal-content>footer button{min-height:40px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.student-removal-content>footer button.secondary{color:var(--color-text-muted);background:var(--color-surface)}.student-removal-content>footer button.danger{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.student-removal-content button:disabled,.student-removal-confirmation input:disabled{cursor:not-allowed;opacity:.55}.bulk-student-selection-summary{margin-bottom:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.bulk-student-selection-summary span{max-width:100%;padding:var(--space-1) var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-canvas);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:9999px;overflow:hidden}.students-pagination{min-height:56px;padding:var(--space-2) var(--space-4);justify-content:flex-end;align-items:center;gap:var(--space-5);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-xs);border-top:0;display:flex}.students-pagination>span{margin-right:auto}.students-pagination strong{color:var(--color-text);font-weight:var(--weight-semibold)}.students-pagination>label{align-items:center;gap:var(--space-2);display:flex}.students-pagination select{height:36px;padding:0 28px 0 var(--space-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.students-pagination>div{align-items:center;gap:var(--space-2);display:flex}.students-pagination>div>button{width:36px;height:36px;color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;place-items:center;display:grid}.students-pagination>div>button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-primary-soft)}.students-pagination>div>button:disabled{color:var(--color-text-muted);background:var(--color-canvas);opacity:.65}.panel-dialog.student-transfer-dialog{flex-direction:column;width:min(100%,960px);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.student-transfer-tabs{min-height:52px;padding:0 var(--space-5);gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));flex:none;display:flex}.student-transfer-tabs button{align-items:center;gap:var(--space-2);min-height:52px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0;display:flex;position:relative}.student-transfer-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.student-transfer-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.student-transfer-tabs button[aria-selected=true]:after{background:var(--color-primary)}.student-transfer-content{min-height:0;padding:var(--space-5);overflow:hidden}.student-import-guide{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.student-import-guide strong,.student-import-guide span{display:block}.student-import-guide strong{color:var(--color-text);font-size:var(--text-sm)}.student-import-guide span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.student-import-guide button{min-height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-primary-dark);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid #b8cfcd;flex:none;display:inline-flex}.student-import-guide button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.student-import-guide button:disabled{cursor:wait;opacity:.55}.student-import-dropzone{width:100%;min-height:88px;padding:var(--space-4);justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-primary);border:1px dashed var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-soft);cursor:pointer;text-align:left;display:flex}.student-import-dropzone:hover{border-color:var(--color-primary);background:#f0f6f5}.student-import-dropzone:disabled{cursor:wait;opacity:.62}.student-import-dropzone span,.student-import-dropzone strong,.student-import-dropzone small{display:block}.student-import-dropzone strong{color:var(--color-text);font-size:var(--text-sm)}.student-import-dropzone small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.student-import-preview{margin-top:var(--space-4);border:1px solid var(--color-border)}.student-import-summary{min-height:50px;padding:0 var(--space-4);align-items:center;gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.student-import-summary span{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.student-import-summary strong{color:var(--color-text)}.student-import-summary .valid,.student-import-valid{color:var(--color-success)}.student-import-summary .invalid,.student-import-errors{color:#a2483f}.student-import-table-wrap{max-height:310px;overflow:auto}.student-import-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:920px}.student-import-table-wrap th{height:38px;padding:0 var(--space-3);z-index:1;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-canvas);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}.student-import-table-wrap td{min-height:48px;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);vertical-align:middle}.student-import-table-wrap tr:last-child td{border-bottom:0}.student-import-table-wrap tr.invalid{background:#fff9f8}.student-import-table-wrap td small{color:var(--color-text-muted);margin-top:2px;display:block}.student-import-table-wrap code{font-size:var(--text-xs)}.student-import-errors,.student-import-valid{align-items:flex-start;gap:var(--space-1);font-size:var(--text-xs);line-height:var(--leading-normal);display:inline-flex}.student-import-errors svg,.student-import-valid svg{flex:none;margin-top:1px}.student-import-limit-note{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));font-size:var(--text-2xs);display:block}.student-transfer-content>.panel-form-error{margin:var(--space-4) 0 0}.student-transfer-content>footer{margin:var(--space-5) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));min-height:66px;padding:var(--space-3) var(--space-5);justify-content:flex-end;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fcfcfc;display:flex}.student-transfer-content>footer button{min-width:120px;height:40px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.student-transfer-content>footer button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.student-transfer-content>footer button:disabled{cursor:wait;opacity:.5}.student-export-summary{padding:var(--space-4);border-left:3px solid var(--color-primary);background:#f4f7f7}.student-export-summary strong,.student-export-summary span{display:block}.student-export-summary strong{color:var(--color-text);font-size:var(--text-md)}.student-export-summary span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.student-export-options{margin-top:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-export-options>button{min-height:82px;padding:var(--space-4);align-items:center;gap:var(--space-3);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;text-align:left;grid-template-columns:28px minmax(0,1fr) 18px;display:grid}.student-export-options>button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.student-export-options>button:disabled{cursor:wait;opacity:.55}.student-export-options span,.student-export-options strong,.student-export-options small{display:block}.student-export-options strong{color:var(--color-text);font-size:var(--text-sm)}.student-export-options small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.dorm-manager-action{height:36px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.dorm-manager-action:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.panel-dialog-backdrop{padding:var(--space-5);z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.panel-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,660px);box-shadow:var(--shadow-xl);animation:.3s cubic-bezier(.16,1,.3,1) forwards modalOpen;overflow:hidden}@keyframes modalOpen{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.panel-dialog>header{min-height:76px;padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.panel-dialog h3{font:var(--weight-semibold) var(--text-lg)/var(--leading-tight) var(--font-heading);color:var(--color-text);margin:0}.panel-dialog header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.panel-dialog header>button{width:36px;height:36px;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;transition:all .2s;display:grid}.panel-dialog header>button:hover{color:var(--color-text);border-color:var(--color-border);background:var(--color-canvas)}.panel-form{padding:var(--space-5)}.dorm-form-step{margin-bottom:var(--space-5);padding-bottom:var(--space-3);align-items:baseline;gap:var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);display:flex}.dorm-form-step strong{color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.04em}.dorm-form-step span{color:var(--color-text);font-weight:var(--weight-semibold)}.panel-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.panel-field{margin-bottom:var(--space-4)}.panel-form-grid .panel-field{margin-bottom:0}.panel-field.wide{grid-column:1/-1}.panel-field label{margin-bottom:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:block}.panel-field input,.panel-field textarea,.panel-field select{width:100%;padding:0 var(--space-3);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:var(--text-sm)/var(--leading-normal) var(--font-body);transition:border-color .2s,box-shadow .2s}.panel-field input,.panel-field select{height:var(--control-height)}.panel-field textarea{padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.panel-field input:focus,.panel-field textarea:focus,.panel-field select:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 15%, transparent);outline-offset:0}.panel-field small{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:block}.manager-step-context{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);background:#f4f7f7}.manager-step-context span,.manager-step-context strong,.manager-step-context small{display:block}.manager-step-context span{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.manager-step-context strong{margin-top:var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.manager-step-context small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.manager-password-note{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.staff-dialog-identity{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);background:#f4f7f7}.staff-dialog-identity span,.staff-dialog-identity strong{display:block}.staff-dialog-identity span{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.staff-dialog-identity strong{margin-top:var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.staff-active-control{padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);cursor:pointer;display:flex}.staff-active-control input{accent-color:var(--color-primary);margin-top:3px}.staff-active-control span,.staff-active-control strong,.staff-active-control small{display:block}.staff-active-control strong{color:var(--color-text);font-size:var(--text-sm)}.staff-active-control small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.student-active-control{margin-top:var(--space-5);padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);cursor:pointer;display:flex}.student-active-control input{accent-color:var(--color-primary);margin-top:3px}.student-active-control span,.student-active-control strong,.student-active-control small{display:block}.student-active-control strong{color:var(--color-text);font-size:var(--text-sm)}.student-active-control small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.student-form-section+.student-form-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.student-form-section>header{margin-bottom:var(--space-4);align-items:baseline;gap:var(--space-3);display:flex}.student-form-section>header span{color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.student-form-section>header h4{color:var(--color-text);font-size:var(--text-sm);margin:0}.student-information-dialog{width:min(100%,720px)}.student-information-dialog>header{min-height:70px;padding:var(--space-4) var(--space-5)}.student-information-form{min-width:0}.student-information-tabs{min-height:52px;padding:0 var(--space-5);gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.student-information-tabs button{align-items:center;gap:var(--space-2);min-height:52px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;background:0 0;border:0;padding:0;display:flex;position:relative}.student-information-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.student-information-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.student-information-tabs button[aria-selected=true]:after{background:var(--color-primary)}.student-information-panel{min-height:316px;padding:var(--space-5)}.student-information-fields .panel-field{margin-bottom:0}.student-information-fields .panel-field label span{margin-left:var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.03em;text-transform:uppercase}.student-information-divider{height:1px;margin:var(--space-5) 0;background:var(--color-border)}.student-tab-intro{margin-bottom:var(--space-5);padding-bottom:var(--space-4);align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.student-tab-intro>svg{color:var(--color-primary);flex:none;margin-top:1px}.student-tab-intro strong,.student-tab-intro span{display:block}.student-tab-intro strong{color:var(--color-text);font-size:var(--text-sm)}.student-tab-intro span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.student-active-control.compact{background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));margin-top:0}.student-delete-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.student-delete-heading{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.student-delete-heading>div{min-width:0}.student-delete-heading strong,.student-delete-heading span{display:block}.student-delete-heading strong{color:var(--color-text);font-size:var(--text-sm)}.student-delete-heading span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.student-delete-heading>button{min-height:38px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;display:inline-flex}.student-delete-heading>button:hover{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.student-delete-confirmation{margin-top:var(--space-4);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);background:color-mix(in srgb, var(--color-danger) 4%, var(--color-surface))}.student-delete-confirmation label,.student-delete-confirmation label strong{display:block}.student-delete-confirmation label strong{margin-bottom:var(--space-2);color:#694743;font-size:var(--text-xs)}.student-delete-confirmation input{width:100%;height:42px;padding:0 var(--space-3);color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.student-delete-confirmation input:focus{border-color:var(--color-danger);outline-offset:0;outline:3px solid #994e461c}.student-delete-confirmation>div{margin-top:var(--space-3);justify-content:flex-end;gap:var(--space-2);display:flex}.student-delete-confirmation button{min-height:38px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.student-delete-confirmation button.secondary{color:var(--color-text-muted)}.student-delete-confirmation button.danger{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.student-delete-confirmation button.danger:hover{background:#7f3e38}.student-delete-confirmation button:disabled{cursor:not-allowed;opacity:.5}.student-information-error{margin:0 var(--space-5) var(--space-4)}.student-information-form>footer{min-height:66px;padding:var(--space-3) var(--space-5);justify-content:flex-end;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fcfcfc;display:flex}.student-information-form>footer button{min-width:126px;height:40px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.student-information-form>footer button:hover{background:var(--color-primary-dark)}.student-information-form>footer button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.student-information-form>footer button.secondary:hover{background:#f8f8f9;border-color:#c9c8cf}.student-information-form>footer button:disabled{cursor:wait;opacity:.55}.rooms-page-heading{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.rooms-page-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.rooms-page-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.rooms-page-heading span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.rooms-page-heading>button{height:42px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:flex}.rooms-page-heading>button:hover{background:var(--color-primary-dark)}.rooms-notice{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#f1f7f6}.room-summary-grid{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.room-summary-card{min-height:104px;padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.room-summary-card>span{width:34px;height:34px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.room-summary-card>div{min-width:0}.room-summary-card small,.room-summary-card strong,.room-summary-card p{display:block}.room-summary-card small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.room-summary-card strong{color:var(--color-text);font-size:var(--text-xl);margin-top:2px;line-height:1.15}.room-summary-card p{color:var(--color-text-muted);font-size:var(--text-xs);margin:2px 0 0}.room-summary-card.warning>span{color:#8a6a2c;border-color:color-mix(in srgb, var(--color-warning) 20%, transparent);background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface))}.room-summary-card.positive>span{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 20%, transparent);background:#f0f7f4}.rooms-toolbar{min-height:64px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;display:flex}.rooms-search{width:min(100%,360px);height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.rooms-search:focus-within{border-color:var(--color-primary);outline:3px solid #3f74711a}.rooms-search input{width:100%;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.rooms-toolbar>label:not(.rooms-search){align-items:center;gap:var(--space-2);height:40px;display:flex}.rooms-toolbar>label>span{color:var(--color-text-muted);font-size:var(--text-xs)}.rooms-toolbar select{height:40px;padding:0 34px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.rooms-toolbar select:focus{border-color:var(--color-primary);outline:3px solid #3f74711a}.rooms-view-switch{border:1px solid var(--color-border);background:#f7f8f8;flex:none;min-height:40px;margin-left:auto;display:inline-flex}.rooms-view-switch button{min-height:38px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:0;border-right:1px solid var(--color-border);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;display:inline-flex}.rooms-view-switch button:last-child{border-right:0}.rooms-view-switch button[aria-pressed=true]{color:#fff;background:var(--color-primary)}.rooms-view-switch button:hover:not([aria-pressed=true]){color:var(--color-primary-dark);background:var(--color-surface)}.rooms-toolbar>strong{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;text-align:right;min-width:55px}.rooms-state{min-height:280px;padding:var(--space-6);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.rooms-state svg{margin-bottom:var(--space-3);color:var(--color-primary)}.rooms-state strong{color:var(--color-text);font-size:var(--text-md)}.rooms-state span{margin-top:var(--space-2);font-size:var(--text-sm)}.rooms-state.error{color:var(--color-danger)}.room-floor-list{border:1px solid var(--color-border);background:var(--color-surface)}.room-floor-section+.room-floor-section{border-top:1px solid var(--color-border)}.room-floor-section>header{min-height:58px;padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));border-bottom:1px solid var(--color-border);align-items:center;display:flex}.room-floor-section>header strong,.room-floor-section>header span{display:block}.room-floor-section>header strong{color:var(--color-text);font-size:var(--text-sm)}.room-floor-section>header span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.room-plan-legend{min-height:56px;padding:var(--space-3) var(--space-4);justify-content:center;align-items:center;gap:var(--space-5);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.room-plan-legend>div{flex:1;min-width:260px}.room-plan-legend>div strong,.room-plan-legend>div span{display:block}.room-plan-legend>div strong{color:var(--color-text);font-size:var(--text-xs)}.room-plan-legend>div span{color:var(--color-text-muted);font-size:var(--text-2xs);line-height:var(--leading-relaxed);margin-top:2px}.room-plan-legend ul{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.room-plan-legend li{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.room-plan-legend li i{width:14px;height:14px;box-shadow:none;border:2px solid #0000;border-radius:50%;display:block}.room-plan-legend li i.available{border-color:var(--color-primary);background:#fff}.room-plan-legend li i.full{background:#fff0f0;border-color:#fbcfe8}.room-plan-legend li i.maintenance{background:#fffbeb;border-color:#fde68a}.room-plan-legend li i.closed{background:repeating-linear-gradient(135deg,#f8fafc 0 3px,#e2e8f0 3px 6px);border-color:#cbd5e1}.room-plan-legend li i.filtered{opacity:.6;background:#f1f5f9;border-color:#cbd5e1}.room-floor-tabs{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.floor-tab{padding:6px var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:relative}.floor-tab:hover{color:var(--color-text);background:var(--color-canvas)}.floor-tab.active{color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:color-mix(in srgb, var(--color-primary) 20%, transparent);font-weight:var(--weight-semibold)}.floor-tab-badge{background-color:var(--color-danger);border:2px solid var(--color-surface);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.room-floor-plan-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.floor-plan-section>header{justify-content:space-between;gap:var(--space-4)}.floor-plan-header-stats{align-items:center;gap:6px;margin-left:auto;display:flex}.room-floor-section>header .floor-plan-header-stats span{color:#4f6967;background:var(--color-surface);font-size:var(--text-2xs);font-weight:var(--weight-semibold);border:1px solid #d9e2e1;margin:0;padding:4px 8px}.floor-plan-canvas-vertical{max-width:900px;padding:var(--space-4);gap:var(--space-4);border-radius:var(--radius-lg);background-color:#f8f9f9;background-image:linear-gradient(#4a69660b 1px,#0000 1px),linear-gradient(90deg,#4a69660b 1px,#0000 1px);background-size:24px 24px;grid-template-columns:1fr 60px 1fr;min-height:500px;margin:0 auto;display:grid;box-shadow:0 4px 12px #00000005}.floor-plan-column{gap:var(--space-2);flex-direction:column;display:flex}.floor-plan-corridor-vertical{background:#eef1f1;border-left:1px solid #bfcac9;border-right:1px solid #bfcac9;justify-content:center;align-items:center;display:flex;position:relative}.floor-plan-corridor-vertical:after{content:"";border-left:1px dashed #aab8b7;position:absolute;top:0;bottom:0;left:50%}.floor-plan-corridor-label-vertical{z-index:2;color:#687b79;font-size:.55rem;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;background:#f8fafa;border:1px solid #c4cecd;padding:7px 2px;position:relative;transform:rotate(180deg)}@media (width<=768px){.floor-plan-canvas-vertical{gap:var(--space-3);grid-template-columns:1fr}.floor-plan-corridor-vertical{height:40px;margin:0 calc(-1 * var(--space-4));background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%);border:1px solid #0000000f;border-left:none;border-right:none}.floor-plan-corridor-vertical:after{border-top:1px dashed #00000026;border-left:none;inset:50% 0 auto}.floor-plan-corridor-label-vertical{writing-mode:horizontal-tb;padding:2px 12px;transform:none}}.floor-plan-canvas{padding:var(--space-4);gap:var(--space-4);background-color:#f8f9f9;background-image:linear-gradient(#4a69660b 1px,#0000 1px),linear-gradient(90deg,#4a69660b 1px,#0000 1px);background-size:24px 24px;display:grid}.floor-plan-segment{border:1px solid var(--color-border);background:#ffffffeb;min-width:0;position:relative;overflow:hidden}.floor-plan-segment>header{min-height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);background:#f4f6f6;border-bottom:1px solid #dfe5e4;display:flex}.floor-plan-segment>header strong{color:var(--color-text);font-size:var(--text-xs)}.floor-plan-segment>header span{color:var(--color-text-muted);font-size:var(--text-2xs)}.floor-plan-pairs{padding:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.floor-plan-pair{grid-template-rows:84px 38px 84px;min-width:0;display:grid}.floor-plan-room{align-items:center;gap:2px var(--space-2);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;text-align:left;background:#ffffffe6;flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;padding:10px;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid;position:relative;box-shadow:0 2px 8px #0000000a}.floor-plan-room.first{margin:0 4px 4px}.floor-plan-room.second{margin:4px 4px 0}.floor-plan-room:hover{z-index:2;border-color:var(--color-primary);transform:scale(1.02)translateY(-1px);box-shadow:0 8px 24px #00000014}.floor-plan-room:after,.floor-plan-room:before{display:none}.floor-plan-room.full{background:linear-gradient(135deg,#fff 0%,#fff0f0 100%);border-color:#fbcfe8}.floor-plan-room.maintenance{background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);border-color:#fde68a}.floor-plan-room.closed{border-left-color:var(--color-text-muted);background:repeating-linear-gradient(135deg, var(--color-canvas) 0 6px, #f1f1f3 6px 12px)}.floor-plan-room.filtered{opacity:.4;filter:grayscale(.8)}.floor-plan-room.drag-over-before{border-top:3px solid var(--color-primary);margin-top:-2px}.floor-plan-room.drag-over-after{border-bottom:3px solid var(--color-primary);margin-bottom:-2px}.floor-plan-room.filtered:hover{opacity:.48}.floor-plan-room-number{grid-row:1/span 2;min-width:0}.floor-plan-room-number small,.floor-plan-room-number strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.floor-plan-room-number small{color:var(--color-text-muted);font-size:.55rem;font-weight:var(--weight-bold);letter-spacing:.08em}.floor-plan-room-number strong{color:var(--color-text);font-size:var(--text-md);margin-top:1px;line-height:1.05}.floor-plan-room-occupancy{color:#56545e;font-size:var(--text-2xs);font-weight:var(--weight-semibold);justify-content:flex-end;align-items:center;gap:4px;display:flex}.floor-plan-room-status{color:var(--color-primary-dark);font-size:.625rem;font-weight:var(--weight-bold);text-align:right;white-space:nowrap}.floor-plan-room.full .floor-plan-room-status{color:#66636f}.floor-plan-room.maintenance .floor-plan-room-status{color:#846323}.floor-plan-room.closed .floor-plan-room-status{color:#6e6c76}.floor-plan-room-type{color:#4c6462;max-width:calc(100% - 12px);font-size:.5rem;font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;background:#edf4f3;padding:2px 4px;position:absolute;bottom:4px;right:5px;overflow:hidden}.floor-plan-corridor{background:#eef1f1;border-top:1px solid #bfcac9;border-bottom:1px solid #bfcac9;display:block;position:relative}.floor-plan-corridor:after{content:"";border-top:1px dashed #aab8b7;position:absolute;top:50%;left:0;right:0}.floor-plan-room-placeholder{background:#fafbfbb8;border:1px dashed #d9dede;margin:4px;display:block}.floor-plan-corridor-label{z-index:2;color:#687b79;font-size:.55rem;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;background:#f8fafa;border:1px solid #c4cecd;padding:2px 7px;position:absolute;top:calc(50% + 20px);left:50%;transform:translate(-50%,-50%)}.room-card-grid{padding:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.room-card{min-height:220px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;text-align:left;flex-direction:column;padding:0;display:flex;overflow:hidden}.room-card.full{border-top-color:#c9c8cf}.room-card.maintenance{border-top-color:#d9bd80}.room-card.closed{opacity:.78}.room-card-top{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid #efeff2;display:flex}.room-card-top>span small,.room-card-top>span strong{display:block}.room-card-top>span small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.08em}.room-card-top>span strong{color:var(--color-text);font-size:var(--text-lg)}.room-card-top em{color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:.625rem;font-style:normal;font-weight:var(--weight-bold);padding:3px 7px}.room-card.maintenance .room-card-top em{color:#7b612b;border-color:color-mix(in srgb, var(--color-warning) 20%, transparent);background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface))}.room-card.closed .room-card-top em{color:#696773;background:#f4f4f6;border-color:#d8d7dd}.room-card-capacity{padding:var(--space-3) var(--space-4) var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.room-card-capacity>span{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:var(--weight-semibold);display:flex}.room-card-capacity small{color:var(--color-text-muted);font-size:var(--text-xs)}.room-occupancy-track{height:4px;margin:0 var(--space-4);background:#ececef;overflow:hidden}.room-occupancy-track i{background:var(--color-primary);height:100%;display:block}.room-card-occupants{min-height:76px;padding:var(--space-3) var(--space-4);color:#5e5c67;font-size:var(--text-xs);flex-direction:column;gap:2px;display:flex}.room-card-occupants>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-card-occupants small{color:var(--color-primary-dark);font-weight:var(--weight-semibold);margin-top:2px}.room-card-footer{padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);background:#fcfcfc;border-top:1px solid #efeff2;justify-content:space-between;align-items:center;margin-top:auto;display:flex}.room-card-footer span:last-child{color:var(--color-primary-dark);font-weight:var(--weight-semibold)}.room-form-grid .panel-field label span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.room-detail-dialog{width:min(100%,760px)}.room-detail-tabs{min-height:52px;padding:0 var(--space-5);gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.room-detail-tabs button{align-items:center;gap:var(--space-2);min-height:52px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0;display:flex;position:relative}.room-detail-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.room-detail-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.room-detail-tabs button[aria-selected=true]:after{background:var(--color-primary)}.room-detail-panel{padding:var(--space-5)}.room-detail-status{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.room-detail-status>strong{color:var(--color-text);font-size:var(--text-sm);margin-left:auto}.room-status-badge{color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:4px 8px}.room-status-badge.maintenance{color:#7b612b;border-color:color-mix(in srgb, var(--color-warning) 20%, transparent);background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface))}.room-status-badge.closed{color:#696773;background:#f4f4f6;border-color:#d8d7dd}.room-assign-control{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface))}.room-assign-control>label{margin-bottom:var(--space-2);color:#504f59;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:block}.room-assign-control>div{gap:var(--space-2);display:flex}.room-assign-control select{min-width:0;height:42px;padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex:1}.room-assign-control button{height:42px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-weight:var(--weight-semibold);display:flex}.room-assign-control button:disabled,.room-assign-control select:disabled{cursor:not-allowed;opacity:.55}.room-assign-control>small{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:block}.room-occupant-list{border:1px solid var(--color-border)}.room-occupant-list>div:not(.room-empty-occupants){min-height:60px;padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.room-occupant-list>div:last-child{border-bottom:0}.room-occupant-list>div>span{align-items:center;gap:var(--space-3);min-width:0;display:flex}.room-occupant-list>div>span>span:first-child{width:34px;height:34px;color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:var(--text-xs);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.room-occupant-list strong,.room-occupant-list small{display:block}.room-occupant-list strong{color:var(--color-text);font-size:var(--text-sm)}.room-occupant-list small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.room-occupant-list>div>button{min-height:34px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-danger);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid #e0c0bc;flex:none;display:flex}.room-empty-occupants{min-height:150px;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.room-empty-occupants svg{margin-bottom:var(--space-2);color:var(--color-primary)}.room-empty-occupants span{margin-top:var(--space-1);font-size:var(--text-xs)}.room-settings-form{padding-bottom:0}.room-delete-zone{margin:var(--space-5) calc(-1 * var(--space-5)) 0;padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);background:color-mix(in srgb, var(--color-danger) 4%, var(--color-surface));border-top:1px solid #ead0cd;display:flex}.room-delete-zone>div:first-child strong,.room-delete-zone>div:first-child span{display:block}.room-delete-zone>div:first-child strong{color:var(--color-text);font-size:var(--text-sm)}.room-delete-zone>div:first-child span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.room-delete-zone>button{min-height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;display:flex}.room-delete-zone>button:disabled{cursor:not-allowed;opacity:.5}.room-delete-confirm{min-width:260px}.room-delete-confirm>label{margin-bottom:var(--space-1);color:#694743;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:block}.room-delete-confirm>input{width:100%;height:38px;padding:0 var(--space-2);color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface)}.room-delete-confirm>span{margin-top:var(--space-2);justify-content:flex-end;gap:var(--space-2);display:flex}.room-delete-confirm button{min-height:34px;padding:0 var(--space-2);align-items:center;gap:var(--space-1);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:flex}.room-delete-confirm button.danger{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.room-delete-confirm button:disabled{cursor:not-allowed;opacity:.5}.room-settings-actions{min-height:66px;margin:0 calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);justify-content:flex-end;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fcfcfc;display:flex}.room-settings-actions button{min-width:126px;height:40px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-weight:var(--weight-semibold)}.room-settings-actions button:first-child{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.room-settings-actions button:disabled{cursor:wait;opacity:.55}.room-detail-error{margin:0 var(--space-5) var(--space-4);padding:var(--space-3);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface));font-size:var(--text-xs)}.credentials-dialog-content{padding:var(--space-5)}.credentials-dialog-content>footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.credentials-dialog-content>footer button{min-width:126px;height:42px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.credentials-dialog-content>footer button:hover{background:var(--color-primary-dark)}.temporary-credentials-panel{min-width:0}.temporary-credentials-note{margin-bottom:var(--space-4);padding:var(--space-3);align-items:flex-start;gap:var(--space-3);color:var(--color-success);border-left:3px solid var(--color-primary);background:#f1f7f6;display:flex}.temporary-credentials-note svg{flex:none;margin-top:1px}.temporary-credentials-note p{font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:0}.temporary-credentials-panel dl{border:1px solid var(--color-border);background:var(--color-surface);margin:0}.temporary-credentials-panel dl>div{padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);grid-template-columns:132px minmax(0,1fr);display:grid}.temporary-credentials-panel dl>div+div{border-top:1px solid var(--color-border)}.temporary-credentials-panel dt{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.temporary-credentials-panel dd{align-items:center;gap:var(--space-2);min-width:0;margin:0;display:flex}.temporary-credentials-panel code{overflow-wrap:anywhere;min-width:0;color:var(--color-text);font:var(--weight-semibold) var(--text-sm)/var(--leading-normal) ui-monospace, SFMono-Regular, Consolas, monospace;flex:1}.temporary-credentials-panel dd button{width:34px;height:34px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex:none;place-items:center;display:grid}.temporary-credentials-panel dd button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.copy-all-credentials{width:100%;height:42px;margin-top:var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.copy-all-credentials:hover{background:var(--color-primary-dark)}.temporary-credentials-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--text-xs)}.panel-form-error{margin-top:var(--space-4);padding:var(--space-3);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface));font-size:var(--text-xs)}.panel-form footer{margin-top:var(--space-5);padding-top:var(--space-4);justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border);display:flex}.panel-form footer button{min-width:126px;height:42px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.panel-form footer button:hover{background:var(--color-primary-dark)}.panel-form footer button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.panel-form footer button.secondary:hover{background:#f8f8f9;border-color:#c9c8cf}.panel-form footer button:disabled{cursor:wait;opacity:.6}.panel-form footer button.danger{border-color:var(--color-danger);background:var(--color-danger)}.panel-form footer button.danger:hover:not(:disabled){background:#7f3e38;border-color:#7f3e38}.panel-form footer button.danger:disabled{cursor:not-allowed}.attendance-page-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.attendance-page-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.attendance-page-heading span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.attendance-view-tabs{min-height:44px;margin-bottom:var(--space-4);gap:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.attendance-view-tabs button{align-items:center;gap:var(--space-2);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0;display:flex;position:relative}.attendance-view-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.attendance-view-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.attendance-view-tabs button[aria-selected=true]:after{background:var(--color-primary)}.attendance-report-controls{min-height:68px;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.attendance-report-controls>div{border:1px solid var(--color-border);display:flex}.attendance-report-controls>div button{min-width:88px;height:36px;padding:0 var(--space-3);color:var(--color-text-muted);border:0;border-right:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.attendance-report-controls>div button:last-child{border-right:0}.attendance-report-controls>div button.active{color:var(--color-primary-dark);background:var(--color-primary-soft)}.attendance-report-controls>label>span{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;display:block}.attendance-report-controls input{height:36px;padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.attendance-report-controls>span{align-items:center;column-gap:var(--space-2);color:var(--color-primary-dark);grid-template-columns:auto 1fr;margin-left:auto;display:grid}.attendance-report-controls>span svg{grid-row:1/span 2}.attendance-report-controls>span strong,.attendance-report-controls>span small{display:block}.attendance-report-controls>span strong{font-size:var(--text-xs)}.attendance-report-controls>span small{color:var(--color-text-muted);font-size:var(--text-2xs)}.attendance-report-loading{min-height:280px;color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);place-items:center;display:grid}.attendance-report-summary{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.attendance-report-summary-card{min-height:98px;padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.attendance-report-summary-card>span{color:#6d6b75;background:var(--color-canvas);border:1px solid #e1e0e5;flex:none;place-items:center;width:36px;height:36px;display:grid}.attendance-report-summary-card.positive>span{color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:#c4d8d5}.attendance-report-summary-card.warning>span{color:#8a6b1f;background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface));border-color:#e3d4ad}.attendance-report-summary-card small,.attendance-report-summary-card strong,.attendance-report-summary-card p{display:block}.attendance-report-summary-card small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.attendance-report-summary-card strong{color:var(--color-text);font-size:var(--text-xl);margin-top:3px;line-height:1.05}.attendance-report-summary-card p{color:var(--color-text-muted);font-size:var(--text-2xs);margin:5px 0 0}.attendance-report-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-report-panel{border:1px solid var(--color-border);background:var(--color-surface);min-width:0}.attendance-report-panel:last-child,.attendance-report-daily{grid-column:1/-1}.attendance-report-panel>header{min-height:58px;padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));align-items:center;display:flex}.attendance-report-panel>header>div{align-items:center;gap:var(--space-3);color:var(--color-primary-dark);display:flex}.attendance-report-panel>header span,.attendance-report-panel>header strong,.attendance-report-panel>header small{display:block}.attendance-report-panel>header strong{color:var(--color-text);font-size:var(--text-sm)}.attendance-report-panel>header small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-report-table-wrap{overflow-x:auto}.attendance-report-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.attendance-report-table-wrap th{height:36px;padding:0 var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.attendance-report-table-wrap td{height:54px;padding:var(--space-2) var(--space-4);color:var(--color-text);font-size:var(--text-xs);border-bottom:1px solid #edecf0}.attendance-report-table-wrap tbody tr:last-child td{border-bottom:0}.attendance-report-table-wrap td strong,.attendance-report-table-wrap td small{display:block}.attendance-report-table-wrap td small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-report-table-wrap td>span{font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.attendance-report-table-wrap .report-complete{color:var(--color-primary-dark)}.attendance-report-table-wrap .report-incomplete{color:#946f19}.attendance-report-table-wrap td:last-child{text-align:right;width:72px}.attendance-report-table-wrap td button{min-height:30px;padding:0 var(--space-2);align-items:center;gap:var(--space-1);color:var(--color-primary-dark);border-radius:var(--radius-sm);background:var(--color-primary-soft);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);border:1px solid #c6d8d6;display:inline-flex}.report-row-complete{color:var(--color-primary)}.attendance-report-list,.attendance-risk-list,.attendance-comparison-list{min-height:230px}.attendance-report-list>button{width:100%;min-height:52px;padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-3);color:var(--color-text);background:var(--color-surface);cursor:pointer;text-align:left;border:0;border-bottom:1px solid #edecf0;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.attendance-report-list>button:hover{background:#fafcfc}.attendance-report-list>button:last-child{border-bottom:0}.attendance-report-list>button span,.attendance-report-list>button strong,.attendance-report-list>button small{display:block}.attendance-report-list>button strong{font-size:var(--text-xs)}.attendance-report-list>button small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-report-list>button em{color:#946f19;background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface));font-size:.625rem;font-style:normal;font-weight:var(--weight-bold);padding:3px 6px}.attendance-report-list>button em.draft{color:#725c26;background:#f6f1e4}.attendance-risk-list>div{min-height:58px;padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid #edecf0;grid-template-columns:32px minmax(0,1fr) auto;display:grid}.attendance-risk-list>div:last-child{border-bottom:0}.attendance-risk-avatar{color:#8c4942;width:32px;height:32px;font-size:.625rem;font-weight:var(--weight-bold);background:#fbf0ef;place-items:center;display:grid}.attendance-risk-list>div>span:nth-child(2) strong,.attendance-risk-list>div>span:nth-child(2) small,.attendance-risk-list>div>span:last-child strong,.attendance-risk-list>div>span:last-child small{display:block}.attendance-risk-list>div>span:nth-child(2) strong{color:var(--color-text);font-size:var(--text-xs)}.attendance-risk-list>div>span:nth-child(2) small,.attendance-risk-list>div>span:last-child small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-risk-list>div>span:last-child{text-align:right}.attendance-risk-list>div>span:last-child strong{color:#8c4942;font-size:var(--text-xs)}.attendance-comparison-summary{padding:var(--space-4);gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.attendance-comparison-summary>span{padding:var(--space-3);background:#f8f8f9}.attendance-comparison-summary small,.attendance-comparison-summary strong{display:block}.attendance-comparison-summary small{color:var(--color-text-muted);font-size:var(--text-2xs)}.attendance-comparison-summary strong{color:var(--color-text);font-size:var(--text-lg);margin-top:3px}.attendance-comparison-list{grid-template-columns:repeat(2,minmax(0,1fr));min-height:120px;display:grid}.attendance-comparison-list>div:not(.attendance-report-empty){min-height:58px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid #edecf0;border-right:1px solid #edecf0;display:flex}.attendance-comparison-list>div svg{color:#9a711d;flex:none}.attendance-comparison-list strong,.attendance-comparison-list small{display:block}.attendance-comparison-list strong{color:var(--color-text);font-size:var(--text-xs)}.attendance-comparison-list small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-report-empty{min-height:170px;padding:var(--space-5);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-primary);text-align:center;flex-direction:column;display:flex}.attendance-report-empty strong{color:var(--color-text);font-size:var(--text-sm)}.attendance-report-empty span{color:var(--color-text-muted);font-size:var(--text-xs)}.attendance-type-tabs{margin-bottom:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-type-tabs button{min-height:72px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);color:#696773;border:0;border-right:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;display:flex;position:relative}.attendance-type-tabs button:last-child{border-right:0}.attendance-type-tabs button:after{content:"";background:0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.attendance-type-tabs button:hover{color:var(--color-primary-dark);background:#fafcfc}.attendance-type-tabs button[aria-selected=true]{color:var(--color-primary-dark);background:var(--color-primary-soft)}.attendance-type-tabs button[aria-selected=true]:after{background:var(--color-primary)}.attendance-type-tabs button>svg{flex:none}.attendance-type-tabs button span,.attendance-type-tabs button strong,.attendance-type-tabs button small{display:block}.attendance-type-tabs button strong{color:inherit;font-size:var(--text-sm)}.attendance-type-tabs button small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);margin-top:2px}.attendance-context-bar{min-height:72px;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);align-items:flex-end;gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.attendance-context-bar>label{display:block}.attendance-context-bar>label>span{margin-bottom:var(--space-1);color:#62606b;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;display:block}.attendance-context-bar input,.attendance-context-bar select{min-width:170px;height:38px;padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.attendance-context-bar input:focus,.attendance-context-bar select:focus{border-color:var(--color-primary);outline-offset:0;outline:3px solid #3f74711a}.attendance-session-state{min-height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:#696773;border-left:3px solid var(--color-text-muted);background:var(--color-canvas);align-self:flex-end;margin-left:auto;display:flex}.attendance-session-state svg{flex:none}.attendance-session-state span,.attendance-session-state strong,.attendance-session-state small{display:block}.attendance-session-state strong{font-size:var(--text-xs)}.attendance-session-state small{color:var(--color-text-muted);font-size:var(--text-2xs)}.attendance-session-state.draft{color:#826827;background:#faf7ee;border-color:#b89542}.attendance-session-state.completed{color:#34635f;border-color:var(--color-primary);background:var(--color-primary-soft)}.attendance-history{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);display:flex;overflow:hidden}.attendance-history>span{align-items:center;gap:var(--space-2);color:#5e5c68;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;display:flex}.attendance-history>div{gap:var(--space-2);min-width:0;display:flex;overflow-x:auto}.attendance-history button{min-width:132px;min-height:48px;padding:var(--space-2) var(--space-3);column-gap:var(--space-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;text-align:left;grid-template-columns:1fr auto;display:grid}.attendance-history button:hover,.attendance-history button.active{background:var(--color-primary-soft);border-color:#a9c4c1}.attendance-history button strong{font-size:var(--text-xs)}.attendance-history button small{color:var(--color-text-muted);font-size:var(--text-2xs);grid-column:1}.attendance-history button i{color:#826827;font-size:.625rem;font-style:normal;font-weight:var(--weight-bold);grid-area:1/2/span 2;align-self:center}.attendance-history button i.completed{color:var(--color-primary-dark)}.attendance-notice,.attendance-error{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);border:1px solid}.attendance-notice{color:var(--color-success);border-color:var(--color-border);background:#f1f7f6}.attendance-error{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 20%, transparent);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.attendance-summary-grid{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.attendance-summary-card{min-height:82px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.attendance-summary-card>span{width:34px;height:34px;color:var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-canvas);border:1px solid #e5e4e9;flex:none;place-items:center;display:grid}.attendance-summary-card small,.attendance-summary-card strong{display:block}.attendance-summary-card small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.attendance-summary-card strong{color:var(--color-text);font-size:var(--text-lg);margin-top:2px;line-height:1}.attendance-summary-card.present>span{color:#35645f;background:#eef5f4;border-color:#c5d9d6}.attendance-summary-card.late>span{color:#8a6c20;background:#faf7ed;border-color:#e3d7b8}.attendance-summary-card.absent>span{color:#8c4942;border-color:color-mix(in srgb, var(--color-danger) 30%, transparent);background:#fbf0ef}.attendance-summary-card.excused>span{color:#526c88;background:#f2f5f8;border-color:#cfdae5}.attendance-summary-card.pending>span{color:#6f6d77;background:#f5f5f7;border-color:#dedde2}.attendance-state{min-height:260px;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-top:0;flex-direction:column;display:flex}.attendance-state svg{color:var(--color-primary)}.attendance-state strong{color:var(--color-text)}.attendance-groups{gap:var(--space-4);display:grid}.attendance-group{border:1px solid var(--color-border);background:var(--color-surface)}.attendance-group>header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));min-height:52px;padding:0}.attendance-group-toggle{width:100%;min-height:52px;padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.attendance-group-toggle:hover{background:#f6f8f7}.attendance-group-toggle>span{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.attendance-group-toggle>span:last-child{flex:none;align-items:center}.attendance-group-toggle svg{color:var(--color-text-muted);transition:transform .16s}.attendance-group-toggle.expanded svg{transform:rotate(180deg)}.attendance-table-wrap{overflow-x:auto}.attendance-group table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;min-width:900px}.attendance-group td{min-height:58px;padding:var(--space-2) var(--space-4);vertical-align:middle;border-bottom:1px solid #eeedf1}.attendance-group td:first-child{width:44%}.attendance-group td:last-child{width:56%}.attendance-group tbody tr:last-child td{border-bottom:0}.attendance-student{align-items:center;gap:var(--space-3);display:flex}.attendance-student>span:first-child{width:32px;height:32px;color:var(--color-primary-dark);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:.625rem;font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.attendance-student>span:last-child,.attendance-student strong,.attendance-student small{min-width:0;display:block}.attendance-student strong{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-student small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:1px}.attendance-status-buttons{align-items:center;gap:var(--space-1);display:flex}.attendance-status-buttons button{min-height:32px;padding:0 var(--space-2);justify-content:center;align-items:center;gap:var(--space-1);color:#6f6d78;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.attendance-status-buttons button:hover{color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:#b9cecc}.attendance-status-buttons button.active.present{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.attendance-status-buttons button.active.late{color:#775c18;background:#f8f1df;border-color:#d5c188}.attendance-status-buttons button.active.absent{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.attendance-status-buttons button.active.excused{color:#405d7c;background:#edf2f7;border-color:#b8c9da}.attendance-status-buttons button.reset{color:#8b8992;width:28px;padding:0}.attendance-status-buttons button:disabled{cursor:not-allowed;opacity:.55}.attendance-group td>input{width:100%;height:34px;padding:0 var(--space-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.attendance-group td>input:focus{border-color:var(--color-primary);outline-offset:0;outline:3px solid #3f74711a}.attendance-note-empty{color:var(--color-text-muted);font-size:var(--text-xs)}.attendance-save-bar{min-height:76px;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border:1px solid #d6d5db;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #2726320f}.attendance-save-bar>div:first-child strong,.attendance-save-bar>div:first-child span{display:block}.attendance-save-bar>div:first-child span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.attendance-save-bar>div:last-child{gap:var(--space-2);display:flex}.attendance-save-bar button{min-width:148px;height:40px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.attendance-save-bar button:hover{background:var(--color-primary-dark)}.attendance-save-bar button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.attendance-save-bar button.secondary:hover{background:#f8f8f9;border-color:#c9c8cf}.attendance-save-bar button:disabled{cursor:not-allowed;opacity:.5}.guests-page{width:min(100%,1360px);padding:var(--space-6)}.guests-page-heading{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.guests-page-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.guests-page-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.guests-page-heading span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.guests-page-heading>button{height:42px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:flex}.guests-page-heading>button:hover{background:var(--color-primary-dark)}.guests-notice{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-success);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#f1f7f6}.guest-summary-grid{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.guest-summary-card{min-height:82px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);display:flex}.guest-summary-card>span{width:34px;height:34px;color:var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-canvas);border:1px solid #e5e4e9;place-items:center;display:grid}.guest-summary-card.positive>span{color:#35645f;background:#eef5f4;border-color:#c5d9d6}.guest-summary-card small,.guest-summary-card strong{display:block}.guest-summary-card small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.guest-summary-card strong{color:var(--color-text);font-size:var(--text-lg);margin-top:2px;line-height:1}.guests-toolbar{min-height:64px;padding:0 var(--space-4);align-items:center;gap:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;display:flex}.guests-search{width:min(100%,400px);height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.guests-search:focus-within{border-color:var(--color-primary);outline:3px solid #3f74711a}.guests-search input{width:100%;color:var(--color-text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.guests-filter{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.guests-filter select{min-width:154px;height:40px;padding:0 var(--space-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.guests-result-count{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.guest-create-button{min-height:40px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.guest-create-button:hover{background:var(--color-primary-dark)}.guests-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);min-height:260px;overflow-x:auto}.guests-state,.guests-empty{min-height:260px;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.guests-state.error{color:var(--color-danger)}.guests-empty{text-align:center;flex-direction:column}.guests-empty svg{margin-bottom:var(--space-3);color:var(--color-primary)}.guests-empty strong{color:var(--color-text);font-size:var(--text-md)}.guests-empty span{margin-top:var(--space-2)}.guests-table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%;min-width:780px}.guests-table th:first-child{width:24%}.guests-table th:nth-child(2){width:12%}.guests-table th:nth-child(3){width:18%}.guests-table th:nth-child(4){width:16%}.guests-table th:nth-child(5){width:18%}.guests-table th:nth-child(6){width:12%}.guests-table th{height:44px;padding:0 var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-canvas);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase}.guests-table td{height:70px;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle}.guests-table tbody tr:last-child td{border-bottom:0}.guests-table tbody tr:hover{background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface))}.guests-table tbody tr.is-actionable{cursor:pointer;outline-offset:-3px}.guests-table tbody tr.is-actionable:focus-visible{outline:2px solid var(--color-primary)}.guests-table td strong,.guests-table td small{display:block}.guests-table td strong{color:var(--color-text);font-weight:var(--weight-semibold)}.guests-table td small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.guest-person{align-items:center;gap:var(--space-3);display:flex}.guest-person>span:first-child{width:34px;height:34px;color:var(--color-primary-dark);border-radius:var(--radius-sm);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.guest-person>span:last-child{min-width:0}.guest-person strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guests-table code{color:#5e5c68;font:var(--weight-medium) var(--text-xs)/var(--leading-normal) ui-monospace, SFMono-Regular, Consolas, monospace}.guest-phone{align-items:center;gap:var(--space-2);color:#5e5c68;display:inline-flex}.guest-phone svg{color:#719894}.guest-status{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.guest-status:before{content:"";background:var(--color-text-muted);border-radius:50%;width:7px;height:7px}.guest-status.active{color:var(--color-success)}.guest-status.active:before{background:var(--color-primary)}.guests-mobile-list{display:none}.guest-information-dialog{flex-direction:column;width:min(100%,760px);max-height:calc(100dvh - 40px);display:flex;overflow:hidden}.guest-information-form{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.guest-information-tabs{min-height:54px;padding:0 var(--space-5);gap:var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));display:flex}.guest-information-tabs button{align-items:center;gap:var(--space-2);min-height:54px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0;display:flex;position:relative}.guest-information-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.guest-information-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.guest-information-tabs button[aria-selected=true]:after{background:var(--color-primary)}.guest-information-panel{min-height:0;padding:var(--space-5);overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;overflow-y:auto}.guest-information-fields{min-width:0}.guest-information-fields+.guest-information-fields{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.guest-type-switch{margin-bottom:var(--space-5);border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guest-type-switch button{min-height:64px;padding:var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:0;border-right:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;display:flex;position:relative}.guest-type-switch button:last-child{border-right:0}.guest-type-switch button:after{content:"";background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.guest-type-switch button.selected{color:var(--color-primary-dark);background:var(--color-primary-soft)}.guest-type-switch button.selected:after{background:var(--color-primary)}.guest-type-switch button span,.guest-type-switch button strong,.guest-type-switch button small{display:block}.guest-type-switch button strong{color:inherit;font-size:var(--text-sm)}.guest-type-switch button small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.guest-tab-intro{margin-bottom:var(--space-5);padding:var(--space-3);align-items:flex-start;gap:var(--space-3);color:var(--color-success);border-left:3px solid var(--color-primary);background:#f1f7f6;display:flex}.guest-tab-intro svg{flex:none;margin-top:2px}.guest-tab-intro strong,.guest-tab-intro span{display:block}.guest-tab-intro strong{color:var(--color-text);font-size:var(--text-sm)}.guest-tab-intro span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.guest-information-dialog .panel-field label>span{margin-left:var(--space-1);color:#667a74;font-size:.58rem;font-weight:var(--weight-bold);letter-spacing:.03em;text-transform:uppercase;vertical-align:1px;background:#eef3f1;border-radius:999px;align-items:center;padding:2px 6px;display:inline-flex}.guest-room-allocation-editor{padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface)}.guest-room-allocation-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.guest-room-allocation-heading strong,.guest-room-allocation-heading span{display:block}.guest-room-allocation-heading>div strong{color:var(--color-text);font-size:var(--text-sm)}.guest-room-allocation-heading>div span{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.guest-room-allocation-heading>strong{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.guest-room-allocation-heading>strong.complete{color:var(--color-primary-dark)}.guest-room-allocation-heading>strong.over{color:#a23b3b}.guest-room-allocation-row{align-items:end;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 120px 30px;display:grid}.guest-room-allocation-row label{gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;display:grid}.guest-room-allocation-row select,.guest-room-allocation-row input{width:100%;min-height:40px;padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--text-sm);text-transform:none;letter-spacing:normal}.guest-room-allocation-row select:focus,.guest-room-allocation-row input:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 25%, transparent);border-color:var(--color-primary)}.guest-room-allocation-remove{width:30px;height:40px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:20px;line-height:1}.guest-room-allocation-remove:hover{color:#a23b3b;background:#fff8f8;border-color:#e2bcbc}.guest-room-allocation-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.guest-room-allocation-add{min-height:34px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-primary-dark);border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));border-radius:var(--radius-sm);background:var(--color-primary-soft);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.guest-room-allocation-add:disabled{cursor:not-allowed;opacity:.5}.guest-room-allocation-footer>span{color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.guest-information-form>footer{padding:var(--space-4) var(--space-5);justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface);flex:none;margin:0;display:flex;box-shadow:0 -8px 18px #16312a09}.guest-information-form>footer button{min-width:140px;height:42px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.guest-information-form>footer button:hover{background:var(--color-primary-dark)}.guest-information-form>footer button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}.guest-information-form>footer button.secondary:hover{background:#f8f8f9;border-color:#c9c8cf}.guest-information-form>footer button:disabled{cursor:wait;opacity:.55}.guest-active-control{padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;display:flex}.guest-active-control input{width:18px;height:18px;accent-color:var(--color-primary);margin:1px 0 0}.guest-active-control span,.guest-active-control strong,.guest-active-control small{display:block}.guest-active-control strong{color:var(--color-text);font-size:var(--text-sm)}.guest-active-control small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.guest-delete-section{margin-top:var(--space-5);padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);background:color-mix(in srgb, var(--color-danger) 4%, var(--color-surface));border:1px solid #e7cfcc;display:flex}.guest-delete-section>div:first-child strong,.guest-delete-section>div:first-child span{display:block}.guest-delete-section>div:first-child strong{color:var(--color-text);font-size:var(--text-sm)}.guest-delete-section>div:first-child span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.guest-delete-section>button{height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;display:inline-flex}.guest-delete-section>button:hover{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.guest-delete-confirm{min-width:260px}.guest-delete-confirm>label{margin-bottom:var(--space-2);color:#694743;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:block}.guest-delete-confirm>input{width:100%;height:36px;padding:0 var(--space-2);color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface)}.guest-delete-confirm>span{margin-top:var(--space-2);justify-content:flex-end;gap:var(--space-2);display:flex}.guest-delete-confirm button{min-height:34px;padding:0 var(--space-2);align-items:center;gap:var(--space-1);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.guest-delete-confirm button.danger{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.guest-delete-confirm button:disabled{cursor:not-allowed;opacity:.5}.guest-information-error{margin:0 var(--space-5) var(--space-4)}.dorm-detail-page{width:min(100%,1120px);padding:var(--space-6)}.dorm-detail-back{align-items:center;gap:var(--space-2);color:var(--color-primary-dark);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.dorm-detail-back:hover{color:var(--color-primary-dark);text-underline-offset:3px;text-decoration:underline}.dorm-detail-heading{margin:var(--space-5) 0;justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.dorm-detail-heading p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.dorm-detail-heading h2{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.dorm-detail-heading>div>span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.dorm-detail-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);display:grid}.dorm-detail-section{border:1px solid var(--color-border);background:var(--color-surface)}.dorm-detail-section>header{min-height:82px;padding:var(--space-4) var(--space-5);align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.dorm-detail-section>header>svg{color:var(--color-primary);margin-top:2px}.dorm-detail-section h3{color:var(--color-text);font-size:var(--text-md);margin:0}.dorm-detail-section header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.dorm-detail-list{padding:var(--space-5);gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.dorm-detail-list.single-column{grid-template-columns:1fr}.dorm-detail-list>div.wide{grid-column:1/-1}.dorm-detail-list dt{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.dorm-detail-list dd{color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.dorm-detail-list dd:has(>svg){align-items:center;gap:var(--space-2);display:flex}.dorm-detail-list dd>svg{color:var(--color-primary)}.dorm-manager-missing{padding:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.dorm-credential-access{padding:0 var(--space-5) var(--space-5)}.dorm-credential-access>p:not(.credentials-consumed){margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed)}.dorm-credential-access>button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;height:40px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:flex}.dorm-credential-access>button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.dorm-credential-access>button:disabled{cursor:wait;opacity:.6}.credentials-consumed{padding:var(--space-3);align-items:flex-start;gap:var(--space-2);color:var(--color-success);border-left:3px solid var(--color-primary);font-size:var(--text-xs);background:#f1f7f6;margin:0;display:flex}.credentials-consumed svg{flex:none}.dorm-delete-section{margin-top:var(--space-5);padding:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-5);background:color-mix(in srgb, var(--color-danger) 4%, var(--color-surface));border:1px solid #e7cfcc;display:flex}.dorm-delete-section h3{color:var(--color-text);font-size:var(--text-md);margin:0}.dorm-delete-section p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.dorm-delete-section>button{height:40px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:inline-flex}.dorm-delete-section>button:hover{color:#7f3e38;border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.dorm-detail-state{min-height:320px;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;flex-direction:column;display:flex}.dorm-detail-state strong{color:var(--color-text);font-size:var(--text-md)}.dorm-detail-state.error span{color:var(--color-danger)}.dorm-detail-state a{color:var(--color-primary);font-weight:var(--weight-semibold)}.delete-dorm-dialog{width:min(100%,560px)}.delete-dorm-warning{margin-bottom:var(--space-5);padding:var(--space-4);border-left:3px solid var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.delete-dorm-warning strong{color:var(--color-text);font-size:var(--text-sm)}.delete-dorm-warning p{margin:var(--space-2) 0 0;color:#68524f;font-size:var(--text-xs);line-height:var(--leading-relaxed)}@media (width<=1180px){.room-summary-grid,.room-card-grid,.attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.dashboard-grid{grid-template-columns:1fr}.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-toolbar{flex-wrap:wrap;align-items:stretch}.rooms-search{width:100%}.rooms-view-switch{margin-left:0}.rooms-toolbar>strong{align-self:center;margin-left:auto}.room-plan-legend{align-items:flex-start;gap:var(--space-3);flex-direction:column}.room-plan-legend>div{min-width:0}.room-plan-legend ul{flex-wrap:wrap}.attendance-report-grid{grid-template-columns:1fr}.attendance-report-panel,.attendance-report-panel:last-child,.attendance-report-daily{grid-column:auto}}@media (width<=980px){.admin-layout{display:block}.admin-sidebar{width:min(88vw,304px);transition:transform .2s;transform:translate(-105%);box-shadow:18px 0 45px #2348463d}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}.admin-brand>button{display:grid}.admin-backdrop{z-index:25;opacity:0;visibility:hidden;background:#1f3b396b;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.admin-backdrop.visible{opacity:1;visibility:visible}.admin-mobile-bar{min-height:60px;padding:0 var(--space-4);align-items:center;gap:var(--space-3);z-index:20;border-bottom:1px solid var(--color-border);background:#fffffff7;display:flex;position:sticky;top:0;box-shadow:0 5px 18px #2237360d}.admin-mobile-menu{flex:none;display:grid}.admin-mobile-bar>div{flex:1;min-width:0}.admin-mobile-bar>div span,.admin-mobile-bar>div strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-mobile-bar>div span{color:var(--color-text-muted);font-size:var(--text-2xs)}.admin-mobile-bar>div strong{color:var(--color-text);font-size:var(--text-sm)}.admin-mobile-avatar{display:grid}.admin-content{min-height:calc(100vh - 60px)}.dashboard-page{padding:var(--space-5) var(--space-4)}}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-brand-panel{min-height:220px;padding:28px}.login-brand>.corporate-logo{border-radius:var(--radius-md);width:68px;height:68px;padding:5px}.login-message{margin:auto 0 0}.login-message h1{font-size:2rem}.login-form-panel{place-items:start center;min-height:calc(100vh - 220px);padding:38px 24px}.admin-layout{display:block}.admin-sidebar{width:min(88vw,304px);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:18px 0 45px #2348463d}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}.admin-brand>button,.admin-mobile-menu{display:grid}.admin-backdrop{z-index:25;opacity:0;visibility:hidden;background:#1f3b396b;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.admin-backdrop.visible{opacity:1;visibility:visible}.admin-mobile-menu{z-index:auto;box-shadow:none;position:static;bottom:auto;right:auto}.admin-content{min-height:calc(100vh - 60px)}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics article{min-height:112px;padding:var(--space-3)}.dashboard-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-load-error{flex-wrap:wrap;align-items:flex-start}.dashboard-load-error button{width:100%}.profile-page{padding:var(--space-5) var(--space-4)}.profile-tabs{padding:0 var(--space-4);gap:var(--space-4)}.profile-tabs button{font-size:var(--text-xs)}.profile-tab-panel>header,.profile-tab-panel>form{padding:var(--space-4)}.profile-form-grid{grid-template-columns:1fr}.profile-form-actions{flex-direction:column-reverse}.profile-form-actions button{width:100%}.dorms-page{padding:var(--space-5) var(--space-4)}.dorms-page-heading{flex-direction:column;align-items:stretch}.dorms-page-heading>button{align-self:flex-start}.dorms-toolbar{padding:var(--space-3);align-items:stretch;gap:var(--space-2);flex-direction:column}.dorms-toolbar>div{width:100%}.dorms-toolbar>span{margin-left:0}.staff-page{padding:var(--space-5) var(--space-4)}.staff-overview{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.staff-overview article{min-height:80px;padding:var(--space-3)}.staff-overview article>span{width:34px;height:34px}.staff-overview strong{font-size:var(--text-lg)}.staff-toolbar{padding:var(--space-3);align-items:stretch;gap:var(--space-2);grid-template-columns:1fr 1fr}.staff-search-control,.staff-toolbar-count,.staff-clear-filters,.staff-toolbar>.staff-create-button{grid-column:1/-1}.staff-toolbar-count{align-self:center}.staff-toolbar>.staff-create-button{justify-content:center;width:100%}.staff-clear-filters{width:100%}.staff-table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}.staff-table{display:none}.staff-mobile-list{gap:var(--space-3);display:grid}.staff-mobile-list>article{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.staff-mobile-list>article>header{padding:var(--space-3);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 25%, var(--color-surface));grid-template-columns:38px minmax(0,1fr) auto;display:grid}.staff-mobile-list>article>header>span:first-child{width:38px;height:38px;color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.65rem;font-weight:var(--weight-bold);place-items:center;display:grid}.staff-mobile-list header div,.staff-mobile-list header strong,.staff-mobile-list header small{min-width:0;display:block}.staff-mobile-list header strong{color:var(--color-text);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-mobile-list header small{color:var(--color-text-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.staff-mobile-list dl{padding:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.staff-mobile-list dl div{min-width:0}.staff-mobile-list dt{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.staff-mobile-list dd{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.staff-mobile-list footer{padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-canvas)}.staff-mobile-list footer button{flex:1;min-width:0}.students-page{padding:var(--space-5) var(--space-4)}.students-toolbar{padding:var(--space-3);align-items:stretch;gap:var(--space-2);flex-direction:column}.students-search{width:100%}.students-filter{justify-content:space-between}.students-filter select{flex:1}.students-toolbar-count{margin-left:0}.students-pagination{padding:var(--space-3);align-items:stretch;gap:var(--space-3);flex-direction:column}.students-pagination>span{margin-right:0}.students-pagination>label,.students-pagination>div{justify-content:space-between}.students-table-wrap{background:0 0;border:0;min-height:0;overflow:visible}.students-table{min-width:0;display:block}.students-table thead{display:none}.students-table tbody{gap:var(--space-3);display:grid}.students-table tr{padding:var(--space-3);gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.students-table td{border:0;min-width:0;height:auto;padding:0;display:block}.students-table td:before{content:attr(data-label);margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;display:block}.students-table td[data-label=Öğrenci]{margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;padding:var(--space-3);border-bottom:1px solid var(--color-border);grid-column:1/-1}.students-table td[data-label=Öğrenci]:before{display:none}.students-table td[data-label=Seç]{z-index:1;top:var(--space-3);right:var(--space-3);position:absolute}.students-table td[data-label=Seç]:before{display:none}.students-table td[data-label=Seç]+td[data-label=Öğrenci]{padding-right:48px}.students-table td[data-label=İşlem]{grid-column:1/-1}.student-row-actions>button{width:100%}.student-removal-option{grid-template-columns:40px minmax(0,1fr)}.student-removal-option.recommended>button{grid-column:1/-1;justify-content:center}.student-removal-content{padding:var(--space-4)}.student-removal-content>footer{margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);flex-direction:column-reverse}.student-removal-content>footer button{width:100%}.student-information-tabs{padding:0 var(--space-4);gap:var(--space-4);overflow-x:auto}.student-information-panel{min-height:0;padding:var(--space-4)}.student-information-error{margin:0 var(--space-4) var(--space-4)}.student-information-form>footer{padding:var(--space-3) var(--space-4)}.student-transfer-dialog{max-height:none}.student-transfer-tabs{padding:0 var(--space-4)}.student-transfer-content{padding:var(--space-4)}.student-import-guide{align-items:stretch;gap:var(--space-3);flex-direction:column}.student-import-guide button{justify-content:center}.student-import-summary{padding:var(--space-3);align-items:flex-start;gap:var(--space-2);flex-direction:column}.student-export-options{grid-template-columns:1fr}.student-transfer-content>footer{margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);flex-direction:column-reverse}.student-transfer-content>footer button{width:100%}.rooms-page{padding:var(--space-5) var(--space-4)}.rooms-page-heading{flex-direction:column;align-items:stretch}.rooms-page-heading>button{align-self:flex-start}.room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-summary-card{min-height:96px;padding:var(--space-3)}.rooms-toolbar{padding:var(--space-3);flex-direction:column}.rooms-toolbar>label:not(.rooms-search){justify-content:space-between}.rooms-toolbar>label:not(.rooms-search) select{flex:1}.rooms-view-switch{width:100%}.rooms-view-switch button{flex:1;min-width:0}.rooms-toolbar>strong{align-self:flex-start;margin-left:0}.room-plan-legend{padding:var(--space-3)}.room-plan-legend ul{gap:var(--space-2) var(--space-3)}.floor-plan-section>header{flex-direction:column;align-items:flex-start}.floor-plan-header-stats{flex-wrap:wrap;width:100%;margin-left:0}.floor-plan-canvas{padding:var(--space-3);gap:var(--space-3)}.floor-plan-pairs{padding:var(--space-2);grid-template-columns:1fr}.floor-plan-pair{grid-template-rows:72px;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.floor-plan-room.first{grid-area:1/1;margin:3px 4px 3px 0}.floor-plan-corridor{border:0;border-left:1px solid #bfcac9;border-right:1px solid #bfcac9;grid-area:1/2}.floor-plan-corridor:after{border-top:0;border-left:1px dashed #aab8b7;inset:0 auto 0 50%}.floor-plan-room.second,.floor-plan-room-placeholder{grid-area:1/3;margin:3px 0 3px 4px}.floor-plan-room:after,.floor-plan-room:before{border:solid var(--color-primary);width:5px;height:16px;top:50%;bottom:auto;left:auto;transform:translateY(-50%)}.floor-plan-room.first:after{border-width:1px 1px 1px 0;right:-6px}.floor-plan-room.second:before{border-width:1px 0 1px 1px;left:-6px}.floor-plan-corridor-label{display:none}.room-card-grid{grid-template-columns:1fr}.room-detail-tabs{padding:0 var(--space-4)}.room-detail-panel{padding:var(--space-4)}.room-assign-control>div{flex-direction:column}.room-assign-control button{justify-content:center}.room-delete-zone{margin:var(--space-5) calc(-1 * var(--space-4)) 0;padding:var(--space-4);flex-direction:column;align-items:stretch}.room-delete-zone>button{justify-content:center}.room-delete-confirm{min-width:0}.room-settings-actions{margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4)}.room-settings-actions button{flex:1;min-width:0}.attendance-page{padding:var(--space-5) var(--space-4)}.attendance-view-tabs{gap:var(--space-4);overflow-x:auto}.attendance-view-tabs button{white-space:nowrap;flex:none}.attendance-report-controls{flex-direction:column;align-items:stretch}.attendance-report-controls>div{width:100%}.attendance-report-controls>div button{flex:1;min-width:0}.attendance-report-controls input{width:100%}.attendance-report-controls>span{margin-left:0}.attendance-report-summary{grid-template-columns:1fr}.attendance-comparison-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-comparison-list{grid-template-columns:1fr}.attendance-risk-list>div{grid-template-columns:32px minmax(0,1fr)}.attendance-risk-list>div>span:last-child{text-align:left;grid-column:2}.attendance-type-tabs{grid-template-columns:1fr}.attendance-type-tabs button{border-right:0;border-bottom:1px solid var(--color-border);min-height:62px}.attendance-type-tabs button:last-child{border-bottom:0}.attendance-context-bar{flex-direction:column;align-items:stretch}.attendance-context-bar input,.attendance-context-bar select{width:100%}.attendance-session-state{width:100%;margin-left:0}.attendance-history{flex-direction:column;align-items:stretch}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-card{padding:var(--space-3)}.attendance-group>header{padding:0}.attendance-group-toggle{padding:var(--space-3)}.attendance-save-bar{flex-direction:column;align-items:stretch}.attendance-save-bar>div:last-child{grid-template-columns:1fr 1fr;display:grid}.attendance-save-bar button{min-width:0}.guests-page{padding:var(--space-5) var(--space-4)}.guest-summary-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.guest-summary-card{min-height:76px;padding:var(--space-2);align-items:flex-start;gap:var(--space-2);flex-direction:column}.guest-summary-card>span{width:28px;height:28px}.guest-summary-card small{line-height:1.2}.guests-toolbar{padding:var(--space-3);align-items:stretch;gap:var(--space-2);flex-direction:column}.guests-search{width:100%}.guests-filter{justify-content:space-between}.guests-filter select{flex:1}.guests-result-count{margin-left:0}.guest-create-button{width:100%}.guests-table-wrap{background:0 0;border:0;overflow:visible}.guests-table{display:none}.guests-mobile-list{gap:var(--space-3);display:grid}.guest-mobile-card{width:100%;padding:var(--space-4);color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface);text-align:left;border-radius:.85rem;display:block;box-shadow:0 3px 14px #1a2f290b}button.guest-mobile-card{cursor:pointer}button.guest-mobile-card:focus-visible{border-color:var(--color-primary);outline-offset:1px;outline:3px solid #176b5a1f}.guest-mobile-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.guest-mobile-card-head .guest-person{min-width:0}.guest-mobile-card-head .guest-person>span:last-child,.guest-mobile-card-head strong,.guest-mobile-card-head small{min-width:0;display:block}.guest-mobile-card-head .guest-status{flex:none}.guest-mobile-stay{margin-top:var(--space-3);padding:var(--space-3);gap:var(--space-3);background:var(--color-canvas);border-radius:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guest-mobile-stay>span{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.guest-mobile-stay svg{color:var(--color-primary);flex:none;margin-top:2px}.guest-mobile-stay small,.guest-mobile-stay strong{min-width:0;display:block}.guest-mobile-stay small{color:var(--color-text-muted);font-size:.59rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.guest-mobile-stay strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.guest-mobile-contact{margin-top:var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.guest-mobile-contact svg{color:var(--color-primary);flex:none}.guest-mobile-contact small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-left:auto}.panel-dialog-backdrop:has(.guest-information-dialog){place-items:stretch stretch;padding:0}.guest-information-dialog{border-width:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.guest-information-dialog>header{min-height:68px;padding:var(--space-3) var(--space-4)}.guest-information-tabs{padding:0 var(--space-4);gap:var(--space-4);overflow-x:auto}.guest-information-tabs button{font-size:var(--text-xs);white-space:nowrap}.guest-type-switch{margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.guest-type-switch button{border-right:1px solid var(--color-border);border-bottom:0;min-height:58px}.guest-type-switch button:last-child{border-right:0}.guest-information-panel{min-height:0;padding:var(--space-4)}.guest-room-allocation-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 96px 30px}.guest-room-allocation-footer{flex-direction:column;align-items:flex-start}.guest-room-allocation-footer>span{text-align:left}.guest-information-form>footer{padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.guest-information-form>footer button{width:100%;min-width:0}.guest-information-error{margin:0 var(--space-4) var(--space-4)}.guest-delete-section{flex-direction:column;align-items:stretch}.guest-delete-section>button{justify-content:center}.guest-delete-confirm{min-width:0}.dorm-detail-page{padding:var(--space-5) var(--space-4)}.dorm-detail-heading{flex-direction:column;align-items:flex-start}.dorm-detail-grid,.dorm-detail-list{grid-template-columns:1fr}.dorm-detail-list>div.wide{grid-column:auto}.dorm-delete-section{flex-direction:column;align-items:stretch}.dorm-delete-section>button{justify-content:center}.panel-dialog-backdrop{padding:var(--space-3);place-items:start center}.panel-dialog>header,.panel-form,.credentials-dialog-content{padding:var(--space-4)}.temporary-credentials-panel dl>div{gap:var(--space-1);grid-template-columns:1fr}.credentials-dialog-content>footer button{width:100%}.panel-form-grid{grid-template-columns:1fr}.panel-field.wide{grid-column:auto}.panel-form footer{flex-direction:column-reverse}.panel-form footer button{width:100%}}.ui-page-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.ui-page-header__copy{min-width:0}.ui-page-header__copy>p{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.ui-page-header__copy>h1{color:var(--color-text);font:var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:0}.ui-page-header__copy>span{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:block}.ui-page-header>:not(.ui-page-header__copy){flex:none}.ui-inline-alert{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-normal);border:1px solid;display:flex}.ui-inline-alert__icon{flex:none;margin-top:1px}.ui-inline-alert__content{flex:1;min-width:0}.ui-inline-alert>button{color:currentColor;border-radius:var(--radius-sm);cursor:pointer;opacity:.72;background:0 0;border:0;flex:none;place-items:center;width:36px;height:36px;margin:-7px -9px -7px 0;padding:0;display:grid}.ui-inline-alert>button:hover{opacity:1;background:#0000000d}.ui-inline-alert--success{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 25%, transparent);background:#f1f7f3}.ui-inline-alert--error{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 20%, transparent);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.ui-inline-alert--warning{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface));border-color:#e7d9ad}.ui-inline-alert--info{color:var(--color-success);border-color:var(--color-border);background:#f1f7f6}.ui-collection-state{padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.ui-collection-state__icon{width:36px;height:36px;color:var(--color-primary);place-items:center;display:grid}.ui-collection-state__icon svg{margin:0}.ui-collection-state>strong{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.ui-collection-state>span:not(.ui-collection-state__icon){max-width:480px;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.ui-collection-state--error .ui-collection-state__icon,.ui-collection-state--error>strong{color:var(--color-danger)}.ui-collection-state__action{margin-top:var(--space-2)}.ui-collection-state__action button,.ui-collection-state__action a{min-height:38px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.attendance-report-loading.ui-collection-state{border:1px solid var(--color-border);background:var(--color-surface);min-height:220px}.attendance-command-bar{margin-bottom:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:minmax(280px,.72fr) minmax(570px,1.45fr);display:grid}.attendance-command-bar .attendance-type-tabs{border:0;border-right:1px solid var(--color-border);margin:0}.attendance-command-bar .attendance-type-tabs button{min-height:72px}.attendance-command-bar .attendance-type-tabs button[aria-pressed=true]{color:var(--color-primary-dark);background:var(--color-primary-soft)}.attendance-command-bar .attendance-type-tabs button[aria-pressed=true]:after{background:var(--color-primary)}.attendance-command-bar .attendance-type-tabs button:disabled{cursor:wait;opacity:.55}.attendance-command-bar .attendance-context-bar{border:0;min-width:0;margin:0}.attendance-date-field>span:not(.attendance-date-picker-value),.attendance-context-bar>label>span{margin-bottom:var(--space-1);color:#62606b;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;display:block}.attendance-date-field>div{border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:34px minmax(132px,1fr) 34px;height:38px;display:grid}.attendance-date-field button{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface));cursor:pointer;border:0;place-items:center;padding:0;display:grid}.attendance-date-field button:first-child{border-right:1px solid var(--color-border)}.attendance-date-field button:last-child{border-left:1px solid var(--color-border)}.attendance-date-field button:hover:not(:disabled){color:var(--color-primary-dark);background:var(--color-primary-soft)}.attendance-date-field button:disabled{cursor:not-allowed;opacity:.42}.attendance-context-bar .attendance-date-field input{width:100%;min-width:0;height:36px;padding:0 var(--space-2);border:0;outline:0}.attendance-context-bar input:disabled,.attendance-context-bar select:disabled{cursor:wait;opacity:.62}.attendance-session-state.loading{color:#536f6d;background:#f3f7f7;border-color:#8aabaa}.attendance-history{margin-bottom:var(--space-3);padding:0;display:block;overflow:hidden}.attendance-history>summary{min-height:48px;padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;list-style:none;display:flex}.attendance-history>summary::-webkit-details-marker{display:none}.attendance-history>summary>span{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.attendance-history>summary>span:first-child strong{font-size:var(--text-xs)}.attendance-history>summary svg{flex:none}.attendance-history>summary>span:last-child svg{transition:transform .16s}.attendance-history[open]>summary{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 30%, var(--color-surface))}.attendance-history[open]>summary>span:last-child svg{transform:rotate(180deg)}.attendance-history>div{padding:var(--space-3)}.attendance-history button:disabled{cursor:wait;opacity:.55}.attendance-notice .ui-inline-alert__content{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.attendance-schedule-note .ui-inline-alert__content{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.attendance-schedule-note span,.attendance-schedule-note strong,.attendance-schedule-note small{display:block}.attendance-schedule-note strong{color:var(--color-text);font-size:var(--text-xs)}.attendance-schedule-note small{color:currentColor;font-size:var(--text-2xs);margin-top:2px}.attendance-schedule-note a{color:currentColor;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-underline-offset:3px;flex:none}.attendance-undo-button{min-height:30px;padding:0 var(--space-2);align-items:center;gap:var(--space-1);color:var(--color-success);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid #abc9b8;flex:none;display:inline-flex}.attendance-readonly-note{min-height:56px;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);color:#52605f;background:#f4f4f6;border-left:3px solid #7c7a84;display:flex}.attendance-readonly-note>svg{flex:none}.attendance-readonly-note strong,.attendance-readonly-note small{display:block}.attendance-readonly-note strong{color:var(--color-text);font-size:var(--text-xs)}.attendance-readonly-note small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.attendance-overview{border:1px solid var(--color-border);background:var(--color-surface);margin-bottom:0}.attendance-progress-head{min-height:58px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:#fafbfb;grid-template-columns:auto minmax(180px,1fr) auto;display:grid}.attendance-progress-head>div:first-child span,.attendance-progress-head>div:first-child small{display:block}.attendance-progress-head>div:first-child span{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.attendance-progress-head>div:first-child span strong{font-size:var(--text-sm)}.attendance-progress-head>div:first-child small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:1px}.attendance-progress-track{background:#e5e9e9;height:7px;overflow:hidden}.attendance-progress-track i{background:var(--color-primary);height:100%;transition:width .18s;display:block}.attendance-progress-head>button{min-height:32px;padding:0 var(--space-2);align-items:center;gap:var(--space-1);color:var(--color-primary-dark);background:var(--color-surface);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);border:1px solid #bfd3d0;display:inline-flex}.attendance-progress-complete{align-items:center;gap:var(--space-1);color:var(--color-primary-dark);font-size:var(--text-2xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.attendance-overview .attendance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:0;margin:0;display:grid}.attendance-summary-card{min-height:62px;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text);border:0;border-right:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;display:flex}.attendance-summary-card:last-child{border-right:0}.attendance-summary-card:hover{background:#f8faf9}.attendance-summary-card[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--color-primary);background:var(--color-primary-soft)}.attendance-summary-card>span{width:auto;height:auto;color:inherit;background:0 0;border:0;display:block}.attendance-summary-card>span:first-child{width:30px;height:30px;color:var(--color-text-muted);background:var(--color-canvas);border:1px solid #e5e4e9;flex:none;place-items:center;display:grid}.attendance-summary-card>span:last-child{min-width:0}.attendance-summary-card.present>span:first-child{color:#35645f;background:#eef5f4;border-color:#c5d9d6}.attendance-summary-card.late>span:first-child{color:#8a6c20;background:#faf7ed;border-color:#e3d7b8}.attendance-summary-card.absent>span:first-child{color:#8c4942;border-color:color-mix(in srgb, var(--color-danger) 30%, transparent);background:#fbf0ef}.attendance-summary-card.excused>span:first-child{color:#526c88;background:#f2f5f8;border-color:#cfdae5}.attendance-summary-card.pending>span:first-child{color:#6f6d77;background:#f5f5f7;border-color:#dedde2}.attendance-state.standalone{border-top:1px solid var(--color-border);min-height:320px}.attendance-groups{gap:var(--space-3);scroll-margin-top:86px}.attendance-group>header{align-items:center;display:flex}.attendance-group-toggle{flex:1;width:auto}.attendance-table-wrap:focus-visible{outline-offset:-3px;outline:3px solid #3f747129}.attendance-row td:first-child{border-left:3px solid #0000}.attendance-row.present td:first-child{border-left-color:var(--color-primary)}.attendance-row.late td:first-child{border-left-color:#c29a43}.attendance-row.absent td:first-child{border-left-color:var(--color-danger)}.attendance-row.excused td:first-child{border-left-color:#6e8aa6}.attendance-row.pending td:first-child{border-left-color:#c7c6cc}.attendance-row.leave-default{background:#f8fafc}.attendance-leave-record{width:fit-content;margin-top:var(--space-2);padding:4px var(--space-2);color:#425f7a;background:#f2f6f9;border:1px solid #d3dfe9;align-items:center;gap:6px;display:inline-flex}.attendance-leave-record>svg{flex:none}.attendance-leave-record>span,.attendance-leave-record b,.attendance-leave-record small{display:block}.attendance-leave-record b{font-size:.65rem;line-height:1.15}.attendance-leave-record small{color:#5c7185;margin-top:1px;font-size:.625rem;line-height:1.25}.attendance-save-bar{padding-bottom:max(var(--space-3), env(safe-area-inset-bottom))}@media (width<=980px){.attendance-command-bar{grid-template-columns:1fr}.attendance-command-bar .attendance-type-tabs{border-right:0;border-bottom:1px solid var(--color-border)}}@media (width<=760px){.attendance-view-tabs{overflow:visible}.attendance-view-tabs button{min-width:0}.attendance-command-bar .attendance-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-command-bar .attendance-type-tabs button{min-height:56px;padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);border-bottom:0}.attendance-command-bar .attendance-type-tabs button:last-child{border-right:0}.attendance-command-bar .attendance-type-tabs button small{display:none}.attendance-command-bar .attendance-context-bar{padding:var(--space-3);align-items:end;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-context-bar .attendance-date-field input,.attendance-context-bar>label,.attendance-context-bar>label select{min-width:0}.attendance-session-state{grid-column:1/-1;width:auto;min-width:0;margin:0}.attendance-history>summary{padding:var(--space-3)}.attendance-history>summary>span:last-child{font-size:var(--text-2xs)}.attendance-history>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.attendance-history button{min-width:0}.attendance-notice .ui-inline-alert__content,.attendance-schedule-note .ui-inline-alert__content{flex-direction:column;align-items:flex-start}.attendance-progress-head{gap:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto}.attendance-progress-track{grid-area:2/1/auto/-1}.attendance-progress-head>button,.attendance-progress-complete{grid-area:1/2}.attendance-overview .attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-summary-card{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:0}.attendance-summary-card:nth-child(3n){border-right:0}.attendance-summary-card>span:first-child{width:28px;height:28px}.attendance-group>header{flex-direction:column;align-items:stretch}.attendance-group-toggle{width:100%}.attendance-table-wrap{overflow:visible}.attendance-group table{table-layout:auto;min-width:0;display:block}.attendance-group tbody{padding:var(--space-2);gap:var(--space-2);background:#f6f7f7;display:grid}.attendance-group tr{border:1px solid var(--color-border);background:var(--color-surface);border-left:3px solid #c7c6cc;grid-template-columns:1fr;display:grid}.attendance-group tr.present{border-left-color:var(--color-primary)}.attendance-group tr.late{border-left-color:#c29a43}.attendance-group tr.absent{border-left-color:var(--color-danger)}.attendance-group tr.excused{border-left-color:#6e8aa6}.attendance-group td{min-height:0;padding:var(--space-3);border:0;border-bottom:1px solid #eeedf1;display:block}.attendance-group td:last-child{border-bottom:0}.attendance-group td:before{content:attr(data-label);margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;display:block}.attendance-group td:first-child{border-left:0}.attendance-group td[data-label=Öğrenci]:before{display:none}.attendance-student>span:first-child{width:36px;height:36px}.attendance-student strong{font-size:var(--text-sm)}.attendance-status-buttons{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.attendance-status-buttons button{min-width:0;min-height:44px;padding:0 var(--space-1)}.attendance-status-buttons button.reset{width:auto}.attendance-group td>input{height:44px}.attendance-note-empty{align-items:center;min-height:32px;display:flex}.attendance-save-bar{bottom:0}.attendance-report-summary{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-summary-card{min-height:88px;padding:var(--space-3)}.attendance-report-table-wrap{overflow:visible}.attendance-report-table-wrap table{min-width:0;display:block}.attendance-report-table-wrap thead{display:none}.attendance-report-table-wrap tbody{padding:var(--space-3);gap:var(--space-3);background:#f7f8f8;display:grid}.attendance-report-table-wrap tr{padding:var(--space-3);gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-report-table-wrap td{border:0;height:auto;padding:0;display:block;text-align:left!important;width:auto!important}.attendance-report-table-wrap td:before{content:attr(data-label);margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;display:block}.attendance-report-table-wrap td[data-label=Tarih]{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);grid-column:1/-1}.attendance-report-table-wrap td[data-label=Tarih]:before{display:none}.ui-page-header{align-items:stretch;gap:var(--space-4);flex-direction:column}.ui-page-header>:not(.ui-page-header__copy){align-self:flex-start}.ui-inline-alert{padding:var(--space-3)}}@media (width<=460px){.dashboard-metrics,.dashboard-skeleton{grid-template-columns:1fr}.dashboard-panel>header,.dashboard-task-list article{padding-inline:var(--space-4)}.admin-mobile-bar{padding-inline:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-nav-section:last-child{margin-bottom:.25rem}.admin-nav-section p{color:color-mix(in srgb, var(--sidebar-text) 42%, transparent);letter-spacing:.12em;margin:0 .7rem .38rem;font-size:.58rem;font-weight:750}.student-detail-page-wrapper{width:100%;padding-bottom:4rem;position:relative}.student-detail-header{text-align:left;margin-bottom:2.5rem}.student-detail-header .back-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:9999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .2s;display:inline-flex}.student-detail-header .back-button:hover{color:var(--color-text);border-color:var(--color-text-muted);box-shadow:var(--shadow-md)}.student-detail-layout{z-index:5;flex-direction:column;gap:2rem;display:flex;position:relative}@media (width>=1024px){.student-detail-layout{flex-direction:row;align-items:flex-start;gap:3rem}}.student-detail-sidebar{flex:0 0 340px;width:100%}.student-detail-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;padding:2.5rem 2rem;display:flex}.student-avatar-large{background:var(--color-canvas);width:110px;height:110px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:2.75rem;font-weight:800;display:flex;box-shadow:0 4px 10px #00000005}.student-detail-card h3{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.student-detail-card .student-id{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:1.5rem;font-family:monospace}.student-status-badge{font-size:var(--text-xs);background:var(--color-surface);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--color-border);border-radius:9999px;align-items:center;margin-bottom:2rem;padding:.5rem 1.25rem;font-weight:700;display:inline-flex}.student-status-badge.active{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:var(--color-success);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-success) 20%, transparent)}.student-detail-meta{border-top:1px dashed var(--color-border);flex-direction:column;gap:1rem;width:100%;padding-top:2rem;display:flex}.student-meta-item{text-align:right;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.student-meta-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);align-items:center;gap:.5rem;display:flex}.student-meta-value{color:var(--text-primary);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.student-detail-main{flex:1;width:100%;min-width:0}@media (width<=1023px){.student-detail-main{padding-top:0}}.student-detail-tabs{scrollbar-width:none;border-bottom:1px solid var(--color-border);gap:1.5rem;margin-bottom:2rem;display:flex;overflow-x:auto}.student-detail-tabs button{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:1rem 0;transition:all .2s;display:flex}.student-detail-tabs button:hover{color:var(--text-primary);border-bottom-color:var(--color-border)}.student-detail-tabs button[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--weight-bold)}.student-detail-panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:3rem}.student-detail-panel form footer{border-top:1px solid var(--color-border);justify-content:flex-end;margin-top:3rem;padding-top:2rem;display:flex}.student-detail-panel form footer button[type=submit]{min-width:160px;height:48px;padding:0 var(--space-6);color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-bold);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 30%, transparent);border:none;transition:all .2s}.student-detail-panel form footer button[type=submit]:hover:not(:disabled){box-shadow:0 6px 16px color-mix(in srgb, var(--color-primary) 40%, transparent);transform:translateY(-2px)}.student-detail-panel form footer button[type=submit]:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.status-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid #0000;align-items:center;gap:.375rem;padding:.25rem .75rem;display:inline-flex}.status-badge .badge-dot{border-radius:50%;width:6px;height:6px}.status-badge.success{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 20%, transparent)}.status-badge.success .badge-dot{background:var(--color-success)}.status-badge.danger{background:color-mix(in srgb, var(--color-danger) 10%, transparent);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 20%, transparent)}.status-badge.danger .badge-dot{background:var(--color-danger)}.status-badge.warning{background:color-mix(in srgb, var(--color-warning) 10%, transparent);color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 20%, transparent)}.status-badge.warning .badge-dot{background:var(--color-warning)}.status-badge.neutral{background:var(--color-canvas);color:var(--color-text-muted);border-color:var(--color-border)}.status-badge.neutral .badge-dot{background:var(--color-text-muted)}.student-status-badge{font-size:var(--text-xs);background:var(--color-surface);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--color-border);border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1.25rem;font-weight:700;display:inline-flex}.student-status-badge .badge-dot{background:var(--color-text-muted);border-radius:50%;width:7px;height:7px}.student-status-badge.active{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 20%, transparent)}.student-status-badge.active .badge-dot{background:var(--color-success)}.student-detail-contact-summary{border-top:1px dashed var(--color-border);text-align:left;width:100%;margin-top:2rem;padding-top:1.5rem}.student-detail-contact-summary h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 1rem;font-weight:700}.contact-summary-item{color:var(--color-text);font-size:var(--text-sm);align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.contact-summary-item svg{color:var(--color-text-muted);flex-shrink:0}.form-section-header{text-align:left;margin-bottom:1.5rem}.form-section-header h3{color:var(--color-text);margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.form-section-header p{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.form-section-header.margin-top{margin-top:2.5rem}.badge-high-priority{background:color-mix(in srgb, var(--color-warning) 10%, transparent);color:var(--color-warning);font-size:var(--text-2xs);border-radius:var(--radius-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem;padding:.125rem .5rem}.badge-admin-only{background:color-mix(in srgb, var(--color-info) 10%, transparent);color:var(--color-info);font-size:var(--text-2xs);border-radius:var(--radius-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem;padding:.125rem .5rem}.active-control-container{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;margin-bottom:2.5rem;padding:1.25rem}.student-active-control{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:1rem;display:flex!important}.student-active-control input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-top:.125rem}.control-text{flex-direction:column;display:flex}.control-text strong{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.control-text small{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.125rem}.student-danger-zone{border:1px solid color-mix(in srgb, var(--color-danger) 25%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-danger) 2%, transparent);text-align:left;margin-top:3rem;overflow:hidden}.danger-zone-header{background:color-mix(in srgb, var(--color-danger) 6%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-danger) 15%, transparent);align-items:center;gap:.75rem;padding:1.25rem;display:flex}.danger-zone-header svg{color:var(--color-danger)}.danger-zone-header h4{font-size:var(--text-sm);color:var(--color-danger);margin:0;font-weight:700}.danger-zone-header p{font-size:var(--text-2xs);color:var(--color-text-muted);margin:0}.danger-zone-content{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}@media (width>=640px){.danger-zone-content{flex-direction:row;justify-content:space-between;align-items:center}}.danger-action-info{flex-direction:column;gap:.25rem;display:flex}.danger-action-info strong{font-size:var(--text-sm);color:var(--color-text)}.danger-action-info span{font-size:var(--text-xs);color:var(--color-text-muted)}.btn-danger-outline{border-radius:var(--radius-md);border:1px solid var(--color-danger);color:var(--color-danger);font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger-outline:hover{background:var(--color-danger);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--color-danger) 20%, transparent)}.student-delete-confirmation{flex-direction:column;gap:1rem;width:100%;display:flex}.confirm-label-row{flex-direction:column;gap:.5rem;display:flex}.confirm-label-row label{font-size:var(--text-sm);color:var(--color-text)}.confirm-label-row input{border:1px solid var(--color-danger);border-radius:var(--radius-md);letter-spacing:.1em;text-align:center;outline:none;max-width:250px;height:40px;padding:0 .75rem;font-weight:700}.confirm-label-row input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 15%, transparent)}.confirm-actions{gap:.75rem;display:flex}.btn-secondary{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);height:40px;color:var(--color-text);font-size:var(--text-sm);cursor:pointer;padding:0 1.25rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:var(--color-canvas);border-color:var(--color-text-muted)}.btn-danger-confirm{border-radius:var(--radius-md);background:var(--color-danger);color:#fff;height:40px;font-size:var(--text-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:0 1.25rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 90%, black);box-shadow:0 4px 12px color-mix(in srgb, var(--color-danger) 30%, transparent)}.btn-danger-confirm:disabled{opacity:.5;cursor:not-allowed}.student-empty-tab-state{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.student-empty-tab-state svg{color:var(--color-border);margin-bottom:1rem}.student-empty-tab-state p{font-size:var(--text-sm);margin:0;font-weight:500}.table-responsive{border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;overflow-x:auto}.table-responsive table{width:100%;margin:0}.table-responsive table th{background:var(--color-canvas);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:1rem 1.25rem;font-weight:700}.table-responsive table td{font-size:var(--text-sm);border-bottom:1px solid var(--color-border);padding:1.125rem 1.25rem}.table-responsive table tr:last-child td{border-bottom:none}.session-type-label{color:var(--color-text);font-weight:500}.datetime-display{text-align:left;flex-direction:column;display:flex}.datetime-display small{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:.125rem}.leave-type-tag{border-radius:var(--radius-sm);font-size:var(--text-xs);align-items:center;padding:.25rem .625rem;font-weight:600;display:inline-flex}.leave-type-tag.home{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary-dark)}.leave-type-tag.market{background:color-mix(in srgb, var(--color-info) 8%, transparent);color:var(--color-info)}.student-detail-page-wrapper{background:radial-gradient(circle at 78% 4%, #0f766e12, transparent 28rem), var(--color-canvas);min-height:100%;padding-bottom:0}.student-record-topbar{justify-content:space-between;align-items:center;gap:1rem;min-height:42px;margin-bottom:1.25rem;display:flex}.student-record-back,.student-record-edit,.student-record-cancel{cursor:pointer;border-radius:.7rem;justify-content:center;align-items:center;gap:.5rem;min-height:40px;font-size:.8rem;font-weight:700;display:inline-flex}.student-record-back{color:var(--color-text-muted);background:0 0;border:0;padding:0 .2rem}.student-record-back:hover{color:var(--color-primary-dark)}.student-record-edit{color:#fff;border:1px solid var(--color-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));padding:0 1rem;box-shadow:0 8px 18px #0f766e2e}.student-record-edit:hover{transform:translateY(-1px);box-shadow:0 12px 22px #0f766e3b}.student-record-cancel{color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);padding:0 1rem}.student-record-cancel:hover{color:var(--color-danger);background:#fff8fa;border-color:#f0b9c5}.student-record-alerts{margin-bottom:1rem}.student-record-alerts .ui-inline-alert{margin-bottom:.5rem}.student-record-alerts .ui-inline-alert:last-child{margin-bottom:0}.student-profile-hero{color:#fff;background:linear-gradient(120deg,#0b3f3c 0%,#0f766e 56%,#0d9488 100%);border:1px solid #ffffff1f;border-radius:1.45rem;justify-content:space-between;align-items:center;gap:1.5rem;min-height:176px;padding:1.35rem 1.6rem;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 34px #0f47442e}.student-profile-hero:after{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-230px;right:-100px;box-shadow:0 0 0 38px #ffffff09,0 0 0 76px #ffffff06}.student-profile-hero__identity,.student-profile-summary{z-index:1;position:relative}.student-profile-hero__identity{align-items:center;gap:1.25rem;min-width:0;display:flex}.student-profile-hero .student-avatar-large{color:#d7fffa;letter-spacing:.04em;background:#ffffff21;border:1px solid #ffffff52;border-radius:1.1rem;flex:none;width:78px;height:78px;margin:0;font-size:1.45rem;box-shadow:0 12px 24px #0000001f}.student-profile-hero__copy{min-width:0}.student-record-eyebrow{color:#9fe5dd;letter-spacing:.13em;font-size:.64rem;font-weight:800;display:block}.student-record-eyebrow__dot{color:#ffffff6b;padding:0 .35rem}.student-profile-hero h1{color:#fff;font:700 clamp(1.7rem, 3vw, 2.45rem)/1.1 var(--font-heading);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:.45rem 0 .35rem;overflow:hidden}.student-profile-hero__copy>p{color:#e8fffcc2;align-items:center;gap:.45rem;margin:0;font-size:.78rem;display:flex}.student-profile-badges{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;display:flex}.student-record-status,.student-record-private{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.4rem;min-height:27px;padding:0 .62rem;font-size:.67rem;font-weight:800;display:inline-flex}.student-record-status{color:#d6fff3;background:#10b9812e;border:1px solid #a7f3d047}.student-record-status>span{background:#6ee7b7;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #6ee7b724}.student-record-status.inactive>span{box-shadow:none;background:#94a3b8}.student-record-private{color:#ecfdf5c2;background:#ffffff14;border:1px solid #ffffff26}.student-profile-summary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0324222e;border:1px solid #ffffff24;border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(100%,390px);display:grid}.student-summary-stat{align-items:flex-start;gap:.55rem;min-width:0;padding:.75rem;display:flex}.student-summary-stat+.student-summary-stat{border-left:1px solid #ffffff1f}.student-summary-stat__icon{color:#a7f3d0;background:#a7f3d01a;border:1px solid #a7f3d02e;border-radius:.55rem;flex:none;place-items:center;width:30px;height:30px;display:grid}.student-summary-stat div,.student-summary-stat span,.student-summary-stat strong{min-width:0;display:block}.student-summary-stat div{padding-top:.04rem}.student-summary-stat div>span{color:#e8fffc9e;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:700}.student-summary-stat strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.76rem;font-weight:700;overflow:hidden}.student-record-workspace{margin-top:1.4rem}.student-detail-tabs{scrollbar-width:none;border:1px solid var(--color-border);background:#ffffffb8;border-radius:.95rem;gap:.35rem;min-height:58px;margin-bottom:1rem;padding:.4rem;display:flex;overflow-x:auto;box-shadow:0 5px 18px #0f172a08}.student-detail-tabs::-webkit-scrollbar{display:none}.student-detail-tabs button{min-height:44px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.65rem;flex:none;justify-content:center;align-items:center;gap:.48rem;margin:0;padding:0 .9rem;font-size:.76rem;font-weight:700;display:inline-flex}.student-detail-tabs button:after{display:none}.student-detail-panel{border:1px solid var(--color-border);background:#ffffffe0;border-radius:1.2rem;min-height:520px;padding:0;overflow:hidden;box-shadow:0 12px 30px #0f172a0d}.student-panel-header{border-bottom:1px solid var(--color-border);background:linear-gradient(#f8fafceb,#ffffffb8);justify-content:space-between;align-items:flex-start;gap:1rem;min-height:112px;padding:1.55rem 1.75rem;display:flex}.student-panel-header>div>span,.student-detail-section__header>div>span{color:var(--color-primary);letter-spacing:.13em;font-size:.62rem;font-weight:800;display:block}.student-panel-header h2{color:var(--color-text);font:700 1.18rem/1.2 var(--font-heading);letter-spacing:-.025em;margin:.35rem 0 .25rem}.student-panel-header p{color:var(--color-text-muted);margin:0;font-size:.78rem}.student-editing-indicator{min-height:29px;color:var(--color-primary-dark);background:#effcf9;border:1px solid #bce3df;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:0 .65rem;font-size:.65rem;font-weight:800;display:inline-flex}.student-overview-stack{gap:1rem;display:grid}.student-detail-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.95rem;overflow:hidden}.student-detail-section__header{border-bottom:1px solid var(--color-border);background:#fbfcfd;align-items:center;min-height:86px;padding:1.2rem 1.35rem;display:flex}.student-detail-section__header h3{color:var(--color-text);font:700 1rem/1.2 var(--font-heading);letter-spacing:-.02em;margin:.32rem 0 .18rem}.student-detail-section__header p{color:var(--color-text-muted);margin:0;font-size:.73rem}.student-readonly-grid{background:var(--color-border);border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1.35rem;display:grid;overflow:hidden}.student-readonly-field{background:var(--color-surface);min-width:0;padding:1rem 1.1rem}.student-readonly-field.wide{grid-column:1/-1}.student-readonly-field dt{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.66rem;font-weight:800;display:flex}.student-readonly-field dd{overflow-wrap:anywhere;color:var(--color-text);margin:.5rem 0 0;font-size:.88rem;font-weight:700}.student-readonly-note{color:#426b68;background:#f1f9f7;border:1px solid #cce4e1;border-radius:.8rem;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;font-size:.72rem;line-height:1.55;display:flex}.student-readonly-note svg{color:var(--color-primary);flex:none;margin-top:.1rem}.student-readonly-note strong{color:var(--color-primary-dark)}.student-readonly-note--info{color:#506987;background:#f4f8fc;border-color:#d5e1ef}.student-readonly-note--info svg{color:#5b87b2}.student-placement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:1.35rem;display:grid}.student-placement-card{border:1px solid var(--color-border);background:linear-gradient(145deg,#fff,#f8fbfb);border-radius:.8rem;align-items:flex-start;gap:.8rem;min-width:0;padding:1.1rem;display:flex}.student-placement-card__icon{width:42px;height:42px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #c8e4e0;border-radius:.7rem;flex:none;place-items:center;display:grid}.student-placement-card div,.student-placement-card span,.student-placement-card strong,.student-placement-card small{display:block}.student-placement-card div{min-width:0}.student-placement-card div>span{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.67rem;font-weight:800}.student-placement-card strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin-top:.35rem;font-size:.95rem;overflow:hidden}.student-placement-card small{color:var(--color-text-muted);margin-top:.28rem;font-size:.7rem}.student-status-overview{background:#f4fbf7;border:1px solid #cbe6d9;border-radius:.8rem;align-items:center;gap:.8rem;margin:1.35rem 1.35rem 0;padding:1rem;display:flex}.student-status-overview__icon{color:#66809a;background:#f2f6fa;border:1px solid #d9e2ec;border-radius:.65rem;flex:none;place-items:center;width:38px;height:38px;display:grid}.student-status-overview__icon.active{color:var(--color-success);background:#e9faf1;border-color:#bce7d2}.student-status-overview div,.student-status-overview span,.student-status-overview strong,.student-status-overview small{display:block}.student-status-overview div{min-width:0}.student-status-overview div>span{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:800}.student-status-overview strong{color:var(--color-text);margin-top:.22rem;font-size:.88rem}.student-status-overview small{color:var(--color-text-muted);margin-top:.18rem;font-size:.72rem}.student-notes-card{border:1px solid var(--color-border);background:#fff;border-radius:.8rem;margin:.9rem 1.35rem 1.35rem;padding:1rem}.student-notes-card>div{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.66rem;font-weight:800;display:flex}.student-notes-card>div svg{color:var(--color-primary)}.student-notes-card p{min-height:34px;color:var(--color-text);white-space:pre-wrap;margin:.7rem 0 0;font-size:.82rem;line-height:1.65}.student-notes-card--standalone{flex-direction:column;justify-content:space-between;min-height:190px;display:flex}.student-edit-form{min-width:0}.student-edit-group+.student-edit-group{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.75rem}.student-edit-group__heading{align-items:flex-start;gap:.75rem;margin-bottom:1.1rem;display:flex}.student-edit-group__heading>span{width:27px;height:27px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #bfe0dd;border-radius:.55rem;flex:none;place-items:center;font-size:.65rem;font-weight:800;display:grid}.student-edit-group__heading h3{color:var(--color-text);font:700 .95rem/1.2 var(--font-heading);margin:.02rem 0 .2rem}.student-edit-group__heading p{color:var(--color-text-muted);margin:0;font-size:.72rem}.student-edit-form .panel-field{margin-bottom:0}.student-edit-form .panel-field label{color:var(--color-text);font-size:.75rem}.student-edit-form .panel-field input,.student-edit-form .panel-field textarea,.student-edit-form .panel-field select{border-radius:.7rem}.student-edit-form .panel-field input,.student-edit-form .panel-field select{height:44px}.student-edit-form .panel-field input[readonly]{color:var(--color-text-muted);background:#f8fafc}.student-edit-form .panel-field textarea{min-height:132px}.student-edit-form .student-active-control{border:1px solid var(--color-border);background:#fbfcfd;border-radius:.8rem;align-items:flex-start;gap:.7rem;margin-top:1rem;padding:1rem}.student-edit-form .student-active-control input{width:17px;height:17px;accent-color:var(--color-primary);flex:none;margin:.1rem 0 0}.student-edit-form .student-active-control>span{min-width:0}.student-edit-form .student-active-control strong,.student-edit-form .student-active-control small{display:block}.student-edit-form .student-active-control strong{color:var(--color-text);font-size:.78rem}.student-edit-form .student-active-control small{color:var(--color-text-muted);margin-top:.2rem;font-size:.7rem}.student-detail-panel .student-edit-actions{border-top:1px solid var(--color-border);background:#fbfcfd;justify-content:flex-end;align-items:center;gap:.65rem;min-height:66px;margin:1.75rem -1.75rem -1.75rem;padding:.8rem 1.75rem;display:flex}.student-detail-panel .student-edit-actions button{cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.45rem;min-width:0;min-height:40px;padding:0 1rem;font-size:.76rem;font-weight:800;display:inline-flex}.student-detail-panel .student-edit-actions__cancel{color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface)}.student-detail-panel .student-edit-actions__cancel:hover{color:var(--color-text);background:#f8fafc}.student-detail-panel .student-edit-actions__save{color:#fff;border:1px solid var(--color-primary);background:var(--color-primary);box-shadow:0 6px 14px #0f766e29}.student-detail-panel .student-edit-actions__save:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.student-detail-panel .student-edit-actions button:disabled{cursor:not-allowed;opacity:.55}.student-danger-zone{border-radius:.95rem;margin-top:0}.danger-zone-header{padding:1rem 1.2rem}.danger-zone-content{gap:1rem;padding:1.15rem 1.2rem}.danger-action-info span{line-height:1.45}.student-record-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:2.5rem 1.5rem;display:flex}.student-record-empty>span{width:52px;height:52px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #cbe4e1;border-radius:1rem;place-items:center;margin-bottom:1rem;display:grid}.student-record-empty strong{color:var(--color-text);font-size:.9rem}.student-record-empty p{max-width:340px;color:var(--color-text-muted);margin:.4rem 0 0;font-size:.74rem}.student-activity-timeline{gap:.7rem;display:grid}.student-activity-timeline article{background:#fff;border:1px solid #dce5e1;border-radius:.8rem;grid-template-columns:66px minmax(0,1fr);gap:.9rem;padding:.9rem 1rem;display:grid}.student-activity-timeline time{text-align:center;border-right:1px solid #e4ebe8;align-content:start;padding-right:.8rem;display:grid}.student-activity-timeline time strong{color:#176959;font-size:1.25rem}.student-activity-timeline time span{color:#81918c;font-size:.55rem}.student-activity-timeline article>div>span{color:#a06d24;text-transform:uppercase;font-size:.53rem;font-weight:800}.student-activity-timeline h3{color:#193d34;margin:.25rem 0;font-size:.82rem}.student-activity-timeline p{color:#748680;align-items:center;gap:.3rem;margin:0;font-size:.6rem;display:flex}.student-activity-timeline blockquote{color:#506861;background:#faf7ef;border-left:2px solid #bd8a3d;margin:.6rem 0 0;padding:.55rem .65rem;font-size:.61rem;line-height:1.5}.student-history-table-wrap{border:1px solid var(--color-border);border-radius:.9rem;overflow-x:auto}.student-history-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.student-history-table th{height:42px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);letter-spacing:.08em;text-transform:uppercase;background:#f8fafc;padding:0 1rem;font-size:.62rem;font-weight:800}.student-history-table td{min-height:62px;color:var(--color-text-muted);vertical-align:middle;border-bottom:1px solid #edf1f4;padding:.8rem 1rem;font-size:.76rem}.student-history-table tr:last-child td{border-bottom:0}.student-history-table tbody tr:hover{background:#fbfefd}.student-history-table td strong,.student-history-table td small{display:block}.student-history-table td strong{color:var(--color-text);font-weight:700}.student-history-table td small{color:var(--color-text-muted);margin-top:.18rem;font-size:.66rem}.student-history-muted{color:var(--color-text-muted)}.student-history-table .status-badge{white-space:nowrap}.student-summary-stat__icon,.student-placement-card__icon,.student-status-overview__icon,.student-record-empty>span{place-items:center;line-height:0;display:grid!important}.student-summary-stat__icon svg,.student-placement-card__icon svg,.student-status-overview__icon svg,.student-record-empty>span svg{display:block;position:static;margin:0!important}.student-status-page{gap:1rem;display:grid}.student-status-card{background:linear-gradient(135deg,#f6fcf8 0%,#ebf8f1 100%);border:1px solid #c8e7d7;border-radius:.95rem;justify-content:space-between;align-items:center;gap:1rem;min-height:124px;padding:1.25rem 1.35rem;display:flex}.student-status-card.inactive{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-color:#d8e1eb}.student-status-card__main{align-items:center;gap:.85rem;min-width:0;display:flex}.student-status-card__icon{background:#dcfce7;border:1px solid #b7e3cb;border-radius:.85rem;flex:none;place-items:center;width:50px;height:50px;line-height:0;display:grid}.student-status-card__icon.active{color:#059669}.student-status-card__icon.inactive{color:#64748b;background:#e8eef5;border-color:#d8e1eb}.student-status-card__icon svg{margin:0;display:block}.student-status-card__copy{min-width:0}.student-status-card__eyebrow{color:#568375;letter-spacing:.13em;font-size:.61rem;font-weight:800;display:block}.student-status-card.inactive .student-status-card__eyebrow{color:#718096}.student-status-card h3{color:var(--color-text);font:700 1.2rem/1.2 var(--font-heading);letter-spacing:-.025em;margin:.27rem 0 .18rem}.student-status-card p{color:var(--color-text-muted);margin:0;font-size:.74rem;line-height:1.45}.student-status-card__badge{color:#047857;background:#dcfce7c7;border:1px solid #b7e3cb;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:29px;padding:0 .7rem;font-size:.67rem;font-weight:800;display:inline-flex}.student-status-card__badge.inactive{color:#64748b;background:#e2e8f0b8;border-color:#d3dde8}.student-status-effects{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.95rem;overflow:hidden}.student-status-effects__header{border-bottom:1px solid var(--color-border);background:#fbfcfd;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:1.05rem 1.25rem;display:flex}.student-status-effects__header>div>span{color:var(--color-primary);letter-spacing:.13em;font-size:.61rem;font-weight:800;display:block}.student-status-effects__header h3{color:var(--color-text);font:700 1rem/1.2 var(--font-heading);letter-spacing:-.02em;margin:.3rem 0 0}.student-status-effects__hint{min-height:27px;color:var(--color-text-muted);border:1px solid var(--color-border);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.65rem;font-weight:700;display:inline-flex}.student-status-effects__hint svg{color:var(--color-primary)}.student-status-effects__grid{background:var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.student-status-effect{background:var(--color-surface);align-items:flex-start;gap:.7rem;min-width:0;padding:1.1rem 1.2rem;display:flex}.student-status-effect__icon{color:#64748b;background:#f2f6fa;border:1px solid #d8e1eb;border-radius:.65rem;flex:none;place-items:center;width:34px;height:34px;line-height:0;display:grid}.student-status-effect__icon.active{color:#059669;background:#e9faf1;border-color:#bce7d2}.student-status-effect__icon svg{margin:0;display:block}.student-status-effect>div{min-width:0}.student-status-effect>div>span,.student-status-effect strong,.student-status-effect small{display:block}.student-status-effect>div>span{color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:800}.student-status-effect strong{color:var(--color-text);margin-top:.25rem;font-size:.86rem}.student-status-effect small{color:var(--color-text-muted);margin-top:.18rem;font-size:.69rem;line-height:1.4}.student-note-add-button,.student-note-save-button,.student-note-cancel-button{cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.42rem;min-height:38px;padding:0 .85rem;font-size:.73rem;font-weight:800;display:inline-flex}.student-note-add-button,.student-note-save-button{color:#fff;border:1px solid var(--color-primary);background:var(--color-primary);box-shadow:0 5px 12px #0f766e24}.student-note-add-button:hover,.student-note-save-button:hover:not(:disabled){background:var(--color-primary-dark)}.student-note-composer{background:linear-gradient(145deg,#f8fffd,#f0faf8);border:1px solid #bfe0dd;border-radius:.85rem;margin-top:1rem;padding:1rem}.student-note-composer__header,.student-note-composer__footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.student-note-composer__header{margin-bottom:.9rem}.student-note-composer__header div,.student-note-composer__header div>span,.student-note-composer__header strong{display:block}.student-note-composer__header div>span{color:var(--color-primary);letter-spacing:.12em;font-size:.61rem;font-weight:800}.student-note-composer__header strong{color:var(--color-text);margin-top:.28rem;font-size:.86rem}.student-note-composer__header>span{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.67rem}.student-note-composer>label{color:var(--color-text);margin-bottom:.4rem;font-size:.72rem;font-weight:800;display:block}.student-note-composer>label .badge-admin-only{margin-left:.35rem}.student-note-composer input{width:100%;height:42px;color:var(--color-text);font:inherit;background:#fff;border:1px solid #c9dfdd;border-radius:.7rem;outline:none;margin-bottom:.8rem;padding:0 .9rem;font-size:.78rem}.student-note-composer input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0f766e1a}.student-note-composer textarea{resize:vertical;width:100%;min-height:122px;color:var(--color-text);font:inherit;background:#fff;border:1px solid #c9dfdd;border-radius:.7rem;outline:none;padding:.8rem .9rem;font-size:.78rem;line-height:1.55}.student-note-composer textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0f766e1a}.student-note-composer__footer{align-items:flex-end;margin-top:.75rem}.student-note-composer__footer>span{color:var(--color-text-muted);font-size:.67rem;line-height:1.4}.student-note-composer__footer>div{flex:none;gap:.5rem;display:flex}.student-note-cancel-button{color:var(--color-text-muted);border:1px solid var(--color-border);background:#fff}.student-note-cancel-button:hover{color:var(--color-text);background:#f8fafc}.student-note-save-button:disabled,.student-note-cancel-button:disabled{cursor:not-allowed;opacity:.55}.student-note-delete-button{color:#b45363;cursor:pointer;background:#fff8f9;border:1px solid #f0cfd5;border-radius:.55rem;place-items:center;width:30px;height:30px;padding:0;line-height:0;display:grid}.student-note-delete-button:hover{color:#9f1239;background:#fff1f2;border-color:#e9aeb9}.student-note-delete-button svg{width:15px;height:15px;display:block;position:static;margin:0!important}.student-note-edit-button{color:#4f7f7b;cursor:pointer;background:#f4fbfa;border:1px solid #cbe4e1;border-radius:.55rem;place-items:center;width:30px;height:30px;padding:0;line-height:0;display:grid}.student-note-edit-button:hover{color:var(--color-primary-dark);background:#eaf8f5;border-color:#91c9c4}.student-note-edit-button svg{width:15px;height:15px;display:block;position:static;margin:0!important}.student-note-delete-confirmation{color:#9f1239;white-space:nowrap;align-items:center;gap:.4rem;min-height:30px;font-size:.66rem;font-weight:800;display:inline-flex}.student-note-delete-confirmation button{cursor:pointer;border-radius:.5rem;min-height:30px;padding:0 .55rem;font-size:.65rem;font-weight:800}.student-note-delete-cancel{color:var(--color-text-muted);border:1px solid var(--color-border);background:#fff}.student-note-delete-confirm{color:#fff;background:#be123c;border:1px solid #be123c}.student-note-delete-confirm:disabled,.student-note-delete-cancel:disabled{cursor:not-allowed;opacity:.55}.student-notes-empty{text-align:center;background:#fbfefd;border:1px dashed #cbdedc;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:2rem 1rem;display:flex}.student-notes-empty>span{width:46px;height:46px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid #cbe4e1;border-radius:.8rem;place-items:center;margin-bottom:.8rem;line-height:0;display:grid}.student-notes-empty>span svg{margin:0;display:block}.student-notes-empty strong{color:var(--color-text);font-size:.84rem}.student-notes-empty p{max-width:330px;color:var(--color-text-muted);margin:.35rem 0 0;font-size:.71rem;line-height:1.5}.student-detail-panel--notes{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.student-detail-panel--notes .student-panel-header{background:#fff;border:1px solid #d9e3e0;border-radius:1rem 1rem 0 0;min-height:112px;padding:1.35rem 1.45rem}.student-detail-panel--notes .student-panel-header h2{margin-top:.38rem;font-size:1.22rem}.student-detail-panel--notes .student-panel-header p{max-width:600px;font-size:.75rem}.student-detail-panel--notes .student-panel-content{background:#fff;border:1px solid #d9e3e0;border-top:0;border-radius:0 0 1rem 1rem;padding:0}.student-notes-page-header{justify-content:space-between;gap:1.5rem}.student-notes-page-actions{flex:none;align-items:center;gap:.65rem;display:flex}.student-notes-total{color:#69817d;border-right:1px solid #dce6e3;align-items:baseline;gap:.3rem;min-height:38px;padding:0 .75rem;font-size:.68rem;display:inline-flex}.student-notes-total strong{color:#173f39;font:700 1.15rem/1 var(--font-heading)}.student-notes-context{color:#6c817e;border-bottom:1px solid #e4ebe9;justify-content:space-between;align-items:center;gap:1rem;min-height:50px;font-size:.66rem;display:flex}.student-notes-context>span{align-items:center;gap:.4rem;display:inline-flex}.student-notes-context svg{color:#4d8c83}.student-notes-workspace>.student-note-composer{box-shadow:none;background:#f7fbfa;border-color:#c5ddd9;margin:1.15rem 0 0}.student-notes-ledger{margin-top:.15rem}.student-note-entry{border-bottom:1px solid #e4ebe9;grid-template-columns:112px minmax(0,1fr);gap:1.35rem;min-width:0;padding:1.25rem 0;display:grid}.student-note-entry:last-child{border-bottom:0}.student-note-entry__date{font-variant-numeric:tabular-nums;border-right:1px solid #dce7e4;flex-direction:column;align-items:flex-start;min-height:76px;padding-right:1.25rem;display:flex}.student-note-entry__date strong{color:#1d5d55;font:650 1.75rem/1 var(--font-heading);letter-spacing:-.055em}.student-note-entry__date span{color:#526f6b;text-transform:uppercase;margin-top:.28rem;font-size:.68rem;font-weight:800}.student-note-entry__date small{color:#879895;margin-top:.45rem;font-size:.66rem}.student-note-entry__body{min-width:0;padding:.05rem 0}.student-note-entry__body>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-note-entry__heading{min-width:0}.student-note-entry__heading>strong{overflow-wrap:anywhere;color:#153b36;font:700 .94rem/1.35 var(--font-heading);letter-spacing:-.018em;display:block}.student-note-entry__heading>span{color:#718682;align-items:center;gap:.35rem;margin-top:.38rem;font-size:.66rem;display:inline-flex}.student-note-entry__heading svg{color:#5b958d}.student-note-entry__actions{flex:none;justify-content:flex-end;align-items:center;gap:.4rem;min-height:30px;display:flex}.student-note-entry__body>p{color:#34534e;white-space:pre-wrap;max-width:880px;margin:1rem 0 0;font-size:.81rem;line-height:1.75}.student-notes-workspace>.student-notes-empty{background:#fafcfb;border-color:#d2e0dd;min-height:250px;margin-top:1.15rem}.student-notes-empty .student-note-add-button{width:auto;margin-top:1rem}@media (width<=980px){.student-record-shell{padding:1.5rem 1.25rem 3rem}.student-profile-hero{flex-direction:column;align-items:stretch}.student-profile-summary{width:100%;min-width:0}}@media (width<=640px){.student-record-shell{padding:1rem .85rem 2.5rem}.student-record-topbar{margin-bottom:1rem}.student-record-edit,.student-record-cancel{padding:0 .75rem}.student-record-edit{font-size:0}.student-record-edit svg{margin:0}.student-profile-hero{border-radius:1rem;min-height:0;padding:1rem}.student-profile-hero__identity{align-items:flex-start;gap:.8rem}.student-profile-hero .student-avatar-large{border-radius:.8rem;width:60px;height:60px;font-size:1.1rem}.student-profile-hero h1{margin-top:.3rem;font-size:1.45rem}.student-profile-hero__copy>p{font-size:.68rem}.student-profile-summary{grid-template-columns:1fr}.student-summary-stat{align-items:center;padding:.7rem .8rem}.student-summary-stat+.student-summary-stat{border-top:1px solid #ffffff1f;border-left:0}.student-summary-stat__icon{width:27px;height:27px}.student-detail-tabs{border-radius:.75rem;margin-bottom:.75rem}.student-detail-tabs button{padding:0 .72rem;font-size:.7rem}.student-detail-panel{border-radius:.9rem}.student-panel-header{min-height:100px;padding:1.15rem 1rem}.student-panel-content{padding:1rem}.student-panel-header p{font-size:.7rem}.student-editing-indicator{justify-content:center;width:28px;height:28px;padding:0;font-size:0}.student-readonly-grid,.student-placement-grid{grid-template-columns:1fr;padding:.8rem}.student-readonly-field.wide{grid-column:auto}.student-readonly-field{padding:.85rem}.student-detail-section__header{padding:1rem}.student-status-card{flex-direction:column;align-items:flex-start;padding:1rem}.student-status-card__badge{align-self:flex-start}.student-status-effects__header{padding:1rem}.student-status-effects__grid{grid-template-columns:1fr}.student-status-effect{padding:1rem}.student-note-add-button{width:100%}.student-note-composer__footer{flex-direction:column;align-items:stretch}.student-note-composer__footer>div{width:100%}.student-note-composer__footer>div button{flex:1}.student-detail-panel--notes{border-radius:0}.student-detail-panel--notes .student-panel-header{border-radius:.9rem .9rem 0 0;flex-direction:column;align-items:stretch;gap:1rem;min-height:0;padding:1.05rem}.student-detail-panel--notes .student-panel-content{padding:0}.student-notes-page-actions{justify-content:space-between;width:100%}.student-notes-total{border-right:0;min-height:34px;padding:0}.student-notes-page-actions .student-note-add-button{width:auto}.student-notes-workspace{padding:0 1rem 1rem}.student-notes-context{flex-direction:column;align-items:flex-start;gap:.3rem;min-height:0;padding:.8rem 0}.student-notes-workspace>.student-note-composer{padding:.9rem}.student-note-entry{grid-template-columns:68px minmax(0,1fr);gap:.8rem;padding:1rem 0}.student-note-entry__date{min-height:68px;padding-right:.7rem}.student-note-entry__date strong{font-size:1.4rem}.student-note-entry__date span{font-size:.59rem}.student-note-entry__date small{margin-top:.35rem;font-size:.6rem}.student-note-entry__body>header{flex-direction:column;align-items:stretch;gap:.65rem}.student-note-entry__actions{justify-content:flex-start}.student-note-delete-confirmation{white-space:normal;flex-wrap:wrap;max-width:100%}.student-note-entry__body>p{margin-top:.75rem;font-size:.75rem;line-height:1.65}.student-notes-workspace>.student-notes-empty{min-height:210px}.student-notes-empty .student-note-add-button{width:auto}.student-status-overview{margin:.8rem .8rem 0}.student-notes-card{margin:.7rem .8rem .8rem}.student-detail-panel .student-edit-actions{margin:1.4rem -1rem -1rem;padding:.75rem 1rem}.student-detail-panel .student-edit-actions button{flex:1}.student-danger-zone .danger-zone-content{align-items:stretch}.student-danger-zone .btn-danger-outline{justify-content:center}}.rooms-page{width:min(100%,1440px);padding:2rem 2.25rem 4rem}.rooms-page-heading{align-items:center;margin-bottom:1.25rem}.rooms-page-heading .ui-page-header__copy>h1{letter-spacing:-.04em;font-size:clamp(1.65rem,2vw,2.15rem)}.rooms-page-heading .ui-page-header__copy>span{max-width:620px;line-height:1.55}.rooms-page-heading>button{border-radius:.75rem;height:44px;padding:0 1.1rem;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 8px 20px #264e4b24}.rooms-page-heading>button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #264e4b33}.rooms-feedback{gap:.55rem;margin-bottom:1rem;display:grid}.rooms-feedback .rooms-notice{border-radius:.75rem;margin:0}.rooms-undo-action{color:#3c6d68;background:#f3fbfa;border:1px solid #cce1de;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;min-height:42px;padding:.55rem .75rem .55rem 1rem;font-size:.73rem;display:flex}.rooms-undo-action>span{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.rooms-undo-action>span svg{flex:none}.rooms-undo-action button{color:#2f6762;cursor:pointer;background:#fff;border:1px solid #b7d6d2;border-radius:.55rem;flex:none;align-items:center;gap:.35rem;min-height:30px;padding:0 .7rem;font-size:.68rem;font-weight:800;display:inline-flex}.rooms-undo-action button:hover{border-color:var(--color-primary);background:#edf8f6}.rooms-undo-action button:disabled{cursor:wait;opacity:.6}.rooms-occupancy-hero{background:radial-gradient(circle at 92% 4%,#d0eae6bf,#0000 34%),linear-gradient(135deg,#f8fdfc 0%,#eef7f5 100%);border:1px solid #cbdedc;border-radius:1rem;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:1rem;margin-bottom:.85rem;padding:.9rem 1.1rem;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 26px #264e4b12}.rooms-occupancy-hero:after{content:"";pointer-events:none;border:1px solid #58978f29;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-105px;right:-80px;box-shadow:0 0 0 18px #58978f0a,0 0 0 38px #58978f09}.rooms-occupancy-hero__main,.rooms-occupancy-hero__stats{z-index:1;min-width:0;position:relative}.rooms-section-kicker{color:#51807a;letter-spacing:.11em;align-items:center;gap:.4rem;font-size:.63rem;font-weight:850;display:inline-flex}.rooms-section-kicker svg{color:#6eaaa2}.rooms-occupancy-hero__title{justify-content:space-between;align-items:flex-end;gap:.75rem;margin-top:.45rem;display:flex}.rooms-occupancy-hero__title h2{color:#1f4542;font:650 clamp(1rem, 1.35vw, 1.2rem)/1.2 var(--font-heading);letter-spacing:-.025em;margin:0}.rooms-occupancy-hero__title p{color:#5f7775;max-width:510px;margin:.2rem 0 0;font-size:.69rem;line-height:1.4}.rooms-occupancy-hero__title>strong{color:#245e59;letter-spacing:-.07em;white-space:nowrap;align-items:baseline;font-size:clamp(1.85rem,3.2vw,2.5rem);font-weight:650;line-height:1;display:flex}.rooms-occupancy-hero__title>strong small{color:#65908b;letter-spacing:0;margin-left:.2rem;font-size:.65rem;font-weight:800}.rooms-occupancy-meter{background:#4b7e7821;border-radius:99px;height:7px;margin-top:.75rem;overflow:hidden;box-shadow:inset 0 1px 2px #2a524f14}.rooms-occupancy-meter i{border-radius:inherit;background:linear-gradient(90deg,#70aaa3,#317972);height:100%;transition:width .35s;display:block;box-shadow:0 0 16px #31797233}.rooms-occupancy-hero__caption{color:#6a8581;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.45rem;font-size:.63rem;display:flex}.rooms-occupancy-hero__caption span{align-items:center;gap:.35rem;display:inline-flex}.rooms-occupancy-hero__caption svg{color:#5c9b93}.rooms-occupancy-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:.55rem;display:grid}.rooms-hero-metric{background:#ffffffb3;border:1px solid #b6d5d1c7;border-radius:.7rem;align-items:flex-start;gap:.55rem;min-height:82px;padding:.65rem;display:flex;box-shadow:0 5px 14px #3f6f6a0b}.rooms-hero-metric>span{color:#3e827a;background:#f2fbf9;border:1px solid #c7e0dc;border-radius:.5rem;flex:none;place-items:center;width:28px;height:28px;display:grid}.rooms-hero-metric>div{min-width:0}.rooms-hero-metric small,.rooms-hero-metric strong,.rooms-hero-metric em{display:block}.rooms-hero-metric small{color:#65817e;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.rooms-hero-metric strong{color:#214c48;margin-top:.2rem;font-size:1.28rem;line-height:1}.rooms-hero-metric em{color:#78918e;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.58rem;font-style:normal;overflow:hidden}.rooms-hero-metric.warning>span{color:#986d24;background:#fffaf0;border-color:#ead7a9}.rooms-hero-metric.warning strong{color:#805b1d}.rooms-hero-metric.positive>span{color:#3c8275}.room-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.room-summary-card{border-color:#e0e5e5;border-radius:.8rem;align-items:center;gap:.7rem;min-height:88px;padding:.8rem .9rem;transition:border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 4px 14px #2d3c3e09}.room-summary-card:hover{border-color:#bfd7d4;transform:translateY(-1px);box-shadow:0 8px 20px #2d3c3e12}.room-summary-card>span{border-radius:.6rem;width:32px;height:32px}.room-summary-card strong{font-size:1.25rem}.room-summary-card p{font-size:.65rem}.rooms-command-center{background:var(--color-surface);border:1px solid #dfe5e5;border-radius:1rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 6px 20px #243a3a0a}.rooms-toolbar{background:linear-gradient(#fff 0%,#fbfcfc 100%);border:0;flex-wrap:wrap;gap:.55rem;min-height:66px;padding:.75rem .85rem}.rooms-search{background:#fbfdfd;border-radius:.65rem;width:min(100%,330px);height:42px;padding:0 .65rem 0 .8rem}.rooms-search input{font-size:.78rem}.rooms-search kbd{color:#6b8582;background:#f2f7f6;border:1px solid #d6e2e0;border-radius:.35rem;place-items:center;min-width:21px;height:21px;font:700 .66rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.rooms-toolbar>label:not(.rooms-search){background:#fff;border:1px solid #e0e5e5;border-radius:.65rem;height:42px;padding:0 .7rem}.rooms-toolbar>label>span{letter-spacing:.02em;font-size:.65rem;font-weight:800}.rooms-toolbar select{background-color:#0000;border:0;outline:none;height:32px;padding:0 29px 0 .2rem;font-size:.73rem}.rooms-clear-filters{color:#647e7b;cursor:pointer;background:#f7fbfa;border:1px solid #dfe8e6;border-radius:.6rem;align-items:center;gap:.3rem;height:34px;padding:0 .65rem;font-size:.68rem;font-weight:800;display:inline-flex}.rooms-clear-filters:hover{color:var(--color-primary-dark);background:#eff9f7;border-color:#b9d5d1}.rooms-clear-filters span{color:#4d7772;background:#d9eeea;border-radius:99px;place-items:center;min-width:17px;height:17px;font-size:.6rem;display:grid}.rooms-view-switch{background:#f7f9f9;border-color:#dfe5e5;border-radius:.65rem;min-height:42px;margin-left:auto;overflow:hidden}.rooms-view-switch button{min-height:40px;padding:0 .75rem;font-size:.68rem}.rooms-toolbar>strong{color:#71817f;min-width:auto;padding-left:.35rem;font-size:.68rem}.rooms-toolbar>strong b{color:#345e5a;font-size:.78rem}.rooms-active-filters{background:#fbfdfd;border-top:1px solid #edf1f0;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:42px;padding:.55rem .9rem;display:flex}.rooms-active-filters>span{color:#82918f;text-transform:uppercase;letter-spacing:.04em;margin-right:.2rem;font-size:.63rem;font-weight:800}.rooms-active-filters button{color:#3f706b;cursor:pointer;background:#f1faf8;border:1px solid #cce0dc;border-radius:99px;align-items:center;gap:.28rem;min-height:26px;padding:0 .5rem;font-size:.63rem;font-weight:750;display:inline-flex}.rooms-active-filters button:hover{background:#e7f6f3;border-color:#94c2bc}.rooms-state{border-radius:1rem;min-height:300px}.room-floor-list{border-color:#dfe5e5;border-radius:1rem;overflow:hidden;box-shadow:0 6px 20px #243a3a09}.room-floor-plan-list{border-color:#dfe5e5;border-radius:1rem}.room-floor-section>header{background:linear-gradient(#fcfdfd,#f7f9f9);min-height:68px;padding:.75rem 1rem}.floor-plan-section-title{align-items:center;gap:.65rem;display:inline-flex}.floor-plan-section-icon{color:#4f8982;background:#f0faf8;border:1px solid #cde2df;border-radius:.55rem;place-items:center;width:29px;height:29px;display:grid}.floor-plan-section-title>div span{margin-top:.2rem}.floor-plan-header-stats{gap:.35rem}.room-floor-section>header .floor-plan-header-stats span{color:#557470;background:#fff;border-color:#d8e5e3;border-radius:.5rem;padding:.35rem .55rem;font-size:.62rem}.floor-plan-helper{color:#7a8d8b;background:#fbfdfd;border-bottom:1px solid #e9eeee;justify-content:space-between;align-items:center;gap:.75rem;min-height:38px;padding:0 1rem;font-size:.63rem;display:flex}.floor-plan-helper span{align-items:center;gap:.35rem;display:inline-flex}.floor-plan-helper svg{color:#74a7a1}.floor-plan-helper b{color:#426e69}.floor-plan-canvas-vertical{background-color:#f4f8f7;background-image:linear-gradient(#4a69660e 1px,#0000 1px),linear-gradient(90deg,#4a69660e 1px,#0000 1px);background-size:26px 26px;gap:1.2rem;max-width:none;min-height:520px;padding:1.2rem}.floor-plan-column{gap:.55rem}.floor-plan-corridor-vertical{background:linear-gradient(#deeae8e6,#edf4f3e6);border-color:#c7d6d4}.floor-plan-corridor-vertical:after{border-color:#aec3c0}.floor-plan-corridor-label-vertical{color:#587875;background:#ffffffd6;border-color:#c4d9d5;border-radius:.45rem}.floor-plan-room{background:#fffffff0;border-color:#d4dfdd;border-radius:.75rem;min-height:76px;padding:.75rem;box-shadow:0 3px 10px #264e4b0d}.floor-plan-room:hover{border-color:#73aaa3;box-shadow:0 9px 22px #264e4b1f}.floor-plan-room.selected{border-color:#3f8981;outline:3px solid #3f898124;box-shadow:0 10px 24px #264e4b29}.floor-plan-room-status{align-items:center;gap:.25rem;display:inline-flex}.floor-plan-room-status i{background:#4a9b8d;border-radius:99px;width:6px;height:6px;display:inline-block}.floor-plan-room.full .floor-plan-room-status i{background:#96959d}.floor-plan-room.maintenance .floor-plan-room-status i{background:#c08e36}.floor-plan-room.closed .floor-plan-room-status i{background:#9ba2a7}.floor-plan-room-drag-hint{color:#9ab1ae;opacity:0;border-radius:.35rem;place-items:center;width:22px;height:22px;transition:opacity .18s,background .18s;display:grid;position:absolute;bottom:.35rem;right:.5rem}.floor-plan-room:hover .floor-plan-room-drag-hint{opacity:1;background:#edf7f5}.floor-plan-drop-zone{color:#81a09d;background:#f4fcfab8;border:1px dashed #b9d3cf;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;min-height:76px;padding:.75rem;font-size:.66rem;font-weight:750;display:flex}.floor-plan-drop-zone svg{color:#6fa29b}.room-card-grid{gap:.75rem;padding:1rem}.room-card{border-color:#dfe5e5;border-radius:.8rem;min-height:242px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 4px 14px #243a3a09}.room-card:hover{border-color:#b7d4d0;transform:translateY(-2px);box-shadow:0 12px 26px #264e4b1a}.room-card-top{border-bottom-color:#edf1f0;padding:.8rem 1rem}.room-card-top>span small{color:#91a09f;font-size:.58rem}.room-card-top>span strong{letter-spacing:-.03em;font-size:1.15rem}.room-status-pill{color:#3e8179;background:#effaf8;border:1px solid #cbe3df;border-radius:99px;padding:.28rem .5rem;font-size:.59rem;font-style:normal;font-weight:800}.room-status-pill.maintenance{color:#8d681e;background:#fff9ec;border-color:#ebd9ac}.room-status-pill.closed{color:#70787e;background:#f5f6f7;border-color:#dfe1e4}.room-status-pill.active{color:#3e8179}.room-card-capacity{padding:.9rem 1rem .55rem}.room-card-capacity>span{font-size:.75rem}.room-card-capacity small{font-size:.65rem}.room-occupancy-track{background:#edf1f0;border-radius:99px;height:6px;margin:0 1rem}.room-occupancy-track i{border-radius:inherit;background:linear-gradient(90deg,#80b5ae,#438b83)}.room-card.full .room-occupancy-track i{background:#9da2a4}.room-card.maintenance .room-occupancy-track i{background:#c49a50}.room-card-occupants-label{color:#8a9997;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;margin:.8rem 1rem 0;font-size:.62rem;font-weight:800;display:flex}.room-card-occupants-label b{color:#6b7f7c;text-transform:none;letter-spacing:0;font-size:.61rem;font-weight:700}.room-card-occupants{justify-content:center;min-height:61px;padding:.55rem 1rem .75rem;display:flex}.room-card-occupants__avatars{align-items:center;width:100%;display:flex}.room-card-occupants__avatars>span{color:#356c67;background:#dff1ee;border:2px solid #fff;border-radius:50%;place-items:center;width:29px;height:29px;margin-left:-.25rem;font-size:.58rem;font-weight:850;display:grid;box-shadow:0 2px 5px #264e4b14}.room-card-occupants__avatars>span:first-child{margin-left:0}.room-card-occupants__avatars>small{color:#4f7772;background:#eff5f4;border:2px solid #fff;border-radius:50%;place-items:center;min-width:29px;height:29px;margin-left:-.25rem;font-size:.57rem;font-weight:850;display:grid}.room-card .room-empty-occupants{color:#9aa8a6;justify-content:center;font-size:.66rem}.room-card-footer{color:#81918f;background:#fcfdfd;border-top-color:#edf1f0;padding:.65rem 1rem;font-size:.63rem}.room-card-footer span:last-child{color:#3e7771;align-items:center;gap:.2rem;display:inline-flex}.room-detail-dialog{border:0;border-left:1px solid #d9e5e2;border-radius:1.35rem 0 0 1.35rem;flex-direction:column;width:min(100%,540px);height:100dvh;max-height:none;animation:.28s cubic-bezier(.16,1,.3,1) forwards roomDrawerOpen;display:flex;box-shadow:-18px 0 44px #1a383629}@keyframes roomDrawerOpen{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.panel-dialog-backdrop:has(.room-detail-dialog){background:#14292847;place-items:stretch end;padding:0}.room-detail-dialog>header{background:linear-gradient(#fbfdfd,#f5f9f8);flex:none;padding:1.1rem 1.25rem;position:relative}.room-detail-dialog>header>div{min-width:0}.room-detail-dialog>header h3{color:#214c48;letter-spacing:-.03em;font-size:1.08rem}.room-detail-dialog>header p{color:#78918e;margin-top:.35rem;font-size:.68rem}.room-detail-dialog>header>button{border-radius:.65rem}.room-detail-dialog>header>button:focus-visible{outline-offset:-2px;outline:2px solid #79aea8}.room-detail-dialog>header:after{content:"";opacity:.7;background:linear-gradient(90deg,#77b2aa,#77b2aa00);height:2px;position:absolute;bottom:0;left:1.25rem;right:1.25rem}.room-detail-hero{background:#fff;border-bottom:1px solid #e5eceb;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.room-detail-hero__identity{align-items:center;gap:.7rem;min-width:0;display:flex}.room-detail-hero__icon{color:#3e827a;background:#f0faf8;border:1px solid #cde3df;border-radius:.8rem;flex:none;place-items:center;width:42px;height:42px;display:grid}.room-detail-hero__identity>div>span,.room-detail-hero__identity strong,.room-detail-hero__identity small{display:block}.room-detail-hero__identity>div>span{color:#78918e;letter-spacing:.08em;font-size:.6rem;font-weight:850}.room-detail-hero__identity strong{color:#294f4b;margin-top:.18rem;font-size:.83rem}.room-detail-hero__identity small{color:#879793;margin-top:.18rem;font-size:.64rem}.room-detail-hero__occupancy{flex:none;width:150px}.room-detail-hero__occupancy>span,.room-detail-hero__occupancy>em{color:#82918f;font-size:.61rem;font-style:normal;display:block}.room-detail-hero__occupancy>strong{color:#2d655f;margin-top:.22rem;font-size:1.3rem;line-height:1;display:block}.room-detail-hero__occupancy>strong small{color:#89a29f;font-size:.68rem;font-weight:700}.room-detail-progress{background:#edf1f0;border-radius:99px;height:6px;margin:.5rem 0 .35rem;overflow:hidden}.room-detail-progress i{border-radius:inherit;background:#4c958b;height:100%;display:block}.room-detail-progress.full i{background:#92999b}.room-detail-progress.maintenance i{background:#bd9142}.room-detail-progress.closed i{background:#9ea4a8}.room-detail-tabs{background:#f3f8f7;border-bottom:1px solid #e1eae8;flex:none;align-items:center;gap:.45rem;min-height:68px;padding:.65rem 1.25rem;display:flex}.room-detail-tabs button{color:#78908d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.72rem;flex:1;justify-content:center;align-items:center;gap:.45rem;min-width:0;min-height:48px;padding:.4rem .7rem;font-size:.68rem;font-weight:800;transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.room-detail-tabs button:after{display:none}.room-detail-tabs button:hover:not([aria-selected=true]){color:#3f706b;background:#ffffff94}.room-detail-tabs button[aria-selected=true]{color:#2f6f68;background:#fff;border-color:#c8dfdb;box-shadow:0 5px 12px #264e4b14}.room-detail-tabs button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #79aea88c,0 5px 12px #264e4b14}.room-detail-tab-icon{color:#75918d;background:#f7fbfa;border:1px solid #d5e4e1;border-radius:.55rem;flex:none;place-items:center;width:27px;height:27px;transition:color .18s,background-color .18s,border-color .18s;display:grid}.room-detail-tabs button[aria-selected=true] .room-detail-tab-icon{color:#fff;background:linear-gradient(135deg,#6eb2aa,#3d827a);border-color:#3c837b;box-shadow:0 4px 9px #3d827a2e}.room-detail-tabs button>span:not(.room-detail-tab-icon){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-detail-tabs button em{color:#527b76;background:#f0f8f6;border:1px solid #d3e4e0;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 .35rem;font-size:.61rem;font-style:normal;font-weight:850;display:inline-grid}.room-detail-tabs button[aria-selected=true] em{color:#2f6f68;background:#eaf7f4;border-color:#c3ddd8}.room-detail-panel{flex:auto;min-height:0;padding:1.25rem;overflow:auto}.room-detail-status{margin-bottom:.85rem}.room-detail-status>strong{color:#416662;font-size:.72rem}.room-status-badge{border-radius:99px;padding:.32rem .55rem;font-size:.62rem}.room-status-badge.active{color:#3e8179;background:#effaf8;border-color:#cbe3df}.room-detail-quick-stats{background:#fbfdfd;border:1px solid #e2e9e8;border-radius:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem;display:grid}.room-detail-quick-stats>div{min-width:0;padding:.7rem .75rem}.room-detail-quick-stats>div+div{border-left:1px solid #e5eceb}.room-detail-quick-stats span,.room-detail-quick-stats strong{align-items:center;gap:.3rem;display:flex}.room-detail-quick-stats span{color:#879794;font-size:.6rem}.room-detail-quick-stats span svg{color:#6da39b}.room-detail-quick-stats strong{color:#476763;margin-top:.25rem;font-size:.68rem}.room-section-heading{justify-content:space-between;align-items:flex-end;gap:.75rem;margin:1.1rem 0 .55rem;display:flex}.room-section-heading>div>span,.room-section-heading strong{display:block}.room-section-heading>div>span{color:#8a9b98;letter-spacing:.1em;font-size:.58rem;font-weight:850}.room-section-heading strong{color:#365e59;margin-top:.22rem;font-size:.78rem}.room-section-heading>em{color:#5d7f7a;background:#f5faf9;border:1px solid #d7e6e3;border-radius:99px;padding:.25rem .45rem;font-size:.6rem;font-style:normal;font-weight:800}.room-assign-control{background:linear-gradient(135deg,#f5fbfa,#edf7f5);border-color:#d6e6e3;border-radius:.8rem;margin-bottom:1rem;padding:.85rem;box-shadow:0 5px 14px #264e4b0b}.room-assign-control__heading{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.6rem;display:flex}.room-assign-control__heading>div>span,.room-assign-control__heading strong{display:block}.room-assign-control__heading>div>span{color:#75a09a;letter-spacing:.1em;font-size:.57rem;font-weight:850}.room-assign-control__heading strong{color:#376762;margin-top:.22rem;font-size:.75rem}.room-assign-control__heading>em{color:#5c847f;white-space:nowrap;background:#ffffffbd;border:1px solid #cbe1dd;border-radius:99px;padding:.25rem .4rem;font-size:.58rem;font-style:normal;font-weight:800}.room-assign-control>div:not(.room-assign-control__heading){gap:.45rem}.room-assign-control select{background:#ffffffd9;border-color:#cfe1de;border-radius:.65rem;height:42px}.room-assign-control button{background:#4d9c92;border-radius:.65rem;height:42px;padding:0 .85rem;box-shadow:0 5px 12px #3d827a24}.room-assign-control button:hover:not(:disabled){background:#397f77}.room-assign-control>small{color:#78918e;margin-top:.5rem;font-size:.61rem;line-height:1.45}.room-occupant-list{background:#fff;border-color:#dfe8e6;border-radius:.8rem;overflow:hidden;box-shadow:0 4px 13px #243a3a09}.room-occupant-list>div:not(.room-empty-occupants){min-height:66px;padding:.6rem .7rem;transition:background-color .18s}.room-occupant-list>div:not(.room-empty-occupants):hover{background:#fbfefd}.room-occupant-list>div>span>span:first-child{background:#eef8f6;border-radius:.65rem;width:35px;height:35px}.room-occupant-list>div>button{background:snow;border-color:#efd1d0;border-radius:.55rem;min-height:32px;padding:0 .6rem;font-size:.61rem}.room-occupant-list>div>button:hover:not(:disabled){background:#fff3f2;border-color:#d79a96}.room-settings-intro{background:linear-gradient(135deg,#f8fcfb,#f1f8f6);border:1px solid #dce9e7;border-radius:.8rem;align-items:flex-start;gap:.65rem;margin-bottom:1.1rem;padding:.85rem;display:flex}.room-settings-intro>span{color:#4d8f87;background:#fff;border:1px solid #cde2de;border-radius:.6rem;flex:none;place-items:center;width:32px;height:32px;display:grid}.room-settings-intro>div>span,.room-settings-intro strong,.room-settings-intro p{display:block}.room-settings-intro>div>span{color:#77a09b;letter-spacing:.1em;font-size:.57rem;font-weight:850}.room-settings-intro strong{color:#376762;margin-top:.22rem;font-size:.78rem}.room-settings-intro p{color:#7a8f8c;margin:.3rem 0 0;font-size:.64rem;line-height:1.45}.room-detail-note{color:#6e807d;background:#f2f9f7;border-left:3px solid #8cbbb5;border-radius:.4rem;align-items:flex-start;gap:.55rem;margin-top:.9rem;padding:.8rem;display:flex}.room-detail-note>svg{color:#61958e;flex:none;margin-top:.1rem}.room-detail-note strong,.room-detail-note p{display:block}.room-detail-note strong{color:#466d68;font-size:.68rem}.room-detail-note p{color:#70817f;white-space:pre-wrap;margin:.25rem 0 0;font-size:.68rem;line-height:1.5}.room-detail-dialog>form.room-detail-panel{padding-bottom:0;overflow-x:hidden}.room-detail-dialog .room-settings-actions{flex:none}.room-detail-error{border-radius:.65rem;flex:none;margin:0 1.25rem 1rem}.room-settings-actions{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfdfdf0;border-top-color:#dfe9e7;margin-top:1.25rem;position:sticky;bottom:-1.25rem}@media (width<=1180px){.rooms-occupancy-hero{grid-template-columns:1fr}.rooms-occupancy-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.rooms-page{padding:1.5rem 1.25rem 3rem}.room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-toolbar{align-items:stretch}.rooms-search{flex:1 0 100%;width:100%}.rooms-toolbar>label:not(.rooms-search){flex:1}.rooms-toolbar>label:not(.rooms-search) select{width:100%;min-width:0}.rooms-clear-filters{margin-left:auto}.rooms-view-switch{margin-left:0}.rooms-toolbar>strong{align-self:center;margin-left:auto}}@media (width<=640px){.rooms-page{padding:1rem .85rem 2.5rem}.rooms-page-heading{margin-bottom:1rem}.rooms-page-heading>button{justify-content:center;width:100%}.rooms-occupancy-hero{border-radius:.9rem;padding:.8rem}.rooms-occupancy-hero__title{flex-direction:column;align-items:flex-start;gap:.55rem}.rooms-occupancy-hero__title>strong{font-size:2.15rem}.rooms-occupancy-hero__caption{flex-direction:column;align-items:flex-start;gap:.2rem}.rooms-occupancy-hero__stats{grid-template-columns:1fr 1fr}.rooms-hero-metric{gap:.45rem;min-height:82px;padding:.6rem}.rooms-hero-metric>span{width:27px;height:27px}.rooms-hero-metric strong{font-size:1.2rem}.room-summary-grid{gap:.5rem}.room-summary-card{gap:.5rem;min-height:82px;padding:.65rem}.room-summary-card>span{width:28px;height:28px}.room-summary-card strong{font-size:1.1rem}.room-summary-card small{font-size:.55rem}.room-summary-card p{font-size:.58rem}.rooms-toolbar{padding:.7rem}.rooms-toolbar>label:not(.rooms-search){flex:1 0 100%;width:100%}.rooms-clear-filters{margin-left:0}.rooms-view-switch{width:100%}.rooms-view-switch button{flex:1}.rooms-toolbar>strong{margin-left:0}.rooms-active-filters{flex-direction:column;align-items:flex-start}.floor-plan-helper{flex-direction:column;align-items:flex-start;padding:.65rem .8rem}.floor-plan-canvas-vertical{min-height:0;padding:.8rem}.room-detail-dialog{border-left:0;border-radius:1.25rem 1.25rem 0 0;align-self:end;width:100%;height:min(92dvh,780px)}.panel-dialog-backdrop:has(.room-detail-dialog){place-items:end center}.room-detail-hero{flex-direction:column;align-items:flex-start}.room-detail-hero__occupancy{width:100%}.room-detail-quick-stats>div{padding:.6rem .5rem}.room-detail-quick-stats strong{font-size:.61rem}.room-occupant-list>div:not(.room-empty-occupants){align-items:flex-start}.room-occupant-list>div>button{padding:0 .55rem;font-size:.62rem}}.room-card-floor-list{background:0 0;border:0;gap:1.35rem;display:grid;overflow:visible}.room-card-floor-list .room-floor-section{background:#fff;border:1px solid #dce7e5;border-radius:1.1rem;overflow:hidden;box-shadow:0 8px 24px #243a3a0e}.room-card-floor-list .room-floor-section+.room-floor-section{border-top:1px solid #dce7e5}.room-card-floor-list .room-floor-section>header{background:linear-gradient(135deg,#f7fbfa 0%,#eef7f5 100%);border-bottom:1px solid #dfeae8;gap:.8rem;min-height:76px;padding:.9rem 1.25rem;position:relative}.room-card-floor-list .room-floor-section>header:before{content:"";background:linear-gradient(#73ada5,#3e847b);border-radius:99px;flex:none;width:4px;height:32px;box-shadow:0 3px 8px #3d827a2e}.room-card-floor-list .room-floor-section>header strong,.room-card-floor-list .room-floor-section>header span{display:block}.room-card-floor-list .room-floor-section>header strong{color:#28534e;letter-spacing:-.02em;font-size:.92rem}.room-card-floor-list .room-floor-section>header span{color:#708985;margin-top:.28rem;font-size:.67rem}.room-card-floor-list .room-card-grid{background:linear-gradient(#fff 0%,#fcfefe 100%);gap:.8rem;padding:1.15rem 1.25rem 1.25rem}@media (width<=640px){.room-card-floor-list{gap:1rem}.room-card-floor-list .room-floor-section>header{min-height:68px;padding:.8rem 1rem}.room-card-floor-list .room-card-grid{padding:.9rem}}.attendance-page{width:min(100%,1480px);padding:1.75rem 2.25rem 5rem}.attendance-page-heading{margin-bottom:1.25rem}.attendance-page-heading .ui-page-header__copy>h1{letter-spacing:-.04em;font-size:clamp(1.65rem,2vw,2.15rem)}.attendance-page-heading .ui-page-header__copy>span{max-width:620px;line-height:1.55}.attendance-command-bar{background:linear-gradient(135deg,#fbfefd 0%,#f1f8f6 100%);border:1px solid #d8e5e2;border-radius:1rem;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:1.3rem;margin-bottom:.85rem;padding:1rem 1.1rem;display:grid;overflow:hidden;box-shadow:0 8px 24px #244e4b0f}.attendance-command-section{min-width:0}.attendance-command-section+.attendance-command-section{border-left:1px solid #dce8e6;padding-left:1.3rem}.attendance-command-label{align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.attendance-command-label>span{color:#3c7d76;background:#eaf6f3;border:1px solid #c5ded9;border-radius:.55rem;flex:none;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:850;display:grid}.attendance-command-label strong,.attendance-command-label small{display:block}.attendance-command-label strong{color:#285650;letter-spacing:-.01em;font-size:.75rem}.attendance-command-label small{color:#78918e;margin-top:.18rem;font-size:.63rem}.attendance-command-bar .attendance-type-tabs{background:#ffffffb8;border:1px solid #cfe1de;border-radius:.75rem;margin:0;overflow:hidden}.attendance-command-bar .attendance-type-tabs button{border-right-color:#dce8e6;gap:.6rem;min-height:62px;padding:.7rem .8rem}.attendance-command-bar .attendance-type-tabs button:last-child{border-right:0}.attendance-command-bar .attendance-type-tabs button>svg{color:#729591}.attendance-command-bar .attendance-type-tabs button strong{font-size:.78rem}.attendance-command-bar .attendance-type-tabs button small{margin-top:.22rem;font-size:.62rem}.attendance-command-bar .attendance-type-tabs button[aria-pressed=true]{background:#e8f5f2;box-shadow:inset 0 -3px #4b988e}.attendance-command-bar .attendance-type-tabs button[aria-pressed=true]>svg{color:#348077}.attendance-command-bar .attendance-context-bar{background:0 0;border:0;align-items:end;gap:.7rem;min-height:62px;margin:0;padding:0;display:grid}.attendance-command-bar .attendance-context-bar.study{grid-template-columns:minmax(170px,.9fr) minmax(145px,.72fr) minmax(200px,1.05fr)}.attendance-command-bar .attendance-context-bar.bed{grid-template-columns:minmax(180px,.9fr) minmax(230px,1fr)}.attendance-command-bar .attendance-context-bar>label{min-width:0}.attendance-command-bar .attendance-context-bar input,.attendance-command-bar .attendance-context-bar select{background:#ffffffd1;border-color:#cfe1de;border-radius:.6rem;width:100%;min-width:0;height:40px;font-size:.72rem}.attendance-command-bar .attendance-date-field>span,.attendance-command-bar .attendance-context-bar>label>span{color:#66827e;letter-spacing:.08em;margin-bottom:.35rem;font-size:.58rem}.attendance-command-bar .attendance-date-field>div{background:#ffffffd1;border-color:#cfe1de;border-radius:.6rem;height:40px;overflow:hidden}.attendance-command-bar .attendance-date-field button{background:#f5faf9}.attendance-command-bar .attendance-date-field button:hover:not(:disabled){background:#e8f5f2}.attendance-command-bar .attendance-session-state{color:#617b78;background:#ffffff9e;border:1px solid #d4e4e1;border-left:3px solid #9eb9b4;border-radius:.6rem;align-self:end;width:100%;min-height:40px;margin:0;padding:0 .7rem}.attendance-command-bar .attendance-session-state strong{color:#466d68;font-size:.67rem}.attendance-command-bar .attendance-session-state small{color:#829a96;margin-top:.12rem;font-size:.58rem}.attendance-command-bar .attendance-session-state.draft{color:#8a6c28;background:#fffaf0;border-color:#eadbb6 #eadbb6 #eadbb6 #c49b46}.attendance-command-bar .attendance-session-state.draft strong{color:#765b20}.attendance-command-bar .attendance-session-state.completed{color:#397a71;background:#edf8f5;border-color:#c5ded9 #c5ded9 #c5ded9 #4b988e}.attendance-command-bar .attendance-session-state.completed strong{color:#2f6b63}.attendance-history{background:#fff;border:1px solid #dfe8e6;border-radius:.85rem;margin-bottom:.85rem;box-shadow:0 5px 18px #243a3a09}.attendance-history>summary{min-height:46px;padding:0 .9rem}.attendance-history>summary>span:first-child{color:#446c67}.attendance-history>div{background:#fbfdfd;border-top:1px solid #edf2f1;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:.55rem;padding:.7rem;display:grid}.attendance-history button{background:#fff;border-color:#dce8e6;border-radius:.65rem;min-width:0;min-height:54px}.attendance-history button:hover,.attendance-history button.active{background:#eff9f7;border-color:#9fc7c1;box-shadow:0 3px 10px #2f6f6814}.attendance-notice,.attendance-schedule-note,.attendance-error{border-radius:.75rem;box-shadow:0 4px 14px #243a3a08}.attendance-overview{border-color:#dce7e5;border-radius:1rem;margin-bottom:.85rem;overflow:hidden;box-shadow:0 7px 22px #243a3a0b}.attendance-progress-head{background:linear-gradient(#fcfefe 0%,#f5f9f8 100%);min-height:62px;padding:.8rem 1rem}.attendance-progress-head>div:first-child span{color:#3d625e;font-size:.72rem}.attendance-progress-head>div:first-child span strong{color:#285c56;font-size:.86rem}.attendance-progress-head>div:first-child small{color:#78918e;font-size:.62rem}.attendance-progress-track{background:#e2ecea;border-radius:99px;height:8px}.attendance-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#74b0a8,#3f877e)}.attendance-progress-head>button{background:#fff;border-color:#bed8d3;border-radius:.55rem;min-height:34px;padding:0 .65rem}.attendance-progress-head>button:hover{background:#eaf6f3}.attendance-overview .attendance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(124px,1fr))}.attendance-summary-card{border-right-color:#e4eceb;gap:.55rem;min-height:68px;padding:.7rem .85rem}.attendance-summary-card>span:first-child{border-radius:.55rem;width:28px;height:28px}.attendance-summary-card small{color:#7a8f8c;font-size:.6rem}.attendance-summary-card strong{color:#345a56;margin-top:.12rem;font-size:1rem}.attendance-summary-card[aria-pressed=true]{box-shadow:inset 0 -3px #4b988e}.attendance-group{border-color:#dce7e5;border-radius:.9rem;overflow:hidden;box-shadow:0 6px 18px #243a3a0a}.attendance-group>header{background:linear-gradient(#fcfefe,#f5f9f8);min-height:60px}.attendance-group-toggle{min-height:60px;padding:0 1rem}.attendance-group-toggle strong{color:#365f5a;font-size:.76rem}.attendance-group-toggle small{color:#7b918e;font-size:.62rem}.attendance-group tbody tr:hover{background:#fbfefd}.attendance-student>span:first-child{background:#eaf6f3;border-radius:.55rem;width:31px;height:31px}.attendance-student small{color:#809490;font-size:.59rem}.attendance-status-buttons button{border-color:#d9e4e2;border-radius:.5rem;min-height:31px;padding:0 .55rem;font-size:.59rem}.attendance-status-buttons button.active.present{box-shadow:0 3px 8px #3c827726}.attendance-group td>input{border-color:#d9e4e2;border-radius:.5rem;height:34px;font-size:.64rem}.attendance-save-bar{border-color:#cfe0dd;border-radius:.9rem;min-height:70px;margin-top:1rem;padding:.75rem 1rem;bottom:1rem;box-shadow:0 -6px 25px #243a3a1a}.attendance-save-bar>div:first-child span{color:#78908d;font-size:.63rem}.attendance-save-bar button{border-radius:.55rem;min-width:142px;height:38px;font-size:.63rem}@media (width<=980px){.attendance-command-bar{grid-template-columns:1fr;gap:0}.attendance-command-section+.attendance-command-section{border-top:1px solid #dce8e6;border-left:0;margin-top:1rem;padding-top:1rem;padding-left:0}}@media (width<=760px){.attendance-page{padding:1.25rem .85rem 4rem}.attendance-page-heading{margin-bottom:1rem}.attendance-command-bar{border-radius:.85rem;padding:.8rem}.attendance-command-label{margin-bottom:.6rem}.attendance-command-bar .attendance-type-tabs button{min-height:56px;padding:.6rem}.attendance-command-bar .attendance-type-tabs button small{display:none}.attendance-command-bar .attendance-context-bar.study{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.attendance-command-bar .attendance-context-bar.bed{grid-template-columns:1fr}.attendance-command-bar .attendance-session-state{grid-column:1/-1}.attendance-history>summary{padding:0 .75rem}.attendance-history>div{grid-template-columns:repeat(2,minmax(0,1fr));padding:.6rem}.attendance-overview{border-radius:.85rem}.attendance-progress-head{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .7rem;padding:.75rem .8rem}.attendance-progress-track{grid-area:2/1/auto/-1}.attendance-overview .attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-summary-card{gap:.4rem;min-width:0;padding:.6rem .55rem}.attendance-summary-card>span:first-child{width:25px;height:25px}.attendance-summary-card small{font-size:.55rem}.attendance-summary-card strong{font-size:.9rem}.attendance-group>header{flex-direction:column;align-items:stretch}.attendance-group-toggle{width:100%;padding:0 .8rem}.attendance-save-bar{border-bottom:0;border-left:0;border-right:0;border-radius:.85rem .85rem 0 0;margin-left:-.85rem;margin-right:-.85rem;bottom:0}}@media (width<=420px){.attendance-command-bar .attendance-type-tabs button{text-align:center;flex-direction:column;gap:.25rem}.attendance-command-bar .attendance-type-tabs button strong{font-size:.66rem}.attendance-overview .attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-card:nth-child(3n){border-right:1px solid #e4eceb}.attendance-summary-card:nth-child(2n){border-right:0}.attendance-save-bar>div:last-child{grid-template-columns:1fr}}.attendance-scope-picker{background:#fff;border:1px solid #dce7e5;border-radius:.9rem;margin-bottom:.85rem;padding:.9rem 1rem;box-shadow:0 6px 18px #243a3a0a}.attendance-scope-picker .attendance-command-label{margin-bottom:.7rem}.attendance-scope-picker .attendance-command-label em{color:#3d7871;white-space:nowrap;background:#eff9f7;border:1px solid #cbe1dd;border-radius:99px;margin-left:auto;padding:.35rem .55rem;font-size:.6rem;font-style:normal;font-weight:800}.attendance-scope-options{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem;display:grid}.attendance-scope-options button{color:#6d8581;cursor:pointer;text-align:left;background:#fbfdfd;border:1px solid #dbe7e5;border-radius:.65rem;min-width:0;min-height:58px;padding:.65rem .75rem;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:block}.attendance-scope-options button:hover:not(:disabled){background:#f3fbf9;border-color:#9fc7c1;transform:translateY(-1px)}.attendance-scope-options button.active{color:#2f7068;background:#eaf6f3;border-color:#8dbeb7;box-shadow:inset 0 0 0 1px #4b988e1f}.attendance-scope-options button strong,.attendance-scope-options button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-scope-options button strong{color:#365e59;font-size:.7rem}.attendance-scope-options button.active strong{color:#2f7068}.attendance-scope-options button small{color:#829793;margin-top:.25rem;font-size:.59rem}.attendance-scope-options button:disabled{cursor:wait;opacity:.58}.attendance-location-nav{background:#fbfdfd;border:1px solid #dfe8e6;border-radius:.8rem;grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:.7rem;padding:.75rem .9rem;display:grid}.attendance-location-heading{align-items:center;gap:.55rem;min-width:0;display:flex}.attendance-location-heading>span{color:#4b827b;background:#eff9f7;border:1px solid #cfe2de;border-radius:.5rem;flex:none;place-items:center;width:24px;height:24px;font-size:.58rem;font-weight:850;display:grid}.attendance-location-heading strong,.attendance-location-heading small{display:block}.attendance-location-heading strong{color:#426863;font-size:.69rem}.attendance-location-heading small{color:#849793;margin-top:.14rem;font-size:.58rem}.attendance-location-options{flex-wrap:wrap;gap:.4rem;min-width:0;display:flex}.attendance-location-options button{color:#6d8581;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e5e2;border-radius:.55rem;min-width:105px;min-height:40px;padding:.4rem .6rem;display:block}.attendance-location-options button:hover{background:#eff9f7;border-color:#a8c9c4}.attendance-location-options button.active{color:#2f7068;background:#eaf6f3;border-color:#8dbeb7;box-shadow:inset 0 -2px #4b988e}.attendance-location-options button strong,.attendance-location-options button small{text-overflow:ellipsis;white-space:nowrap;max-width:170px;display:block;overflow:hidden}.attendance-location-options button strong{color:#456761;font-size:.62rem}.attendance-location-options button.active strong{color:#2f7068}.attendance-location-options button small{color:#849793;margin-top:.15rem;font-size:.56rem}@media (width<=760px){.attendance-scope-picker{border-radius:.85rem;padding:.8rem}.attendance-scope-picker .attendance-command-label{align-items:flex-start}.attendance-scope-picker .attendance-command-label em{margin-top:.1rem}.attendance-scope-options{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-location-nav{grid-template-columns:1fr;gap:.7rem;padding:.7rem .8rem}.attendance-location-options{flex-wrap:nowrap;padding-bottom:.15rem;overflow-x:auto}.attendance-location-options button{min-width:125px}}@media (width<=420px){.attendance-scope-options{grid-template-columns:1fr}.attendance-scope-picker .attendance-command-label{flex-wrap:wrap}.attendance-scope-picker .attendance-command-label em{margin-left:2.1rem}}.attendance-flow-page{max-width:1080px;margin:0 auto;padding-top:.35rem}.attendance-flow-progress{background:#ffffffe0;border:1px solid #dbe8e5;border-radius:.9rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin:0 0 1rem;padding:.65rem .9rem;display:grid;box-shadow:0 5px 16px #264e4a0a}.attendance-flow-progress-copy{align-items:center;gap:.5rem;display:inline-flex}.attendance-flow-progress-copy>span:last-child{gap:.12rem;display:grid}.attendance-flow-progress-copy strong{color:#315e58;font-size:.66rem}.attendance-flow-progress-copy small{color:#8aa09c;font-size:.56rem}.attendance-flow-progress-mark{color:#21786f;background:#e8f6f2;border:1px solid #bfe0da;border-radius:.6rem;place-items:center;width:30px;height:30px;display:grid}.attendance-flow-steps{color:#9aafac;justify-content:flex-end;align-items:center;gap:.55rem;min-width:0;padding:0;display:flex}.attendance-flow-steps>i{background:#d7e5e2;width:38px;height:1px}.attendance-flow-step{align-items:center;gap:.45rem;display:inline-flex}.attendance-flow-step b{color:#8fa8a4;background:#f7fbfa;border:1px solid #d5e3e0;border-radius:.6rem;place-items:center;width:28px;height:28px;font-size:.62rem;display:grid}.attendance-flow-step small{font-size:.64rem;font-weight:750}.attendance-flow-header{background:linear-gradient(120deg,#075e59 0%,#08756b 58%,#15907e 100%);border:0;border-radius:1rem;margin-bottom:1.05rem;padding:1rem 1.15rem 1.15rem;position:relative;overflow:hidden;box-shadow:0 14px 30px #0a58502e}.attendance-flow-header:after{content:"";pointer-events:none;border:1px solid #d6f7ef33;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-145px;right:-80px;box-shadow:0 0 0 24px #d6f7ef0d,0 0 0 48px #d6f7ef0a}.attendance-flow-header>.attendance-flow-back{z-index:1;color:#effffadb;margin-bottom:.8rem;position:relative}.attendance-flow-heading .ui-page-header__copy>p{color:#a7e1d5}.attendance-flow-heading .ui-page-header__copy>h1{color:#fff;letter-spacing:-.05em;max-width:680px;font-size:clamp(1.8rem,3vw,2.55rem)}.attendance-flow-heading .ui-page-header__copy>span{color:#ebfbf6c7;max-width:680px;line-height:1.6}.attendance-flow-context>span{color:#bceee3;background:#e1fff81f;border:1px solid #e1fff84d;border-radius:.55rem;grid-row:span 2;place-items:center;width:30px;height:30px;display:grid}.attendance-flow-context small,.attendance-flow-context strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.attendance-flow-back{color:#4c7771;border:1px solid #0000;border-radius:.55rem;align-items:center;gap:.35rem;width:fit-content;margin-bottom:.85rem;padding:.35rem .55rem .35rem .35rem;font-size:.68rem;font-weight:800;text-decoration:none;display:inline-flex}.attendance-flow-back:hover{color:#087f75;text-underline-offset:3px;text-decoration:underline}.attendance-flow-intro{background:linear-gradient(120deg,#f2faf8,#fbfefd);border:1px solid #d8e9e5;border-radius:.9rem;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.attendance-flow-intro-icon{color:#278277;background:#e5f5f1;border:1px solid #bfe0da;border-radius:.75rem;flex:none;place-items:center;width:42px;height:42px;display:grid}.attendance-flow-intro strong,.attendance-flow-intro small{display:block}.attendance-flow-intro strong{color:#315d58;font-size:.78rem}.attendance-flow-intro small{color:#78918d;margin-top:.18rem;font-size:.64rem;line-height:1.5}.attendance-flow-cards{gap:.85rem;display:grid}.attendance-flow-card{min-height:190px;color:inherit;background:#fff;border:1px solid #d8e7e4;border-top:3px solid #65b5a8;border-radius:1rem;flex-direction:column;align-items:flex-start;padding:1.05rem;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s;display:flex;position:relative;box-shadow:0 9px 24px #264e4a0e}.attendance-flow-card:focus-visible{outline-offset:3px;outline:3px solid #4b988e40}.attendance-flow-card-icon{color:#21786f;background:#e8f6f2;border:1px solid #bfe0da;border-radius:.9rem;place-items:center;width:52px;height:52px;margin-bottom:1rem;display:grid}.attendance-flow-card-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.attendance-flow-card-copy>small{color:#6f8c87;letter-spacing:.1em;font-size:.56rem;font-weight:850}.attendance-flow-card-copy>span{color:#728985;margin-top:.32rem;font-size:.68rem;line-height:1.5}.attendance-flow-card-copy>em{color:#3c7d74;background:#f1faf7;border:1px solid #d6eae5;border-radius:99px;margin-top:.65rem;padding:.28rem .45rem;font-size:.6rem;font-style:normal;font-weight:800}.attendance-flow-card-footer{color:#2c8177;border-top:1px solid #edf3f1;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:.9rem;display:flex}.attendance-flow-card-footer small{font-size:.62rem;font-weight:850}.attendance-flow-card-footer svg{transition:transform .18s}.attendance-flow-card:hover .attendance-flow-card-footer svg{transform:translate(3px)}.attendance-flow-selection-note{background:#fbfdfd;border:1px solid #e0ebe8;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem;padding:.75rem .9rem;display:flex}.attendance-flow-selection-note span{color:#3f706a;align-items:center;gap:.45rem;display:inline-flex}.attendance-flow-selection-note span svg{color:#398d82}.attendance-flow-selection-note strong{font-size:.68rem}.attendance-flow-selection-note small{color:#819590;font-size:.62rem}.attendance-final-context{background:linear-gradient(135deg,#f8fcfb 0%,#edf7f4 100%);border:1px solid #d7e7e3;border-radius:1rem;margin-bottom:.9rem;padding:.9rem 1rem;box-shadow:0 8px 22px #264e4a0d}.attendance-final-context-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.attendance-final-context-top .attendance-flow-back{margin:0}.attendance-final-step{color:#4a7c75;align-items:center;gap:.4rem;display:inline-flex}.attendance-final-step b{background:#e9f6f2;border:1px solid #bfded8;border-radius:.5rem;place-items:center;width:24px;height:24px;font-size:.57rem;display:grid}.attendance-final-context-main{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);align-items:end;gap:1rem;margin-top:.8rem;display:grid}.attendance-final-scope{align-items:center;gap:.65rem;min-width:0;display:flex}.attendance-final-scope-icon{color:#298178;background:#e5f5f1;border:1px solid #bfe0da;border-radius:.7rem;flex:none;place-items:center;width:38px;height:38px;display:grid}.attendance-final-scope strong,.attendance-final-scope small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-final-scope strong{color:#2b5f59;font-size:.82rem}.attendance-final-selection{grid-template-columns:minmax(170px,.9fr) minmax(145px,.72fr) minmax(190px,1fr);align-items:end;gap:.65rem;min-width:0;display:grid}.attendance-final-selection .attendance-date-field{background:#ffffffdb;border:1px solid #cfe1de;border-radius:.6rem;grid-template-columns:31px minmax(0,1fr) 31px;height:40px;display:grid;overflow:hidden}.attendance-final-selection .attendance-date-field button{color:#58827c;cursor:pointer;background:#f5faf9;border:0;place-items:center;display:grid}.attendance-final-selection .attendance-session-state{border-radius:.6rem;min-height:40px;margin:0;padding:0 .65rem}.attendance-final-page{max-width:1080px;margin:0 auto}.attendance-final-heading{background:linear-gradient(120deg,#075e59 0%,#08756b 58%,#15907e 100%);border:0;border-radius:1rem;margin-bottom:.75rem;padding:.9rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 12px 28px #0a585029}.attendance-final-heading:after{content:"";pointer-events:none;border:1px solid #d6f7ef33;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-135px;right:-70px;box-shadow:0 0 0 22px #d6f7ef0d,0 0 0 44px #d6f7ef0a}.attendance-final-heading .ui-page-header{align-items:center}.attendance-final-heading .ui-page-header__copy{z-index:1;position:relative}.attendance-final-heading .ui-page-header__copy>p{color:#a7e1d5}.attendance-final-heading .ui-page-header__copy>h1{color:#fff;font-size:clamp(1.55rem,2.5vw,2.1rem)}.attendance-final-heading .ui-page-header__copy>span{color:#ebfbf6c7;max-width:640px}.attendance-final-page .attendance-overview,.attendance-final-page .attendance-location-nav,.attendance-final-page .attendance-group{box-shadow:0 7px 20px #264e4a0b}@media (width<=900px){.attendance-flow-cards--groups{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-final-context-main{grid-template-columns:1fr;gap:.8rem}.attendance-flow-header .ui-page-header{align-items:stretch}.attendance-flow-context{width:fit-content}}@media (width<=640px){.attendance-flow-progress{grid-template-columns:1fr;gap:.6rem}.attendance-flow-steps{justify-content:flex-start;gap:.35rem}.attendance-flow-steps>i{width:20px}.attendance-flow-step small{display:none}.attendance-flow-cards--primary,.attendance-flow-cards--groups{grid-template-columns:1fr}.attendance-flow-card{min-height:166px}.attendance-flow-selection-note{flex-direction:column;align-items:flex-start;gap:.35rem}.attendance-final-context{padding:.8rem}.attendance-final-selection{grid-template-columns:1fr 1fr}.attendance-final-selection .attendance-session-state{grid-column:1/-1}}@media (width<=420px){.attendance-final-context-top{flex-direction:column-reverse;align-items:flex-start;gap:.55rem}.attendance-final-selection{grid-template-columns:1fr}.attendance-final-selection .attendance-session-state{grid-column:auto}}.attendance-flow-page{width:min(100%,1100px);max-width:none;padding-top:.2rem}.attendance-flow-progress{min-height:44px;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #d9e7e3;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;margin:.85rem 0 1.1rem;padding:0 0 .6rem;display:flex}.attendance-flow-progress-copy{gap:.65rem}.attendance-flow-progress-copy>span:last-child{gap:.08rem}.attendance-flow-progress-copy strong{color:#164f4a;letter-spacing:-.02em;font-size:.78rem}.attendance-flow-progress-copy small{color:#7c9590;letter-spacing:.11em;font-size:.55rem;font-weight:850}.attendance-flow-progress-mark{color:#168276;background:#eef8f5;border:1px solid #b9dcd5;border-radius:.7rem;width:32px;height:32px}.attendance-flow-steps{justify-content:flex-end;gap:.7rem}.attendance-flow-steps>i{background:#d6e5e1;width:52px}.attendance-flow-step{color:#9baea9;gap:.45rem}.attendance-flow-step b{color:#8ba09b;background:0 0;border:1px solid #d5e3df;border-radius:50%;width:30px;height:30px;font-size:.59rem}.attendance-flow-step small{color:inherit;font-size:.64rem;font-weight:800}.attendance-flow-step.active{color:#08786e}.attendance-flow-step.active b{color:#08786e;background:#e7f5f1;border-color:#64b1a6;box-shadow:0 0 0 4px #64b1a61a}.attendance-flow-header{background:linear-gradient(132deg,#063d3a 0%,#087268 64%,#149887 100%);border:0;border-radius:1.1rem;min-height:0;margin-bottom:1.35rem;padding:1.15rem 1.35rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 20px 45px #0b534c33}.attendance-flow-header:before{content:"";pointer-events:none;border:1px solid #e8fff826;border-radius:50%;width:430px;height:260px;position:absolute;top:-110px;right:-85px;box-shadow:0 0 0 30px #e8fff80b,0 0 0 62px #e8fff806}.attendance-flow-header:after{display:none}.attendance-flow-header>.attendance-flow-back{color:#f0fffad1;margin-bottom:.8rem}.attendance-flow-header>.attendance-flow-back:hover{color:#fff;background:#ffffff1a;text-decoration:none}.attendance-flow-header .ui-page-header{align-items:flex-end;gap:1.25rem}.attendance-flow-heading{margin:0}.attendance-flow-heading .ui-page-header__copy{z-index:1;position:relative}.attendance-flow-heading .ui-page-header__copy>p{color:#91dfd1;letter-spacing:.16em;margin-bottom:.7rem;font-size:.59rem}.attendance-flow-heading .ui-page-header__copy>h1{color:#fff;letter-spacing:-.06em;max-width:720px;font-size:clamp(1.85rem,3.4vw,2.7rem);line-height:1}.attendance-flow-heading .ui-page-header__copy>span{color:#eafdf7c2;max-width:640px;margin-top:.65rem;font-size:.8rem;line-height:1.55}.attendance-flow-context{z-index:1;background:0 0;border:0;border-radius:0;grid-template-columns:30px minmax(0,1fr);align-items:center;column-gap:.5rem;min-width:170px;padding:0;display:grid;position:relative}.attendance-flow-context>span{color:#b9f2e5;background:#e1fff821;border:1px solid #e1fff859;border-radius:.6rem;grid-row:span 2;width:30px;height:30px}.attendance-flow-context small{color:#e4fcf69e;font-size:.55rem}.attendance-flow-context strong{color:#f1fffc;margin-top:.14rem;font-size:.72rem}.attendance-flow-section-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 .9rem;display:flex}.attendance-flow-section-head>div>span,.attendance-flow-section-head h2{display:block}.attendance-flow-section-head>div>span{color:#6d938c;letter-spacing:.16em;font-size:.56rem;font-weight:900}.attendance-flow-section-head h2{color:#143e3a;letter-spacing:-.04em;margin:.35rem 0 0;font-size:1.18rem}.attendance-flow-section-head>small{color:#7d9691;font-size:.64rem;font-weight:800}.attendance-flow-intro,.attendance-flow-selection-note{display:none}.attendance-flow-cards{gap:1rem}.attendance-flow-cards--primary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-flow-cards--groups{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-flow-card{background:#fff;border:1px solid #dceae6;border-top:3px solid #54aa9d;border-radius:1.15rem;min-height:244px;padding:1.35rem 1.4rem 1.2rem;box-shadow:0 10px 30px #1d4b460e}.attendance-flow-card--study{border-top-color:#4ca79b}.attendance-flow-card--bed{border-top-color:#d2a251}.attendance-flow-card:hover{background:#fff;border-color:#9fcfc6;transform:translateY(-4px);box-shadow:0 18px 38px #1d4b461f}.attendance-flow-card--bed:hover{border-color:#dfc184}.attendance-flow-card-top{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.attendance-flow-card-icon{color:#1e8377;background:#edf8f5;border:1px solid #c8e5df;border-radius:1rem;width:58px;height:58px;margin:0}.attendance-flow-card--bed .attendance-flow-card-icon{color:#a3752f;background:#fdf7ea;border-color:#ead8b5}.attendance-flow-card-number{color:#9bb5af;letter-spacing:.14em;font-size:.68rem;font-weight:900}.attendance-flow-card-copy{margin-top:1.55rem}.attendance-flow-card-copy>small{color:#6c8f89;letter-spacing:.14em;font-size:.56rem}.attendance-flow-card-copy>strong{color:#173f3b;letter-spacing:-.05em;margin-top:.4rem;font-size:1.55rem}.attendance-flow-card-copy>span{color:#718984;max-width:380px;margin-top:.55rem;font-size:.76rem;line-height:1.6}.attendance-flow-card-footer{color:#247e74;border-top:1px solid #e8f0ee;padding-top:.9rem}.attendance-flow-card--bed .attendance-flow-card-footer{color:#9a702d}.attendance-flow-card-footer>span{gap:.16rem;display:grid}.attendance-flow-card-footer b{color:inherit;font-size:.68rem;font-weight:850}.attendance-flow-card-footer small{color:#8aa09c;font-size:.59rem;font-weight:700}.attendance-flow-card--bed .attendance-flow-card-footer small{color:#aa9676}.attendance-flow-cards--groups .attendance-flow-card{min-height:210px;padding:1.15rem 1.2rem 1rem}.attendance-flow-cards--groups .attendance-flow-card-copy{margin-top:1rem}.attendance-flow-cards--groups .attendance-flow-card-copy>strong{font-size:1.18rem}.attendance-flow-cards--groups .attendance-flow-card-copy>span{margin-top:.42rem;font-size:.7rem}.attendance-flow-cards--groups .attendance-flow-card-icon{border-radius:.8rem;width:45px;height:45px}.attendance-flow-monthly-panel{background:#fff;border:1px solid #d5e5e1;border-radius:1rem;margin-top:1.25rem;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f4a450f}.attendance-flow-monthly-panel--bed{border-color:#e6dac2}.attendance-flow-monthly-head{position:relative}.attendance-flow-monthly-toggle{width:100%;min-height:84px;color:inherit;cursor:pointer;text-align:left;background:linear-gradient(120deg,#f8fcfb,#f0f8f6);border:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem 1.15rem;display:grid}.attendance-flow-monthly-panel--bed .attendance-flow-monthly-toggle{background:linear-gradient(120deg,#fffdf8,#faf5e9)}.attendance-flow-monthly-toggle:hover{background:#f0f8f6}.attendance-flow-monthly-panel--bed .attendance-flow-monthly-toggle:hover{background:#faf4e5}.attendance-flow-monthly-toggle:focus-visible{z-index:2;outline-offset:-3px;outline:3px solid #1d807433;position:relative}.attendance-flow-monthly-toggle-icon{color:#16796f;background:#e7f4f1;border:1px solid #c8e3dd;border-radius:.75rem;place-items:center;width:42px;height:42px;display:grid}.attendance-flow-monthly-panel--bed .attendance-flow-monthly-toggle-icon{color:#9c6e27;background:#fff6e5;border-color:#ead8b7}.attendance-flow-monthly-toggle>span:nth-child(2),.attendance-flow-monthly-toggle>span:nth-child(2)>*{min-width:0;display:block}.attendance-flow-monthly-toggle small{color:#5d8982;letter-spacing:.13em;font-size:.55rem;font-weight:900}.attendance-flow-monthly-toggle strong{color:#183f3a;letter-spacing:-.025em;margin-top:.2rem;font-size:.92rem}.attendance-flow-monthly-toggle em{color:#77908b;margin-top:.22rem;font-size:.63rem;font-style:normal}.attendance-flow-monthly-toggle-meta{color:#3f756e;white-space:nowrap;align-items:center;gap:.55rem;font-size:.64rem;font-weight:800;display:inline-flex}.attendance-flow-monthly-toggle-meta svg{transition:transform .18s}.attendance-flow-monthly-toggle[aria-expanded=true] .attendance-flow-monthly-toggle-meta svg{transform:rotate(180deg)}.attendance-flow-monthly-period{z-index:8;gap:.28rem;width:100px;display:grid;position:absolute;top:50%;right:1.15rem;transform:translateY(-50%)}.attendance-flow-monthly-period>span{color:#80683d;letter-spacing:.07em;text-transform:uppercase;font-size:.5rem;font-weight:850}.attendance-flow-monthly-period select{color:#174f45;cursor:pointer;background:#fffffff0;border:1px solid #b9d5ce;border-radius:.6rem;outline:0;width:100%;height:32px;padding:0 .55rem;font-size:.65rem;font-weight:800;box-shadow:0 3px 10px #144f450f}.attendance-flow-monthly-period select:hover{border-color:#79ad9f}.attendance-flow-monthly-period select:focus-visible{border-color:#288877;box-shadow:0 0 0 3px #28887724}.attendance-flow-monthly-period select:disabled{cursor:wait;opacity:.62}.attendance-flow-monthly-content{border-top:1px solid #dce9e6}.attendance-flow-monthly-content.is-preloaded{visibility:hidden;pointer-events:none;border-top:0;height:0;overflow:hidden}.attendance-flow-monthly-skeleton{background:#fff;min-height:328px;overflow:hidden}.attendance-flow-monthly-skeleton>div{width:100%;min-width:760px}.attendance-flow-monthly-skeleton-row{border-bottom:1px solid #e5ecea;grid-template-columns:42px 188px minmax(530px,1fr);height:40px;display:grid}.attendance-flow-monthly-skeleton-row.head{height:48px}.attendance-flow-monthly-skeleton-row i{background:#f8fbfa;border-right:1px solid #e5ecea;position:relative;overflow:hidden}.attendance-flow-monthly-skeleton-row i:after{content:"";background:linear-gradient(90deg,#e7efed 20%,#f4f8f7 42%,#e7efed 66%) 0 0/260% 100%;border-radius:.4rem;animation:1.25s ease-in-out infinite attendance-flow-skeleton-shimmer;position:absolute;inset:9px 18%}.attendance-flow-monthly-skeleton-row i:first-child{background:#edf7f4}.attendance-flow-monthly-skeleton-row i:first-child:after{inset:8px 14px}.attendance-flow-monthly-skeleton-row i:nth-child(2){background:#fff}.attendance-flow-monthly-skeleton-row i:nth-child(2):after{inset:12px 24px 12px 12px}.attendance-flow-monthly-skeleton-row i:last-child{background:repeating-linear-gradient(90deg,#fff 0 33px,#e5ecea 33px 34px)}.attendance-flow-monthly-skeleton-row i:last-child:after{background:repeating-linear-gradient(90deg,#e7efed 0 18px,#0000 18px 34px);animation-name:attendance-flow-skeleton-pulse;inset:10px 7px}.attendance-flow-monthly-skeleton-row.head i{background:#f4f8f7}.attendance-flow-monthly-skeleton-row.head i:after{inset-block:14px}.attendance-flow-monthly-skeleton--bed .attendance-flow-monthly-skeleton-row i:first-child{background:#fff8ea}@keyframes attendance-flow-skeleton-shimmer{to{background-position:-160% 0}}@keyframes attendance-flow-skeleton-pulse{50%{opacity:.48}}@media (prefers-reduced-motion:reduce){.attendance-flow-monthly-skeleton-row i:after{animation:none}}.attendance-flow-monthly-state{min-height:220px;box-shadow:none;border:0;border-top:1px solid #e5eeec;border-radius:0}.attendance-flow-matrix-scroll{overscroll-behavior:contain auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;border-top:1px solid #e3ecea;max-width:100%;max-height:68vh;overflow:auto}.attendance-flow-matrix-scroll table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.attendance-flow-matrix-scroll th,.attendance-flow-matrix-scroll td{box-sizing:border-box;border-bottom:1px solid #e5ecea;border-right:1px solid #e5ecea}.attendance-flow-matrix-scroll thead th{z-index:4;color:#718782;text-align:center;background:#f4f8f7;width:34px;min-width:34px;height:48px;position:sticky;top:0}.attendance-flow-matrix-scroll thead th strong,.attendance-flow-matrix-scroll thead th small{display:block}.attendance-flow-matrix-scroll thead th strong{color:#264a45;font-size:.7rem}.attendance-flow-matrix-scroll thead th small{text-transform:uppercase;margin-top:.1rem;font-size:.52rem}.attendance-flow-matrix-scroll tbody td{text-align:center;background:#fff;width:34px;min-width:34px;height:40px;padding:0}.attendance-flow-matrix-scroll tbody tr:hover td,.attendance-flow-matrix-scroll tbody tr:hover .attendance-flow-matrix-student-column{background:#f8fbfa}.attendance-flow-matrix-scroll .attendance-flow-matrix-group-column{z-index:2;color:#276f67;text-align:center;vertical-align:middle;background:#edf7f4;width:42px;min-width:42px;max-width:42px;padding:.45rem .2rem;position:sticky;left:0;box-shadow:1px 0 #d9e7e4}.attendance-flow-matrix-scroll thead .attendance-flow-matrix-group-column{z-index:7;color:#196b62;letter-spacing:.07em;text-transform:uppercase;padding:0 .25rem;font-size:.58rem}.attendance-flow-matrix-scroll tbody .attendance-flow-matrix-group-column span{letter-spacing:.035em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-size:.64rem;font-weight:800;line-height:1.15;display:inline-block;transform:rotate(180deg)}.attendance-flow-monthly-panel--bed .attendance-flow-matrix-scroll .attendance-flow-matrix-group-column{color:#8d6529;background:#fff8ea;box-shadow:1px 0 #e9dfcb}.attendance-flow-matrix-scroll .attendance-flow-matrix-student-column{z-index:2;color:#1d403b;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#fff;width:188px;min-width:188px;max-width:188px;padding:0 .75rem;font-size:.7rem;position:sticky;left:42px;overflow:hidden;box-shadow:1px 0 #dbe5e2}.attendance-flow-matrix-scroll thead .attendance-flow-matrix-student-column{z-index:6;color:#315f59;letter-spacing:.07em;text-transform:uppercase;background:#f1f6f5;font-size:.58rem}.attendance-flow-matrix-scroll .today{background:#eaf6f3;box-shadow:inset 1px 0 #bfded7,inset -1px 0 #bfded7}.attendance-flow-matrix-scroll .attendance-matrix-empty-mark{color:#c2cbc8;font:700 1rem/1 Arial,sans-serif}.attendance-flow-matrix-scroll tbody:last-child tr:last-child>*{border-bottom:0}.attendance-flow-monthly-panel--study{isolation:isolate;background:#fbfdfc;border-color:#1b796a #b9d8d0 #b9d8d0;border-top-style:solid;border-top-width:3px;position:relative;box-shadow:0 16px 38px #124b411a,0 2px 6px #124b410a}.attendance-flow-monthly-panel--study:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#c4a05b33,#c4a05b00 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-112px;right:7%}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle{background:linear-gradient(105deg,#fffffffa 0%,#f4fbf8f7 46%,#e2f2ecf0 100%);min-height:92px;padding:1.05rem 8.1rem 1.05rem 1.25rem;transition:background .18s,box-shadow .18s}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle:hover{background:linear-gradient(105deg,#fff 0%,#eff8f4 52%,#dfeee9 100%);box-shadow:inset 0 0 0 1px #1f78680f}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle-icon{color:#f8fffc;background:linear-gradient(145deg,#218675,#11584d);border-color:#176b5d;border-radius:.85rem;width:46px;height:46px;box-shadow:0 8px 18px #14645633,inset 0 1px #ffffff2e}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle small{color:#a17632}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle strong{color:#123f36;margin-top:.25rem;font-size:1rem;font-weight:800}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle em{color:#667e78}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle-meta{color:#185f53;background:#ffffffd1;border:1px solid #c4ddd6;border-radius:999px;gap:.45rem;min-height:32px;padding:0 .45rem 0 .72rem;transform:translateY(7px);box-shadow:0 4px 12px #144f450f}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle-meta svg{color:#b1843e;width:16px}.attendance-flow-monthly-panel--study .attendance-flow-monthly-content{border-top-color:#bfd9d2}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll{background:#f7faf9;border-top:0}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll th,.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll td{border-color:#dce8e4}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th{color:#78908a;background:#f0f6f4;height:52px;box-shadow:inset 0 -1px #cfdfda}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th strong{color:#1c5147}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th small{color:#8c9c98}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll .attendance-flow-matrix-group-column{color:#176759;background:linear-gradient(#e7f4ef,#deeee8);box-shadow:1px 0 #c5ddd6,5px 0 14px #185b4e0a}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead .attendance-flow-matrix-group-column{color:#fff;background:#17695b;box-shadow:1px 0 #0f574c,inset 0 -1px #00000014}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody .attendance-flow-matrix-group-column span{font-weight:850}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll .attendance-flow-matrix-student-column{color:#1b4038;box-shadow:1px 0 #cfded9,6px 0 14px #15443b09}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead .attendance-flow-matrix-student-column{color:#184f45;background:#e8f1ee}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody tr:nth-child(2n) td,.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody tr:nth-child(2n) .attendance-flow-matrix-student-column{background:#fbfdfc}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody+tbody tr:first-child>*{border-top:2px solid #bcd7d0}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody td[data-status=present]{background:#f4fbf8}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody td[data-status=late]{background:#fffbef}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody td[data-status=absent]{background:#fff8f8}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody td[data-status=excused]{background:#faf8fd}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll .today{background:#dff1ec;box-shadow:inset 1px 0 #add4ca,inset -1px 0 #add4ca}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead .today{color:#fff;background:#b1843f;box-shadow:inset 1px 0 #9a7133,inset -1px 0 #9a7133,inset 0 -1px #956d30}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead .today strong,.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead .today small{color:#fff}.attendance-flow-monthly-panel--study .attendance-matrix-status{box-shadow:inset 0 0 0 1px #19433a14}@media (width>=1200px){.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll{scrollbar-gutter:auto;overflow-x:hidden}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll table{width:100%;min-width:100%}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th:not(.attendance-flow-matrix-group-column):not(.attendance-flow-matrix-student-column),.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll tbody td{width:auto;min-width:0}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll .attendance-flow-matrix-group-column{width:40px;min-width:40px;max-width:40px}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll .attendance-flow-matrix-student-column{width:168px;min-width:168px;max-width:168px;padding-inline:.65rem;left:40px}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th strong{font-size:.64rem}.attendance-flow-monthly-panel--study .attendance-flow-matrix-scroll thead th small{font-size:.47rem}.attendance-flow-monthly-panel--study .attendance-matrix-status{width:21px;height:21px}.attendance-flow-monthly-panel--study .attendance-matrix-status svg{width:12px;height:12px}}@media (width<=640px){.attendance-flow-monthly-panel{border-radius:.85rem;margin-top:.85rem}.attendance-flow-monthly-toggle{grid-template-columns:36px minmax(0,1fr) auto;gap:.6rem;min-height:76px;padding:.8rem}.attendance-flow-monthly-toggle-icon{border-radius:.65rem;width:36px;height:36px}.attendance-flow-monthly-toggle strong{font-size:.78rem}.attendance-flow-monthly-toggle em{font-size:.57rem}.attendance-flow-monthly-toggle-meta{gap:.2rem;font-size:0}.attendance-flow-monthly-toggle-meta svg{width:17px;height:17px}.attendance-flow-monthly-skeleton>div{min-width:740px}.attendance-flow-monthly-skeleton-row{grid-template-columns:38px 138px minmax(564px,1fr)}.attendance-flow-matrix-scroll{max-height:64vh}.attendance-flow-matrix-scroll thead th,.attendance-flow-matrix-scroll tbody td{width:38px;min-width:38px}.attendance-flow-matrix-scroll tbody td{height:42px}.attendance-flow-matrix-scroll .attendance-flow-matrix-group-column{width:38px;min-width:38px;max-width:38px;padding-inline:.15rem}.attendance-flow-matrix-scroll tbody .attendance-flow-matrix-group-column span{font-size:.58rem}.attendance-flow-matrix-scroll .attendance-flow-matrix-student-column{width:138px;min-width:138px;max-width:138px;padding:0 .5rem;font-size:.64rem;left:38px}.attendance-flow-matrix-scroll .attendance-matrix-status{width:25px;height:25px}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle{min-height:80px;padding:.82rem 6.9rem .82rem .82rem}.attendance-flow-monthly-period{gap:.2rem;width:88px;right:.7rem}.attendance-flow-monthly-period>span{font-size:.45rem}.attendance-flow-monthly-period select{height:30px;padding-inline:.45rem;font-size:.6rem}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle-icon{border-radius:.7rem;width:38px;height:38px}.attendance-flow-monthly-panel--study .attendance-flow-monthly-toggle-meta{border-radius:.65rem;min-height:30px;padding:0 .35rem;transform:translateY(6px)}}.attendance-final-page{width:min(100%,1100px);max-width:none;margin:0 auto;padding:1.75rem 0 5rem}.attendance-final-header{background:linear-gradient(132deg,#063d3a 0%,#087268 64%,#149887 100%);border-radius:1.15rem;margin-bottom:1rem;padding:1.05rem 1.35rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 16px 34px #0b534c29}.attendance-final-header:after{content:"";pointer-events:none;border:1px solid #e8fff826;border-radius:50%;width:360px;height:230px;position:absolute;top:-120px;right:-100px;box-shadow:0 0 0 28px #e8fff80a,0 0 0 58px #e8fff806}.attendance-final-header-top{z-index:1;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.attendance-final-header-top .attendance-flow-back{color:#f0fffad1;margin:0}.attendance-final-header-top .attendance-flow-back:hover{color:#fff;background:#ffffff1a;text-decoration:none}.attendance-final-step{color:#e7fef7c2}.attendance-final-step b{color:#c7f5eb;background:#e1fff81f;border:1px solid #e1fff859;border-radius:50%;width:30px;height:30px;font-size:.6rem}.attendance-final-step small{font-size:.62rem;font-weight:850}.attendance-final-header-main{z-index:1;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:1.2rem 0 1rem;display:flex;position:relative}.attendance-final-scope{gap:.7rem}.attendance-final-scope-icon{color:#c2f2e8;background:#e1fff81f;border:1px solid #e1fff857;border-radius:.75rem;width:42px;height:42px}.attendance-final-scope>span:last-child{min-width:0}.attendance-final-scope p{color:#91dfd1;letter-spacing:.14em;margin:0 0 .3rem;font-size:.55rem;font-weight:900}.attendance-final-scope h1{color:#fff;font:700 clamp(1.55rem, 2.5vw, 2.15rem)/1 var(--font-heading);letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.attendance-final-scope small{color:#eafdf7b8;margin-top:.35rem;font-size:.68rem}.attendance-final-count{border-left:1px solid #e2fff833;min-width:105px;padding-left:.9rem}.attendance-final-count strong,.attendance-final-count span{display:block}.attendance-final-count strong{color:#fff;letter-spacing:-.06em;font-size:1.65rem;line-height:1}.attendance-final-count span{color:#eafdf7a8;margin-top:.25rem;font-size:.58rem}.attendance-final-selection{z-index:1;border-top:1px solid #e2fff833;grid-template-columns:minmax(250px,340px) minmax(215px,275px);align-items:end;gap:.75rem;width:fit-content;max-width:100%;padding-top:.7rem;display:grid;position:relative}.attendance-final-selection--study{grid-template-columns:minmax(250px,340px) minmax(145px,210px) minmax(215px,275px)}.attendance-final-selection--bed{grid-template-columns:minmax(250px,340px) minmax(215px,275px)}.attendance-final-selection>label{min-width:0}.attendance-final-selection>label>span{color:#eafdf7c7;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.55rem;font-weight:850;display:block}.attendance-final-selection input,.attendance-final-selection select{color:#193d39;background:#fffffff2;border:1px solid #e2fff861;border-radius:.58rem;width:100%;min-width:0;height:38px;font-size:.67rem}.attendance-final-selection select{padding:0 .65rem}.attendance-final-selection .attendance-date-field{background:#fffffffa;border:1px solid #e2fff885;border-radius:.7rem;grid-template-columns:36px minmax(0,1fr) 36px;height:42px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 4px 12px #002e2b1f}.attendance-final-selection .attendance-date-field:focus-within{border-color:#b1eee2;box-shadow:0 0 0 3px #b1eee233,0 4px 12px #002e2b1f}.attendance-final-selection .attendance-date-field input{border:0;border-radius:0;height:40px}.attendance-final-selection .attendance-date-picker-value{color:#143d38;letter-spacing:.01em;padding-inline:.7rem;font-size:.72rem;font-weight:750}.attendance-final-selection .attendance-date-picker-value>svg{color:#4b827a}.attendance-final-selection .attendance-date-field button{color:#4a7e76;cursor:pointer;background:#eef8f5;border:0;place-items:center;transition:color .16s,background-color .16s;display:grid}.attendance-final-selection .attendance-date-field button:hover:not(:disabled){background:#dff2ed}.attendance-final-selection .attendance-date-field button:disabled{cursor:not-allowed;opacity:.4}.attendance-final-selection .attendance-session-state{color:#dff8f2;background:#00383540;border:1px solid #e2fff840;border-left:3px solid #8dd7cb;border-radius:.7rem;width:100%;min-height:42px;margin:0;padding:.4rem .75rem}.attendance-final-selection .attendance-session-state svg{width:17px;height:17px}.attendance-final-selection .attendance-session-state strong{color:#f0fffb;font-size:.68rem}.attendance-final-selection .attendance-session-state small{color:#eafdf7a3;margin-top:.12rem;font-size:.58rem}.attendance-final-selection .attendance-session-state.draft{color:#ffe8ae;background:#65491647;border-color:#ffe09d59 #ffe09d59 #ffe09d59 #e6bb64}.attendance-final-selection .attendance-session-state.completed{color:#bff0e5;background:#186e604d;border-color:#bff0e559 #bff0e559 #bff0e559 #9ae0d2}.attendance-final-page .attendance-overview{box-shadow:none;border:1px solid #dce8e5;border-left:0;border-right:0;border-radius:0;margin-bottom:1.15rem}.attendance-final-page .attendance-progress-head{background:0 0;min-height:72px;padding:1rem 0}.attendance-final-page .attendance-summary-grid{background:#f8fbfa}.attendance-final-page .attendance-summary-card{background:0 0;border-right-color:#e0ebe8;min-height:76px;padding:.8rem 1rem}.attendance-final-page .attendance-summary-card>span:first-child{border-radius:.65rem;width:31px;height:31px}.attendance-final-page .attendance-location-nav{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #e0ebe8;border-radius:0;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);margin:0 0 .8rem;padding:.85rem 0 .8rem}.attendance-final-page .attendance-location-options button{background:#fff;border-radius:.65rem;min-height:43px}.attendance-final-page .attendance-group{border-radius:.85rem;box-shadow:0 8px 22px #2147440d}@media (width<=900px){.attendance-flow-cards--groups{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-flow-header .ui-page-header,.attendance-final-header-main{align-items:flex-start}.attendance-final-selection{grid-template-columns:minmax(170px,1fr) minmax(145px,1fr);width:100%}.attendance-final-selection--study .attendance-session-state{grid-column:1/-1}.attendance-final-selection--bed{grid-template-columns:minmax(220px,340px) minmax(215px,1fr)}}@media (width<=640px){.attendance-flow-page{padding-top:0}.attendance-flow-progress{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:.7rem}.attendance-flow-steps{justify-content:space-between;gap:.3rem;width:100%}.attendance-flow-steps>i{flex:1;width:auto}.attendance-flow-step small{display:inline}.attendance-flow-header{border-radius:.95rem;margin-bottom:1.15rem;padding:1rem .95rem 1.1rem}.attendance-flow-header .ui-page-header{gap:.9rem}.attendance-flow-heading .ui-page-header__copy>h1{font-size:clamp(1.8rem,10vw,2.4rem)}.attendance-flow-heading .ui-page-header__copy>span{margin-top:.55rem;font-size:.74rem}.attendance-flow-context{min-width:0}.attendance-flow-section-head{margin-bottom:.7rem}.attendance-flow-section-head h2{font-size:1.05rem}.attendance-flow-cards--primary,.attendance-flow-cards--groups{grid-template-columns:1fr}.attendance-flow-card,.attendance-flow-cards--groups .attendance-flow-card{min-height:210px;padding:1.1rem}.attendance-flow-card-copy{margin-top:1.2rem}.attendance-final-page{padding:.65rem .75rem 3.5rem}.attendance-final-header{border-radius:.85rem;margin-bottom:.75rem;padding:.7rem .75rem .75rem;box-shadow:0 10px 22px #0b534c24}.attendance-final-header-top{gap:.45rem}.attendance-final-header-top .attendance-flow-back{gap:.2rem;min-height:28px;padding:0 .3rem;font-size:.59rem}.attendance-final-step{gap:.3rem}.attendance-final-step b{width:25px;height:25px;font-size:.53rem}.attendance-final-step small{font-size:.55rem}.attendance-final-header-main{flex-direction:row;align-items:center;gap:.65rem;min-width:0;margin:.7rem 0 .65rem}.attendance-final-scope{gap:.5rem;min-width:0}.attendance-final-scope-icon{border-radius:.6rem;width:34px;height:34px}.attendance-final-scope-icon svg{width:18px;height:18px}.attendance-final-scope p{letter-spacing:.12em;margin-bottom:.15rem;font-size:.48rem}.attendance-final-scope h1{letter-spacing:-.045em;font-size:clamp(1.15rem,5.5vw,1.45rem);line-height:1.05}.attendance-final-scope small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:.2rem;font-size:.57rem;line-height:1.25;overflow:hidden}.attendance-final-count{border-top:0;border-left:1px solid #e2fff833;flex:none;width:auto;min-width:auto;padding:0 0 0 .65rem;display:block}.attendance-final-count strong{font-size:1.35rem}.attendance-final-count span{white-space:nowrap;margin-top:.18rem;font-size:.52rem}.attendance-final-selection{grid-template-columns:minmax(0,1.35fr) minmax(108px,.85fr);gap:.5rem;width:100%;padding-top:.55rem}.attendance-final-selection--study{grid-template-columns:minmax(0,1.2fr) minmax(92px,.8fr)}.attendance-final-selection--study .attendance-session-state{grid-column:1/-1}.attendance-final-selection>label>span{letter-spacing:.1em;margin-bottom:.2rem;font-size:.5rem}.attendance-final-selection input,.attendance-final-selection select{height:34px;font-size:.63rem}.attendance-final-selection select{padding-inline:.5rem}.attendance-final-selection .attendance-date-field{border-radius:.58rem;grid-template-columns:30px minmax(0,1fr) 30px;height:36px}.attendance-final-selection .attendance-date-field button{min-width:0}.attendance-final-selection .attendance-date-picker-value{padding-inline:.45rem;font-size:.63rem}.attendance-final-selection .attendance-session-state{border-radius:.58rem;min-height:36px;padding:.3rem .55rem}.attendance-final-selection .attendance-session-state>span:last-child{min-width:0}.attendance-final-selection .attendance-session-state svg{width:15px;height:15px}.attendance-final-selection .attendance-session-state strong{font-size:.6rem}.attendance-final-selection .attendance-session-state small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:.08rem;font-size:.52rem;overflow:hidden}.attendance-final-page .attendance-progress-head{grid-template-columns:1fr;gap:.6rem}.attendance-final-page .attendance-progress-track{grid-area:auto}.attendance-final-page .attendance-location-nav{grid-template-columns:1fr;gap:.7rem;padding-top:.75rem}}@media (width<=420px){.attendance-flow-step small{display:none}.attendance-flow-steps{justify-content:flex-start}.attendance-flow-steps>i{flex:0 28px}.attendance-final-header-top{flex-direction:row;align-items:center;gap:.4rem}}.attendance-group>header{align-items:center;gap:.8rem;min-height:58px;padding:.75rem 1rem}.attendance-group-heading{flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.attendance-group-heading>span:first-child{align-items:baseline;gap:.55rem;min-width:0;display:flex}.attendance-group-heading strong{color:#365f5a;font-size:.76rem}.attendance-group-heading small{color:#7b918e;font-size:.62rem}@media (width<=760px){.attendance-group>header{flex-direction:column;align-items:stretch;padding:.75rem .8rem}.attendance-group-heading{align-items:flex-start;gap:.55rem}.attendance-group-heading>span:first-child{flex-direction:column;align-items:flex-start;gap:.18rem}}.attendance-student>span:first-child{border-radius:.7rem;width:42px;height:42px;font-size:.72rem}@media (width<=760px){.attendance-group table{min-width:0}.attendance-group td{padding:.95rem}.attendance-student>span:first-child{width:44px;height:44px}.attendance-student strong{font-size:.86rem}.attendance-student small{font-size:.68rem}.attendance-status-buttons button{min-height:48px;font-size:.7rem}}.attendance-date-picker-value{color:#355e59;cursor:pointer;justify-content:space-between;align-items:center;gap:.4rem;min-width:0;height:100%;padding:0 .55rem;font-size:.7rem;display:flex;position:relative}.attendance-date-picker-value>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-date-picker-value>svg{color:#5a8780;pointer-events:none;flex:none}.attendance-date-picker{opacity:0;pointer-events:none;cursor:pointer;inset:0;border:0!important;width:100%!important;min-width:0!important;height:100%!important;padding:0!important;position:absolute!important}.attendance-date-picker-value[aria-disabled=true]{cursor:not-allowed;opacity:.72}.attendance-groups{gap:.55rem}.attendance-group{border-color:#d8e7e3;border-radius:.8rem;box-shadow:0 4px 14px #243a3a0a}.attendance-group>header{gap:.65rem;min-height:50px;padding:.55rem .85rem}.attendance-group-heading{gap:.75rem}.attendance-group-heading>span:first-child{gap:.4rem}.attendance-group-heading strong{font-size:.72rem}.attendance-group-heading small{font-size:.58rem}.attendance-group table{min-width:700px}.attendance-group td{min-height:60px;padding:.55rem .85rem}.attendance-student{gap:.6rem}.attendance-student>span:first-child{width:34px;height:34px;font-size:.64rem}.attendance-student strong{font-size:.76rem}.attendance-student small{margin-top:.1rem;font-size:.6rem}.attendance-status-buttons{gap:.35rem}.attendance-status-buttons button{border-radius:.55rem;gap:.25rem;min-height:36px;padding:0 .6rem;font-size:.62rem}.attendance-status-buttons button svg{width:14px;height:14px}@media (width<=760px){.attendance-group{border-radius:.75rem}.attendance-group>header{background:#f8fcfb;min-height:0;padding:.55rem .6rem .6rem}.attendance-group-heading{align-items:center;gap:.45rem;width:100%}.attendance-group-heading>span:first-child{flex-direction:row;align-items:baseline;gap:.4rem}.attendance-group-heading strong{font-size:.68rem}.attendance-group-heading small{font-size:.56rem}.attendance-group table{width:100%;min-width:0;max-width:100%}.attendance-group tbody{background:#f3f8f6;gap:.3rem;width:100%;padding:.35rem}.attendance-group tr{background:#fff;border:1px solid #e0ebe8;border-left:3px solid #b8cbc7;border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;min-height:58px;display:grid;box-shadow:0 2px 7px #243a3a09}.attendance-group td{border:0;align-items:center;min-width:0;min-height:58px;padding:.45rem .4rem;display:flex}.attendance-group td:before{display:none}.attendance-group td:first-child{border-left:0;width:auto;min-width:0}.attendance-group td:last-child{justify-content:flex-end;width:auto;max-width:none;padding-left:.22rem;padding-right:.35rem}.attendance-student{gap:.42rem;min-width:0}.attendance-student>span:first-child{background:#edf8f5;border:1px solid #d5e9e4;border-radius:50%;width:32px;height:32px;font-size:.6rem}.attendance-student>span:last-child{min-width:0}.attendance-student strong{font-size:.72rem;line-height:1.15}.attendance-student>span:last-child>small{display:none}.attendance-status-buttons{background:#f8fbfa;border:1px solid #deebe8;border-radius:.58rem;flex-wrap:nowrap;flex:none;gap:.15rem;width:auto;max-width:none;padding:.16rem;display:flex}.attendance-status-buttons button{background:#fff;border-color:#e0e9e7;border-radius:.42rem;flex:none;gap:0;min-width:0;min-height:40px;padding:0 .28rem;font-size:.62rem}.attendance-status-buttons button svg,.attendance-status-label-full{display:none}.attendance-status-label-short{display:inline}.attendance-leave-record{gap:4px;max-width:100%;margin-top:.15rem;padding:2px 4px}.attendance-leave-record b{font-size:.56rem}.attendance-leave-record small{font-size:.54rem}}@media (width<=380px){.attendance-final-selection{grid-template-columns:minmax(0,1.45fr) minmax(104px,.85fr);gap:.4rem}.attendance-final-selection--study{grid-template-columns:minmax(0,1.15fr) minmax(88px,.85fr)}.attendance-final-selection .attendance-date-field{grid-template-columns:28px minmax(0,1fr) 28px}.attendance-final-selection .attendance-date-picker-value{padding-inline:.35rem;font-size:.6rem}.attendance-final-selection .attendance-session-state{padding-inline:.45rem}.attendance-final-selection .attendance-session-state strong{font-size:.57rem}.attendance-final-selection .attendance-session-state small{font-size:.5rem}.attendance-group>header{padding-inline:.55rem}.attendance-group-heading>span:first-child{gap:.3rem}.attendance-group-heading strong{font-size:.65rem}.attendance-group-heading small{font-size:.54rem}.attendance-group td{padding-inline:.32rem}.attendance-group td:last-child{padding-left:.14rem;padding-right:.28rem}.attendance-student{gap:.34rem}.attendance-student>span:first-child{width:30px;height:30px}.attendance-student strong{font-size:.69rem}.attendance-status-buttons{gap:.12rem}.attendance-status-buttons button{min-height:38px;padding-inline:.24rem;font-size:.59rem}}.student-attendance-calendar{gap:1rem;display:grid}.student-attendance-toolbar{background:linear-gradient(135deg,#f8fcfb,#f1f8f6);border:1px solid #d8e5e2;border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;min-height:70px;padding:.85rem 1rem;display:flex}.student-attendance-toolbar>div{align-items:center;gap:.75rem;min-width:0;display:flex}.student-attendance-toolbar__icon{color:#176b61;background:#e9f6f3;border:1px solid #c7e1dc;border-radius:.7rem;flex:none;place-items:center;width:40px;height:40px;display:grid}.student-attendance-toolbar>div>span:last-child{min-width:0}.student-attendance-toolbar small,.student-attendance-toolbar strong,.student-attendance-toolbar em{display:block}.student-attendance-toolbar small{color:#5f8882;letter-spacing:.11em;font-size:.59rem;font-weight:850}.student-attendance-toolbar strong{color:#173f3a;font:700 1rem/1.2 var(--font-heading);text-transform:capitalize;margin-top:.18rem}.student-attendance-toolbar em{color:#738b87;margin-top:.2rem;font-size:.64rem;font-style:normal}.student-attendance-toolbar nav{background:#ffffffe0;border:1px solid #d6e2df;border-radius:.7rem;flex:none;align-items:center;gap:.2rem;padding:.22rem;display:flex}.student-attendance-toolbar nav button{color:#315f59;cursor:pointer;background:0 0;border:0;border-radius:.52rem;place-items:center;width:34px;height:34px;padding:0;display:grid}.student-attendance-toolbar nav button:hover{background:#edf7f5}.student-attendance-toolbar nav button:disabled{cursor:not-allowed;opacity:.35}.student-attendance-toolbar nav .student-attendance-today{width:auto;padding:0 .7rem;font-size:.67rem;font-weight:800}.student-attendance-summary{background:#dce5e3;border:1px solid #dce5e3;border-radius:.85rem;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.student-attendance-summary>div{background:#fff;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;column-gap:.55rem;min-width:0;min-height:62px;padding:.7rem .8rem;display:grid}.student-attendance-summary>div>span{color:#607c78;background:#f1f5f4;border-radius:.55rem;grid-row:1/3;place-items:center;width:28px;height:28px;display:grid}.student-attendance-summary>div>span.present{color:#08785f;background:#e7f7f1}.student-attendance-summary>div>span.absent{color:#c2414b;background:#fff0f1}.student-attendance-summary>div>span.late{color:#a96916;background:#fff7e7}.student-attendance-summary>div>span.excused{color:#4f6f96;background:#edf4fb}.student-attendance-summary small{color:#7a8d89;text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.61rem;font-weight:700;overflow:hidden}.student-attendance-summary strong{color:#173f3a;font-variant-numeric:tabular-nums;grid-area:1/3/3;font-size:1.05rem}.student-attendance-grid{background:#dce5e3;border:1px solid #dce5e3;border-radius:.95rem;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.student-attendance-weekday{color:#647d79;letter-spacing:.025em;background:#f4f8f7;justify-content:center;align-items:center;min-width:0;height:36px;padding:0 .6rem;font-size:.61rem;font-weight:800;display:flex}.student-attendance-weekday abbr{text-decoration:none;display:none}.student-attendance-day{color:#264d48;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:.5rem;min-width:0;min-height:106px;padding:.55rem;transition:background .16s,box-shadow .16s;display:flex;position:relative}.student-attendance-day:hover{z-index:1;background:#f8fcfb;box-shadow:inset 0 0 0 1px #a8d0ca}.student-attendance-day.is-selected{z-index:2;background:#f0faf7;box-shadow:inset 0 0 0 2px #2f8177}.student-attendance-day.has-absence:not(.is-selected){background:snow}.student-attendance-day.is-outside{background:#f7f9f9;min-height:106px}.student-attendance-day__number{color:#486763;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;min-height:19px;font-size:.69rem;font-weight:800;display:flex}.student-attendance-day.is-today .student-attendance-day__number{color:#156b61}.student-attendance-day__number i{color:#176b61;background:#dff3ef;border-radius:999px;padding:.18rem .35rem;font-size:.5rem;font-style:normal}.student-attendance-day__records{align-content:start;gap:.25rem;min-width:0;display:grid}.student-attendance-mini-status{color:#4c6e68;background:#eff5f3;border-radius:.38rem;align-items:center;gap:.27rem;min-width:0;height:20px;padding:0 .35rem;display:flex;overflow:hidden}.student-attendance-mini-status svg{flex:none}.student-attendance-mini-status b{text-overflow:ellipsis;white-space:nowrap;font-size:.53rem;font-weight:800;overflow:hidden}.student-attendance-mini-status.present{color:#08785f;background:#e7f7f1}.student-attendance-mini-status.absent{color:#bd3843;background:#ffedef}.student-attendance-mini-status.late{color:#9c6419;background:#fff4dd}.student-attendance-mini-status.excused{color:#496b94;background:#eaf2fb}.student-attendance-day__records>em{color:#7a8d89;font-size:.51rem;font-style:normal;font-weight:700}.student-attendance-day-detail{background:#fff;border:1px solid #d9e4e1;border-radius:.9rem;overflow:hidden}.student-attendance-day-detail>header{background:#f9fbfb;border-bottom:1px solid #e1e9e7;justify-content:space-between;align-items:center;gap:1rem;min-height:62px;padding:.75rem 1rem;display:flex}.student-attendance-day-detail>header small,.student-attendance-day-detail>header strong{display:block}.student-attendance-day-detail>header small{color:#6c8984;letter-spacing:.11em;font-size:.56rem;font-weight:850}.student-attendance-day-detail>header strong{color:#173f3a;margin-top:.2rem;font-size:.82rem}.student-attendance-day-detail>header>span{color:#426b65;background:#fff;border:1px solid #d2e2df;border-radius:999px;align-items:center;min-height:26px;padding:0 .55rem;font-size:.62rem;font-weight:800;display:inline-flex}.student-attendance-day-detail>div{background:#e1e9e7;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;display:grid}.student-attendance-day-detail article{background:#fff;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;min-height:66px;padding:.75rem .85rem;display:grid}.student-attendance-detail-icon{color:#5c7772;background:#eff4f3;border-radius:.6rem;place-items:center;width:34px;height:34px;display:grid}.student-attendance-day-detail article.present .student-attendance-detail-icon{color:#08785f;background:#e7f7f1}.student-attendance-day-detail article.absent .student-attendance-detail-icon{color:#bd3843;background:#ffedef}.student-attendance-day-detail article.late .student-attendance-detail-icon{color:#9c6419;background:#fff4dd}.student-attendance-day-detail article.excused .student-attendance-detail-icon{color:#496b94;background:#eaf2fb}.student-attendance-day-detail article div{min-width:0}.student-attendance-day-detail article strong,.student-attendance-day-detail article small{display:block}.student-attendance-day-detail article strong{color:#244944;font-size:.72rem}.student-attendance-day-detail article small{color:#7a8d89;text-overflow:ellipsis;white-space:nowrap;margin-top:.22rem;font-size:.61rem;overflow:hidden}.student-attendance-day-detail article>em{color:#52716c;white-space:nowrap;background:#f1f5f4;border-radius:999px;padding:.28rem .48rem;font-size:.57rem;font-style:normal;font-weight:800}.student-attendance-day-detail article.present>em{color:#08785f;background:#e7f7f1}.student-attendance-day-detail article.absent>em{color:#bd3843;background:#ffedef}.student-attendance-day-detail article.late>em{color:#9c6419;background:#fff4dd}.student-attendance-day-detail article.excused>em{color:#496b94;background:#eaf2fb}.student-attendance-day-detail>p{color:#7b8e8a;text-align:center;place-items:center;min-height:76px;margin:0;padding:1rem;font-size:.7rem;display:grid}.student-attendance-state{border:1px solid #dce5e3;border-radius:.9rem;min-height:320px}@media (width<=720px){.student-attendance-calendar{gap:.75rem}.student-attendance-toolbar{flex-direction:column;align-items:stretch;min-height:0;padding:.75rem}.student-attendance-toolbar nav{justify-content:space-between;align-self:stretch}.student-attendance-toolbar nav .student-attendance-today{flex:1}.student-attendance-summary>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:54px;padding:.45rem .2rem;display:flex}.student-attendance-summary>div>span{grid-row:auto;width:23px;height:23px}.student-attendance-summary>div>span svg{width:12px;height:12px}.student-attendance-summary small{align-self:auto;max-width:100%;font-size:.5rem}.student-attendance-summary strong{grid-area:auto;font-size:.78rem}.student-attendance-weekday{height:30px;padding:0;font-size:.52rem}.student-attendance-weekday span{display:none}.student-attendance-weekday abbr{display:block}.student-attendance-day,.student-attendance-day.is-outside{gap:.28rem;min-height:61px;padding:.32rem}.student-attendance-day__number{min-height:16px;font-size:.59rem}.student-attendance-day__number i{display:none}.student-attendance-day__records{align-content:initial;flex-wrap:wrap;gap:.16rem;display:flex}.student-attendance-day__records .student-attendance-mini-status:not(.type-bed),.student-attendance-day__records>em{display:none}.student-attendance-mini-status{border-radius:50%;place-items:center;width:15px;height:15px;padding:0;display:grid}.student-attendance-mini-status b{display:none}.student-attendance-mini-status svg{width:9px;height:9px}.student-attendance-day-detail>div{grid-template-columns:1fr}.student-attendance-day-detail article{grid-template-columns:30px minmax(0,1fr) auto;gap:.5rem;min-height:61px;padding:.65rem .7rem}.student-attendance-detail-icon{width:30px;height:30px}.student-attendance-day-detail article>em{padding:.25rem .4rem;font-size:.53rem}}.rooms-page--embedded{width:100%;margin:0;padding:0}.rooms-page--embedded .rooms-feedback{margin:.8rem .9rem 0}.rooms-page--embedded .rooms-command-center{box-shadow:none;border:0;border-bottom:1px solid #e2ebe9;border-radius:0;margin:0}.rooms-page--embedded .rooms-toolbar{background:#fbfdfc;min-height:68px;padding:.75rem .9rem}.rooms-create-button{color:#fff;cursor:pointer;background:#176f64;border:1px solid #176f64;border-radius:.68rem;flex:none;justify-content:center;align-items:center;gap:.4rem;min-height:42px;padding:0 .9rem;font-size:.7rem;font-weight:800;display:inline-flex;box-shadow:0 6px 14px #176f6429}.rooms-create-button:hover{background:#105d55}.rooms-page--embedded .rooms-active-filters{padding-inline:.9rem}.rooms-page--embedded .room-plan-view,.rooms-page--embedded .room-card-floor-list,.rooms-page--embedded>.rooms-state{margin:0}.rooms-page--embedded .room-plan-view{background:#f7faf9;padding:.9rem}.rooms-page--embedded .room-plan-legend,.rooms-page--embedded .room-floor-tabs{border-radius:.75rem;margin-bottom:.7rem}.rooms-page--embedded .room-floor-plan-list,.rooms-page--embedded .room-card-floor-list{box-shadow:none;border:0;border-radius:0}.rooms-page--embedded .room-card-floor-list{background:#f7faf9;padding:.85rem}.rooms-page--embedded .room-card-floor-list .room-floor-section{background:#fff;border:1px solid #dfe9e7;border-radius:.85rem}.rooms-page--embedded .room-card-floor-list .room-floor-section+.room-floor-section{margin-top:.75rem}.rooms-page--embedded .room-card{min-height:205px}.rooms-page--embedded .room-card-occupants{min-height:48px}.room-assignment-kind{background:#ffffffa6;border:1px solid #d6e5e2;border-radius:.62rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;margin-bottom:.5rem;padding:.2rem;display:grid}.room-assign-control .room-assignment-kind button{color:#6c827f;height:34px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:.48rem;padding:0 .55rem;font-size:.65rem}.room-assign-control .room-assignment-kind button[aria-pressed=true]{color:#2f6f68;background:#fff;border-color:#c3ded9;box-shadow:0 3px 8px #264e4b12}.room-assign-control .room-assignment-kind button:disabled{cursor:not-allowed;opacity:.45}@media (width>=821px) and (width<=1100px){.staff-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-toolbar{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(140px,.55fr)) auto}.staff-toolbar-count{grid-column:1/2}}@media (width<=920px){.rooms-page--embedded .rooms-toolbar>strong{order:6}.rooms-page--embedded .rooms-create-button{margin-left:auto}}@media (width<=640px){.rooms-page--embedded .rooms-feedback{margin:.65rem .65rem 0}.rooms-page--embedded .rooms-toolbar{padding:.65rem}.rooms-page--embedded .rooms-search{flex-basis:100%}.rooms-page--embedded .rooms-create-button{order:7;width:100%;margin-left:0}.rooms-page--embedded .room-plan-view,.rooms-page--embedded .room-card-floor-list{padding:.6rem}.rooms-page--embedded .room-plan-legend ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%;display:grid}.rooms-page--embedded .room-plan-legend li{justify-content:flex-start;min-width:0;padding:.4rem .5rem}.rooms-page--embedded .room-floor-tabs{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.rooms-page--embedded .room-floor-tabs::-webkit-scrollbar{display:none}.rooms-page--embedded .floor-tab{flex:none}.rooms-page--embedded .floor-plan-canvas-vertical{grid-template-columns:minmax(0,1fr);gap:.55rem}.rooms-page--embedded .floor-plan-corridor-vertical{border:1px solid #c7d6d4;border-radius:.5rem;min-height:34px}.rooms-page--embedded .floor-plan-corridor-vertical:after{border-top:1px dashed #aec3c0;border-left:0;inset:50% .5rem auto}.rooms-page--embedded .floor-plan-corridor-label-vertical{writing-mode:horizontal-tb;padding:.25rem .55rem;transform:none}.room-detail-dialog .room-assign-control>div:last-of-type{flex-direction:column;align-items:stretch}.room-detail-dialog .room-assign-control>div:last-of-type button{width:100%}}.attendance-final-selection .attendance-date-picker-value{color:#143d38;letter-spacing:.01em;text-transform:none;margin:0;font-size:.72rem;font-weight:750;display:flex}.attendance-command-bar .attendance-date-picker-value{color:#365e59;font-size:.72rem}.attendance-report-controls .attendance-date-picker-value{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:150px;height:36px;color:var(--color-text);font-size:var(--text-xs)}.attendance-monthly-view{gap:16px;display:grid}.attendance-report-view-tabs{width:fit-content;margin-bottom:var(--space-4);border:1px solid var(--color-border);background:#eaf1ef;border-radius:12px;gap:4px;padding:4px;display:flex}.attendance-report-view-tabs button{min-width:168px;min-height:52px;color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 14px;display:flex}.attendance-report-view-tabs button:hover{color:var(--color-primary-dark);background:color-mix(in srgb, var(--color-surface) 70%, transparent)}.attendance-report-view-tabs button.active{color:#fff;background:var(--color-primary);box-shadow:0 5px 14px #0e4d432e}.attendance-report-view-tabs button span,.attendance-report-view-tabs button strong,.attendance-report-view-tabs button small{display:block}.attendance-report-view-tabs button strong{font-size:var(--text-xs)}.attendance-report-view-tabs button small{color:inherit;opacity:.72;margin-top:2px;font-size:.625rem}.attendance-monthly-matrix{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #1b342f0f}.attendance-monthly-matrix__header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f9fcfb,#f0f7f5);justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:20px 24px;display:flex}.attendance-monthly-matrix__header>div:first-child>span{color:var(--color-primary);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.08em}.attendance-monthly-matrix__header h2{color:var(--color-text);font-size:var(--text-lg);margin:3px 0}.attendance-monthly-matrix__header p{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.attendance-matrix-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attendance-matrix-legend button{height:30px;color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:.6875rem;font-weight:var(--weight-semibold);border-radius:999px;align-items:center;gap:5px;padding:0 10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.attendance-matrix-legend button:hover{border-color:#a9c5be;transform:translateY(-1px)}.attendance-matrix-legend button:focus-visible{outline-offset:2px;outline:3px solid #12716224}.attendance-matrix-legend button:first-child svg{color:var(--color-primary)}.attendance-matrix-legend button:nth-child(2) svg{color:#c54949}.attendance-matrix-legend button:nth-child(3) svg{color:#755aa5}.attendance-matrix-legend button:nth-child(4) svg{color:#976d0d}.attendance-matrix-legend button.active.present{color:#0f675a;background:#e3f3ef;border-color:#83beb3;box-shadow:0 0 0 2px #0f76671a}.attendance-matrix-legend button.active.absent{color:#a9373e;background:#feedef;border-color:#e6aeb2;box-shadow:0 0 0 2px #c23f4614}.attendance-matrix-legend button.active.excused{color:#65458f;background:#f1ecfa;border-color:#cbbce3;box-shadow:0 0 0 2px #755aa514}.attendance-matrix-legend button.active.late{color:#835c06;background:#fff5d9;border-color:#e3cb83;box-shadow:0 0 0 2px #976d0d14}.attendance-matrix-controls{border-bottom:1px solid var(--color-border);background:#fff;grid-template-columns:160px 150px 150px minmax(220px,1fr) auto;align-items:end;gap:12px;padding:14px 18px;display:grid}.attendance-matrix-controls label>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;display:block}.attendance-matrix-controls input,.attendance-matrix-controls select{width:100%;height:40px;color:var(--color-text);border:1px solid var(--color-border);font-size:var(--text-xs);background:#fff;border-radius:9px;padding:0 12px}.attendance-matrix-controls input:focus,.attendance-matrix-controls select:focus{border-color:var(--color-primary);outline:3px solid #1271621a}.attendance-matrix-count{height:40px;color:var(--color-text-muted);background:var(--color-primary-soft);white-space:nowrap;font-size:var(--text-xs);border:1px solid #cfe0dc;border-radius:9px;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.attendance-matrix-count strong{color:var(--color-primary-dark)}.attendance-matrix-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;max-width:100%;max-height:66vh;overflow:auto}.attendance-matrix-scroll table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.attendance-matrix-scroll th,.attendance-matrix-scroll td{box-sizing:border-box;border-bottom:1px solid #e6ecea;border-right:1px solid #e6ecea}.attendance-matrix-scroll thead th{z-index:3;width:32px;min-width:32px;height:50px;color:var(--color-text-muted);text-align:center;background:#f5f8f7;position:sticky;top:0}.attendance-matrix-scroll thead th strong,.attendance-matrix-scroll thead th small{display:block}.attendance-matrix-scroll thead th strong{color:var(--color-text);font-size:.75rem}.attendance-matrix-scroll thead th small{font-size:.5625rem;font-weight:var(--weight-bold);text-transform:uppercase;margin-top:2px}.attendance-matrix-scroll tbody td{text-align:center;background:#fff;width:32px;min-width:32px;height:42px;padding:0}.attendance-matrix-scroll tbody tr.attendance-matrix-virtual-spacer td{background:0 0;border:0;min-width:0;height:auto;padding:0}.attendance-matrix-scroll tbody tr:hover .attendance-matrix-student-column{background:#f8fbfa}.attendance-matrix-scroll .attendance-matrix-student-column{z-index:2;text-align:left;background:#fff;width:190px;min-width:190px;max-width:190px;padding:0 12px;position:sticky;left:0;box-shadow:1px 0 #dbe4e1}.attendance-matrix-scroll thead .attendance-matrix-student-column{z-index:5;color:var(--color-primary-dark);letter-spacing:.04em;text-transform:uppercase;background:#edf4f2;font-size:.6875rem}.attendance-matrix-scroll tbody .attendance-matrix-student-column strong,.attendance-matrix-scroll tbody .attendance-matrix-student-column small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-matrix-scroll tbody .attendance-matrix-student-column strong{color:var(--color-text);font-size:.75rem}.attendance-matrix-scroll tbody .attendance-matrix-student-column small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-regular);margin-top:2px}.attendance-matrix-scroll .today{background:#eef8f5;box-shadow:inset 1px 0 #bddbd3,inset -1px 0 #bddbd3}.attendance-matrix-status{border-radius:6px;place-items:center;width:23px;height:23px;margin:auto;font-family:Arial,sans-serif;font-size:.875rem;font-weight:700;line-height:1;display:inline-grid}.attendance-matrix-status svg{width:13px;height:13px}.attendance-matrix-status.present{color:#0f7667;background:#e6f5f1}.attendance-matrix-status.late{color:#976d0d;background:#fff5d9}.attendance-matrix-status.absent{color:#c23f46;background:#feedef}.attendance-matrix-status.excused{color:#755aa5;background:#f1ecfa}.attendance-matrix-status.empty{color:#c2cbc8;background:0 0;font-size:1rem}.attendance-monthly-matrix[data-highlight=present] .attendance-matrix-scroll tbody td:not([data-status=present]),.attendance-monthly-matrix[data-highlight=late] .attendance-matrix-scroll tbody td:not([data-status=late]),.attendance-monthly-matrix[data-highlight=absent] .attendance-matrix-scroll tbody td:not([data-status=absent]),.attendance-monthly-matrix[data-highlight=excused] .attendance-matrix-scroll tbody td:not([data-status=excused]){opacity:.18}.attendance-monthly-matrix[data-highlight=present] .attendance-matrix-scroll tbody td[data-status=present],.attendance-monthly-matrix[data-highlight=late] .attendance-matrix-scroll tbody td[data-status=late],.attendance-monthly-matrix[data-highlight=absent] .attendance-matrix-scroll tbody td[data-status=absent],.attendance-monthly-matrix[data-highlight=excused] .attendance-matrix-scroll tbody td[data-status=excused]{z-index:1;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-primary) 28%, transparent);opacity:1;background:#fff;position:relative}.attendance-daily-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #1b342f0f}.attendance-daily-summary>header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#fbfdfc,#f4f8f7);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:16px 20px;display:flex}.attendance-daily-summary>header span{color:var(--color-primary);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.08em}.attendance-daily-summary>header h3{color:var(--color-text);font-size:var(--text-base);margin:3px 0}.attendance-daily-summary>header p{color:var(--color-text-muted);margin:0;font-size:.6875rem}.attendance-daily-summary>header>strong{color:var(--color-primary-dark);background:var(--color-primary-soft);white-space:nowrap;border:1px solid #cfe0dc;border-radius:999px;padding:6px 10px;font-size:.6875rem}.attendance-daily-summary-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.attendance-daily-summary-scroll table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.attendance-daily-summary-scroll th,.attendance-daily-summary-scroll td{box-sizing:border-box;border-bottom:1px solid #e6ecea;border-right:1px solid #e6ecea}.attendance-daily-summary-scroll thead th{width:32px;min-width:32px;height:46px;color:var(--color-text-muted);text-align:center;background:#f5f8f7}.attendance-daily-summary-scroll thead th strong,.attendance-daily-summary-scroll thead th small{display:block}.attendance-daily-summary-scroll thead th strong{color:var(--color-text);font-size:.72rem}.attendance-daily-summary-scroll thead th small{font-size:.54rem;font-weight:var(--weight-bold);text-transform:uppercase;margin-top:1px}.attendance-daily-summary-scroll tbody td{color:#274b45;text-align:center;font-variant-numeric:tabular-nums;width:32px;min-width:32px;height:42px;font-size:.72rem;font-weight:var(--weight-bold);background:#fff;padding:0}.attendance-daily-summary-scroll tbody td.zero{color:#b6c1be;font-weight:var(--weight-regular)}.attendance-daily-summary-scroll .attendance-daily-summary-label{z-index:2;text-align:left;background:#fff;width:190px;min-width:190px;max-width:190px;padding:0 12px;position:sticky;left:0;box-shadow:1px 0 #dbe4e1}.attendance-daily-summary-scroll thead .attendance-daily-summary-label{z-index:3;color:var(--color-primary-dark);letter-spacing:.04em;text-transform:uppercase;background:#edf4f2;font-size:.6875rem}.attendance-daily-summary-scroll tbody .attendance-daily-summary-label{color:var(--color-text);vertical-align:middle;font-size:.72rem}.attendance-daily-summary-label-content{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.attendance-daily-summary-label-content>i{border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-style:normal;display:inline-grid}.attendance-daily-summary-label-content>span{text-overflow:ellipsis;overflow:hidden}.attendance-daily-summary-scroll tbody tr.present .attendance-daily-summary-label-content>i{color:#0f7667;background:#e6f5f1}.attendance-daily-summary-scroll tbody tr.absent .attendance-daily-summary-label-content>i{color:#c23f46;background:#feedef}.attendance-daily-summary-scroll tbody tr.excused .attendance-daily-summary-label-content>i{color:#755aa5;background:#f1ecfa}.attendance-daily-summary-scroll tbody tr.late .attendance-daily-summary-label-content>i{color:#976d0d;background:#fff5d9}.attendance-daily-summary-scroll .today{background:#eef8f5;box-shadow:inset 1px 0 #bddbd3,inset -1px 0 #bddbd3}.attendance-daily-summary-scroll tbody tr:last-child th,.attendance-daily-summary-scroll tbody tr:last-child td{border-bottom:0}@media (width<=860px){.attendance-report-view-tabs{width:100%}.attendance-report-view-tabs button{flex:1;min-width:0}.attendance-monthly-matrix{border-radius:12px}.attendance-monthly-matrix__header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.attendance-matrix-legend{justify-content:flex-start}.attendance-matrix-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.attendance-matrix-group-control{grid-column:1/-1}.attendance-matrix-count{justify-content:center}.attendance-matrix-scroll{max-height:62vh}.attendance-matrix-scroll thead th,.attendance-matrix-scroll tbody td{width:46px;min-width:46px}.attendance-matrix-scroll tbody td{height:46px}.attendance-matrix-scroll .attendance-matrix-student-column{width:168px;min-width:168px;max-width:168px;padding:0 10px}.attendance-matrix-status{width:27px;height:27px;font-size:1rem}.attendance-matrix-status svg{width:15px;height:15px}.attendance-daily-summary{border-radius:12px}.attendance-daily-summary>header{align-items:flex-start;padding:14px 16px}.attendance-daily-summary-scroll{touch-action:pan-x}.attendance-daily-summary-scroll thead th,.attendance-daily-summary-scroll tbody td{width:38px;min-width:38px}.attendance-daily-summary-scroll tbody td{height:42px}.attendance-daily-summary-scroll .attendance-daily-summary-label{width:144px;min-width:144px;max-width:144px;padding:0 9px}.attendance-daily-summary-label-content{gap:6px}}@media (width<=480px){.attendance-report-view-tabs button{padding:8px 10px}.attendance-report-view-tabs button small{display:none}.attendance-matrix-legend button{padding:0 7px}.attendance-matrix-controls{grid-template-columns:1fr 1fr;gap:10px}.attendance-matrix-controls label:nth-child(3),.attendance-matrix-count{grid-column:1/-1}.attendance-daily-summary>header{gap:10px}.attendance-daily-summary>header>div{min-width:0}.attendance-daily-summary>header h3{font-size:.8rem}.attendance-daily-summary>header p{max-width:250px}}.attendance-save-bar{z-index:auto;min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #cfe0dd;border-radius:.75rem;gap:.75rem;margin:.75rem 0 0;padding:.65rem .8rem;position:static;inset:auto}.attendance-save-bar>div:first-child{min-width:0}.attendance-save-bar>div:first-child strong{color:#315a55;font-size:.72rem}.attendance-save-bar>div:first-child span{color:#78908d;margin-top:.12rem;font-size:.6rem}.attendance-save-bar>div:last-child{flex:none;gap:.4rem}.attendance-save-bar button{border-radius:.5rem;min-width:126px;height:36px;padding:0 .7rem;font-size:.6rem}@media (width<=760px){.attendance-save-bar{flex-direction:column;align-items:stretch;gap:.55rem}.attendance-save-bar>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.attendance-save-bar button{width:100%;min-width:0;height:36px;padding-inline:.4rem}}.attendance-groups{grid-template-columns:1fr;gap:.8rem}.attendance-group{background:#fff;border:1px solid #d8e7e3;border-radius:.9rem;min-width:0;overflow:hidden;box-shadow:0 5px 18px #243a3a0b}.attendance-group>header{background:#f7fbfa;border-bottom:1px solid #e4efec;align-items:center;gap:.65rem;min-height:52px;padding:.65rem .8rem;display:flex}.attendance-group-heading{flex:auto;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;min-width:0}.attendance-group-heading:before{content:"";background:#5aa097;border-radius:99px;flex:none;width:3px;height:22px}.attendance-group-heading>span:first-child{flex-direction:row;align-items:baseline;gap:.5rem;min-width:0}.attendance-group-heading strong{color:#285b55;letter-spacing:-.015em;font-size:.78rem;font-weight:800}.attendance-group-heading small{color:#6e8984;white-space:nowrap;background:#edf8f5;border:1px solid #d7e9e4;border-radius:99px;margin:0;padding:.2rem .42rem;font-size:.58rem;font-weight:750}.attendance-group table{table-layout:auto;width:100%;min-width:0;display:block}.attendance-group tbody{background:#f4f9f7;gap:.4rem;width:100%;padding:.45rem;display:grid}.attendance-group tr{background:#fff;border:1px solid #dfebe8;border-left:3px solid #b8cbc7;border-radius:.65rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;min-height:64px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 2px 8px #243a3a09}.attendance-group tr:hover{border-color:#c7dfda;transform:translateY(-1px);box-shadow:0 5px 14px #243a3a12}.attendance-group .attendance-row.present{border-left-color:#4b988e}.attendance-group .attendance-row.late{border-left-color:#c29a43}.attendance-group .attendance-row.absent{border-left-color:var(--color-danger)}.attendance-group .attendance-row.excused{border-left-color:#6e8aa6}.attendance-group tr>td:first-child,.attendance-group tr>td:last-child{border:0;align-items:center;width:auto;min-width:0;min-height:64px;padding:.6rem .65rem;display:flex}.attendance-group tr>td:first-child{border-left:0}.attendance-group tr>td:last-child{justify-content:flex-end}.attendance-group td:before{display:none}.attendance-student{gap:.65rem;width:100%;min-width:0}.attendance-student>span:first-child{background:#edf8f5;border:1px solid #d2e8e2;border-radius:50%;width:36px;height:36px;font-size:.65rem}.attendance-student>span:last-child{min-width:0}.attendance-student strong{color:#214e49;font-size:.78rem}.attendance-student small{color:#7c938f;margin-top:.14rem;font-size:.61rem}.attendance-status-buttons{background:#f7fbfa;border:1px solid #deebe8;border-radius:.68rem;flex-wrap:nowrap;align-items:center;gap:.2rem;min-width:max-content;padding:.2rem;display:flex}.attendance-status-buttons button{background:#fff;border-color:#e0e9e7;border-radius:.48rem;gap:.25rem;min-width:0;min-height:38px;padding:0 .62rem;font-size:.63rem}.attendance-status-buttons button svg{flex:none;width:14px;height:14px}.attendance-status-buttons button:focus-visible{outline-offset:1px;outline:3px solid #4b988e3d}.attendance-status-label-short{display:none}@media (width>=1100px){.attendance-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}}@media (width<=760px){.attendance-groups{gap:.6rem}.attendance-group{border-radius:.78rem;box-shadow:0 4px 14px #243a3a0a}.attendance-group>header{flex-direction:row;min-height:50px;padding:.55rem .65rem}.attendance-group-heading{gap:.42rem}.attendance-group-heading:before{height:20px}.attendance-group-heading>span:first-child{gap:.35rem}.attendance-group-heading strong{font-size:.7rem}.attendance-group-heading small{padding:.17rem .34rem;font-size:.55rem}.attendance-group tbody{gap:.3rem;padding:.35rem}.attendance-group tr{border-radius:.6rem;min-height:58px}.attendance-group tr>td:first-child,.attendance-group tr>td:last-child{min-height:58px;padding:.42rem .35rem}.attendance-student{gap:.42rem}.attendance-student>span:first-child{width:30px;height:30px;font-size:.59rem}.attendance-student strong{font-size:.72rem;line-height:1.15}.attendance-student>span:last-child>small{display:none}.attendance-status-buttons{border-radius:.58rem;gap:.15rem;padding:.16rem}.attendance-status-buttons button{border-radius:.42rem;gap:0;min-height:40px;padding:0 .28rem;font-size:.62rem}.attendance-status-buttons button svg,.attendance-status-label-full{display:none}.attendance-status-label-short{display:inline}}@media (width<=380px){.attendance-group>header{padding-inline:.55rem}.attendance-group-heading strong{font-size:.67rem}.attendance-group-heading small{font-size:.53rem}.attendance-group tr>td:first-child,.attendance-group tr>td:last-child{padding-inline:.3rem}.attendance-student{gap:.34rem}.attendance-student>span:first-child{width:28px;height:28px}.attendance-student strong{font-size:.69rem}.attendance-status-buttons{gap:.12rem}.attendance-status-buttons button{min-height:38px;padding-inline:.24rem;font-size:.59rem}}:root{--font-body:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Outfit", var(--font-body);--color-text:#172522;--color-text-muted:#687773;--color-primary:#176b5a;--color-primary-dark:#0c4b40;--color-primary-soft:#eaf4f0;--color-surface:#fff;--color-canvas:#f3f5f2;--color-border:#dce3df;--color-danger:#b93c4c;--color-success:#2f7d65;--color-warning:#a66b1f;--color-info:#3e718a;--premium-ink:#13231f;--premium-forest:#143f36;--premium-forest-raised:#1a4a40;--premium-gold:#b48a45;--premium-gold-soft:#f5efe3;--premium-warm:#faf9f6;--shadow-sm:0 1px 2px #1629240a;--shadow-md:0 8px 24px #16292412;--shadow-lg:0 18px 44px #10231e1c;--shadow-xl:0 28px 70px #10231e29;--shadow-raised:0 12px 32px #16292417;--sidebar-bg:var(--premium-forest);--sidebar-text:#d5e3de;--sidebar-active-bg:#f6f4ed;--sidebar-active-text:#153f36;--radius-sm:.625rem;--radius-md:.8rem;--radius-lg:1rem;--radius-xl:1.35rem;--control-height:3rem}.student-detail-page-wrapper{padding:0!important}.student-record-shell{width:min(100%,1400px);margin:0 auto;padding:1.25rem 1.5rem 3.5rem}.student-record-topbar{min-height:40px;margin-bottom:.75rem}.student-record-topbar__context{align-items:center;gap:.9rem;min-width:0;display:flex}.student-record-topbar__context>span{color:#7a8b86;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;font-size:.62rem;font-weight:700;display:inline-flex;overflow:hidden}.student-record-topbar__context>span svg{color:#4d897e}.student-record-topbar__context>span i{color:#bdc8c4;font-style:normal}.student-record-back{border-radius:.58rem;min-height:36px;padding:0 .55rem}.student-record-back:hover{background:#eef5f2}.student-record-edit,.student-record-cancel{min-height:38px;box-shadow:none;border-radius:.62rem}.student-record-edit{background:#176f60}.student-profile-hero{color:#183d35;background:#fff;border:1px solid #d8e3df;border-top:3px solid #1d7b69;border-radius:1rem;min-height:132px;padding:1.05rem 1.15rem;overflow:hidden;box-shadow:0 8px 26px #1d3a320e}.student-profile-hero:after{display:none}.student-profile-hero__identity{gap:1rem}.student-profile-hero .student-avatar-large{color:#eafff8;background:linear-gradient(145deg,#176f60,#0e5147);border:0;border-radius:.9rem;width:66px;height:66px;font-size:1.22rem;box-shadow:0 9px 20px #115b4e2e}.student-record-eyebrow{color:#6c827c;letter-spacing:.11em;font-size:.58rem}.student-record-eyebrow__dot{color:#b1bfbb}.student-profile-hero h1{color:#153a32;letter-spacing:-.035em;margin:.3rem 0 .22rem;font-size:clamp(1.45rem,2vw,2rem)}.student-profile-hero__copy>p{color:#778983;font-size:.68rem}.student-profile-hero__copy>p svg{color:#4f8d81}.student-profile-badges{gap:.38rem;margin-top:.55rem}.student-record-status,.student-record-private{min-height:25px;padding:0 .55rem;font-size:.6rem}.student-record-status{color:#176854;background:#ebf8f2;border-color:#c4e4d7}.student-record-status>span{background:#36a878;box-shadow:0 0 0 3px #36a8781f}.student-record-status.inactive{color:#66756f;background:#f2f5f4;border-color:#dae2df}.student-record-private{color:#647a74;background:#f7f9f8;border-color:#dae4e0}.student-profile-summary{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7faf8;border-color:#dce6e2;border-radius:.78rem;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,620px);min-width:520px}.student-profile-summary .student-summary-stat{align-items:center;gap:.45rem;min-height:66px;padding:.7rem .72rem}.student-profile-summary .student-summary-stat+.student-summary-stat{border-color:#e0e8e5}.student-profile-summary .student-summary-stat__icon{color:#277766;background:#eaf5f1;border-color:#cce3dc;border-radius:.5rem;width:28px;height:28px}.student-profile-summary .student-summary-stat div>span{color:#82918c;font-size:.52rem}.student-profile-summary .student-summary-stat strong{color:#294b42;margin-top:.12rem;font-size:.66rem}.student-record-workspace{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:.85rem;margin-top:.85rem;display:grid}.student-detail-tabs{background:#fff;border:1px solid #dbe5e1;border-radius:.85rem;flex-direction:column;gap:.22rem;min-height:0;margin:0;padding:.55rem;display:flex;position:sticky;top:74px;overflow:visible;box-shadow:0 6px 20px #1d3a320a}.student-detail-tabs__heading{border-bottom:1px solid #e7edeb;padding:.45rem .55rem .65rem}.student-detail-tabs__heading span,.student-detail-tabs__heading small{display:block}.student-detail-tabs__heading span{color:#276d60;letter-spacing:.11em;font-size:.56rem;font-weight:850}.student-detail-tabs__heading small{color:#94a09c;margin-top:.18rem;font-size:.52rem}.student-detail-tabs button{color:#526962;text-align:left;border-radius:.6rem;grid-template-columns:30px minmax(0,1fr) auto;justify-content:stretch;gap:.52rem;width:100%;min-height:54px;padding:.45rem .5rem;display:grid}.student-detail-tabs button:hover{color:#1d6758;background:#f2f7f5}.student-detail-tabs button[aria-selected=true]{color:#155f50;background:#eaf5f1;box-shadow:inset 3px 0 #207967}.student-detail-tabs button[aria-selected=true]:hover{color:#155f50;background:#e5f2ed}.student-detail-tab__icon{color:#67817a;background:#fafcfb;border:1px solid #dbe5e1;border-radius:.5rem;place-items:center;width:30px;height:30px;display:grid}.student-detail-tabs button[aria-selected=true] .student-detail-tab__icon{color:#176f60;background:#fff;border-color:#c4e0d8}.student-detail-tab__copy,.student-detail-tab__copy strong,.student-detail-tab__copy small{min-width:0;display:block}.student-detail-tab__copy strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.student-detail-tab__copy small{color:#91a09b;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.5rem;font-weight:600;overflow:hidden}.student-detail-tabs button>b{color:#6c8079;background:#edf2f0;border-radius:99px;place-items:center;min-width:22px;height:22px;padding:0 .3rem;font-size:.5rem;display:grid}.student-detail-tabs button[aria-selected=true]>b{color:#176957;background:#fff}.student-detail-panel,.student-detail-panel--notes{background:#fff;border:1px solid #dbe5e1;border-radius:.9rem;min-width:0;min-height:520px;overflow:hidden;box-shadow:0 7px 24px #1d3a320b}.student-panel-header,.student-detail-panel--notes .student-panel-header{background:#fbfcfb;border:0;border-bottom:1px solid #e3ebe8;border-radius:0;align-items:center;min-height:84px;padding:1rem 1.2rem}.student-panel-header>div>span,.student-detail-section__header>div>span{color:#287365;letter-spacing:.11em;font-size:.55rem}.student-panel-header h2,.student-detail-panel--notes .student-panel-header h2{color:#173d35;margin:.28rem 0 .16rem;font-size:1.05rem}.student-panel-header p,.student-detail-panel--notes .student-panel-header p{color:#7f908a;font-size:.67rem}.student-panel-content{padding:1.15rem}.student-detail-panel--notes .student-panel-content{background:#fff;border:0;border-radius:0;padding:0}.student-editing-indicator{min-height:27px;font-size:.58rem}.student-overview-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.student-detail-section--wide,.student-overview-stack>.student-readonly-note{grid-column:1/-1}.student-detail-section{background:#fff;border-color:#dfe7e4;border-radius:.72rem}.student-detail-section__header{background:#fbfcfb;border-bottom-color:#e5ece9;min-height:74px;padding:.85rem 1rem}.student-detail-section__header h3{margin:.23rem 0 .12rem;font-size:.84rem}.student-detail-section__header p{font-size:.61rem}.student-readonly-grid{background:#fff;gap:0;padding:0}.student-readonly-field{background:#fff;border-top:1px solid #e8eeec;min-height:72px;padding:.78rem .9rem}.student-readonly-field:nth-child(2n){border-left:1px solid #e8eeec}.student-readonly-field dt{color:#7b8e88;letter-spacing:.055em;font-size:.55rem}.student-readonly-field dt svg{color:#5d988d}.student-readonly-field dd{color:#294a41;margin-top:.35rem;font-size:.75rem}.student-readonly-note{border-radius:.62rem;padding:.7rem .8rem;font-size:.62rem}.student-name-with-origin{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.student-origin-badge{color:#8a5b13;letter-spacing:0;white-space:nowrap;background:#fff7e7;border:1px solid #e4c98f;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;padding:0;font-size:.52rem;font-weight:850;line-height:1;display:inline-grid}.student-profile-hero__copy h1 .student-origin-badge{flex-basis:19px;width:19px;height:19px;font-size:.57rem}.student-placement-grid{gap:.65rem;padding:.9rem}.student-placement-card{background:#fbfcfb;border-radius:.65rem;padding:.85rem}.student-placement-card__icon{border-radius:.58rem;width:36px;height:36px}.student-placement-card div>span{font-size:.56rem}.student-placement-card strong{margin-top:.22rem;font-size:.79rem}.student-placement-card small{font-size:.59rem}.student-status-page{gap:.75rem}.student-status-card{border-radius:.72rem;min-height:108px;padding:1rem}.student-status-card__icon{border-radius:.7rem;width:43px;height:43px}.student-status-card h3{font-size:1rem}.student-status-card p{font-size:.64rem}.student-status-effects{border-radius:.72rem}.student-status-effects__header{min-height:66px;padding:.85rem 1rem}.student-status-effect{padding:.9rem 1rem}.student-danger-zone{border-radius:.72rem}.student-section-summary{background:#f7faf9;border:1px solid #dce7e3;border-radius:.68rem;grid-template-columns:34px auto minmax(0,1fr);align-items:center;gap:.65rem;min-height:68px;margin-bottom:.8rem;padding:.7rem .8rem;display:grid}.student-section-summary>span{color:#1e7362;background:#e6f3ee;border-radius:.58rem;place-items:center;width:34px;height:34px;display:grid}.student-section-summary small,.student-section-summary strong{display:block}.student-section-summary small{color:#758b84;letter-spacing:.08em;font-size:.52rem;font-weight:850}.student-section-summary strong{color:#24483f;margin-top:.12rem;font-size:.72rem}.student-section-summary p{color:#84938e;text-align:right;margin:0 0 0 auto;font-size:.59rem}.student-activity-timeline{gap:.55rem}.student-activity-timeline article{border-radius:.65rem;padding:.75rem .85rem}.student-activity-timeline h3{font-size:.75rem}.student-history-table-wrap{border-radius:.68rem}.student-history-table th{height:38px;padding-inline:.8rem;font-size:.54rem}.student-history-table td{padding:.7rem .8rem;font-size:.67rem}.student-notes-page-header{gap:1rem}.student-notes-page-actions{gap:.5rem}.student-notes-total{min-height:34px;font-size:.61rem}.student-notes-total strong{font-size:1rem}.student-notes-workspace{padding:0 1.2rem 1.2rem}.student-notes-context{min-height:44px;font-size:.58rem}.student-note-entry{grid-template-columns:92px minmax(0,1fr);gap:1rem;padding:1rem 0}.student-note-entry__date{min-height:68px;padding-right:1rem}.student-note-entry__date strong{font-size:1.48rem}.student-note-entry__heading>strong{font-size:.83rem}.student-note-entry__body>p{margin-top:.75rem;font-size:.72rem;line-height:1.68}.student-edit-group__heading{margin-bottom:.85rem}.student-edit-group+.student-edit-group{margin-top:1.25rem;padding-top:1.25rem}.student-detail-panel .student-edit-actions{margin:1.25rem -1.15rem -1.15rem;padding:.7rem 1.15rem}@media (width<=1120px){.student-profile-hero{flex-direction:column;align-items:stretch}.student-profile-summary{width:100%;min-width:0}}@media (width<=900px){.student-record-shell{padding:1rem 1rem 3rem}.student-record-workspace{display:block}.student-detail-tabs{z-index:5;scrollbar-width:none;border-radius:.75rem;flex-direction:row;gap:.25rem;margin-bottom:.7rem;padding:.38rem;position:sticky;top:62px;overflow-x:auto}.student-detail-tabs__heading{display:none}.student-detail-tabs button{width:auto;min-width:max-content;min-height:46px;box-shadow:none;flex:none;gap:.4rem;padding:.35rem .58rem;display:inline-flex}.student-detail-tabs button[aria-selected=true]{box-shadow:inset 0 -3px #207967}.student-detail-tab__icon{width:28px;height:28px}.student-detail-tab__copy small{display:none}.student-detail-tabs button>b{min-width:20px;height:20px}}@media (width<=640px){.student-record-shell{padding:.72rem .65rem 2.5rem}.student-record-topbar{margin-bottom:.55rem}.student-record-topbar__context>span{display:none}.student-record-back{padding-left:.25rem}.student-profile-hero{border-radius:.82rem;padding:.85rem}.student-profile-hero__identity{align-items:center;gap:.72rem}.student-profile-hero .student-avatar-large{border-radius:.72rem;width:54px;height:54px;font-size:1rem}.student-profile-hero h1{margin-top:.22rem;font-size:1.28rem}.student-record-eyebrow{font-size:.5rem}.student-profile-hero__copy>p{font-size:.59rem}.student-profile-badges{margin-top:.45rem}.student-record-private{display:none}.student-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-summary .student-summary-stat{min-height:58px;padding:.55rem .6rem}.student-profile-summary .student-summary-stat:nth-child(3){border-top:1px solid #e0e8e5;border-left:0}.student-profile-summary .student-summary-stat:nth-child(4){border-top:1px solid #e0e8e5}.student-detail-tabs{margin-inline:-.05rem;top:56px}.student-detail-tabs button{min-height:42px;padding-inline:.48rem}.student-detail-tab__icon{width:25px;height:25px}.student-detail-tab__copy strong{font-size:.59rem}.student-detail-tabs button>b{display:none}.student-detail-panel,.student-detail-panel--notes{border-radius:.78rem;min-height:0}.student-panel-header,.student-detail-panel--notes .student-panel-header{border-radius:0;align-items:flex-start;min-height:76px;padding:.85rem .9rem}.student-panel-header h2,.student-detail-panel--notes .student-panel-header h2{font-size:.92rem}.student-panel-header p,.student-detail-panel--notes .student-panel-header p{max-width:260px;font-size:.59rem;line-height:1.4}.student-panel-content{padding:.8rem}.student-overview-stack{grid-template-columns:1fr;gap:.65rem}.student-detail-section--wide,.student-overview-stack>.student-readonly-note{grid-column:auto}.student-detail-section__header{min-height:66px;padding:.75rem .82rem}.student-readonly-grid{grid-template-columns:1fr}.student-readonly-field{min-height:62px;padding:.68rem .78rem}.student-readonly-field:nth-child(2n){border-left:0}.student-placement-grid{grid-template-columns:1fr;padding:.7rem}.student-status-effects__grid{grid-template-columns:1fr}.student-section-summary{grid-template-columns:32px minmax(0,1fr);min-height:62px}.student-section-summary>span{width:32px;height:32px}.student-section-summary p{display:none}.student-history-table-wrap{border:0;overflow:visible}.student-history-table{min-width:0}.student-history-table,.student-history-table tbody,.student-history-table tr,.student-history-table td{width:100%;display:block}.student-history-table thead{display:none}.student-history-table tr{background:#fff;border:1px solid #dfe7e4;border-radius:.65rem;margin-bottom:.55rem;overflow:hidden}.student-history-table tr:last-child{margin-bottom:0}.student-history-table td{text-align:right;border-bottom:1px solid #edf1ef;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:.65rem;min-height:42px;padding:.58rem .68rem;display:grid}.student-history-table td:last-child{border-bottom:0}.student-history-table td:before{content:attr(data-label);color:#7b8d87;letter-spacing:.05em;text-align:left;text-transform:uppercase;font-size:.54rem;font-weight:850}.student-history-table td>*{justify-self:end}.student-activity-timeline article{grid-template-columns:54px minmax(0,1fr);gap:.68rem}.student-activity-timeline time{padding-right:.6rem}.student-activity-timeline blockquote{font-size:.57rem}.student-notes-page-header{flex-direction:column;align-items:stretch;gap:.65rem}.student-notes-page-actions{justify-content:space-between;width:100%}.student-notes-workspace{padding:0 .85rem .85rem}.student-notes-context{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem 0}.student-note-entry{grid-template-columns:61px minmax(0,1fr);gap:.68rem}.student-note-entry__date{padding-right:.58rem}.student-note-entry__date strong{font-size:1.28rem}.student-note-entry__body>header{flex-direction:column;align-items:stretch;gap:.55rem}.student-note-entry__actions{justify-content:flex-start}.student-detail-panel .student-edit-actions{margin:1rem -.8rem -.8rem;padding:.65rem .8rem}}html{scrollbar-width:none;background:var(--color-canvas);overflow-y:scroll}body{color:var(--color-text);background:var(--color-canvas)}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{letter-spacing:-.01em}:is(a,button,input,select,textarea,[tabindex]):focus-visible{outline-offset:2px;outline:3px solid #176b5a3d}.login-page{background:var(--premium-warm);grid-template-columns:minmax(520px,48%) minmax(480px,1fr);min-height:100svh}.login-brand-panel{color:#fff;background:var(--premium-forest);min-height:100svh;box-shadow:none;padding:clamp(2rem,4vw,4.5rem)}.login-brand-panel:before{opacity:.22;background:0 0;border:1px solid #fff3;border-radius:50%;width:min(42vw,620px);height:min(42vw,620px);inset:auto -15% -28% auto}.login-brand-panel:after{opacity:.18;filter:none;background:0 0;border:1px solid #b48a459e;width:min(32vw,460px);height:min(32vw,460px);inset:auto -4% -23% auto}.login-brand{gap:1rem}.login-brand>.corporate-logo{background:#fff;border:1px solid #ffffff2e;border-radius:.9rem;width:58px;height:58px;padding:.4rem;transition:none;box-shadow:0 12px 30px #00000029}.login-brand>.corporate-logo:hover{transform:none}.login-brand strong{letter-spacing:-.02em;font-size:1.18rem}.login-brand small{color:#e8f1eda8;letter-spacing:.01em;margin-top:.2rem}.login-message{max-width:600px}.login-message>p{color:#d5b981;letter-spacing:.16em;align-items:center;gap:.7rem;font-size:.72rem;display:flex}.login-message>p>span{background:#d5b981;width:28px;height:1px}.login-message h1{color:#fff;letter-spacing:-.055em;-webkit-text-fill-color:currentColor;background:0 0;font-size:clamp(3.15rem,5.2vw,5.7rem);font-weight:500}.login-message-copy{color:#ebf3f0b3;max-width:520px;margin-top:1.7rem;font-size:.98rem;line-height:1.75;display:block}.login-capabilities{gap:.72rem;margin-top:2rem;display:grid}.login-capabilities span{color:#f7f9f8e0;align-items:center;gap:.65rem;font-size:.8rem;font-weight:600;display:flex}.login-capabilities svg{color:#d5b981}.login-brand-footer{z-index:1;color:#e8f1ed70;letter-spacing:.05em;justify-content:space-between;gap:1rem;font-size:.68rem;display:flex;position:relative}.login-form-panel{background:var(--premium-warm);padding:clamp(2rem,7vw,7rem)}.login-form{width:min(100%,440px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transition:none}.login-form:hover{box-shadow:none}.login-form-heading{margin-bottom:2.2rem}.login-form-heading p{color:var(--premium-gold);letter-spacing:.14em;margin-bottom:.85rem;font-size:.7rem}.login-form-heading h2{letter-spacing:-.045em;font-size:clamp(2rem,3vw,2.65rem);font-weight:550}.login-form-heading span{max-width:390px;color:var(--color-text-muted);margin-top:.75rem;line-height:1.65}.login-field{margin-bottom:1.15rem}.login-field>label{color:#4e5c58;letter-spacing:.08em;margin-bottom:.55rem;font-size:.7rem}.login-input{color:#7e8d88;background:#fff;border:1px solid #d4ddd8;border-radius:.85rem;height:54px;padding:0 1rem;box-shadow:0 2px 8px #19302a08}.login-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px #176b5a17}.login-submit{background:var(--premium-forest);border-radius:.85rem;height:54px;margin-top:.65rem;box-shadow:0 10px 24px #143f362b}.login-submit:hover:not(:disabled){background:var(--premium-forest-raised);box-shadow:0 14px 28px #143f3638}.login-security-note{color:#7b8985;justify-content:center;gap:.45rem;margin-top:1.1rem;font-size:.7rem;display:flex}.login-security-note svg{color:var(--color-primary)}.admin-layout{background:var(--color-canvas)}.admin-sidebar{background:var(--premium-forest);border-right:0;width:248px;padding:1.15rem .75rem .75rem;box-shadow:10px 0 35px #0f262114}.admin-main{background:var(--color-canvas);margin-left:248px}.admin-brand{min-height:58px;padding:0 .55rem}.admin-brand>span{border-radius:.75rem;width:42px;height:42px;padding:.3rem;box-shadow:0 8px 20px #00000029}.admin-brand strong{letter-spacing:-.025em;font-size:1.05rem}.admin-brand small{color:#dcebe58c;font-size:.67rem}.admin-nav{margin-top:1.3rem;padding-right:.05rem}.admin-nav-section{margin-bottom:.8rem}.admin-nav p{color:#d7e6e057;letter-spacing:.13em;margin:0 .7rem .35rem;font-size:.56rem}.admin-nav a{color:#e2eee9c2;border-radius:.62rem;gap:.62rem;height:auto;min-height:39px;padding:.52rem .7rem;font-size:.74rem;font-weight:550}.admin-nav a:hover:not(.active){color:#fff;background:#ffffff0f}.admin-nav a.active{color:#fff;box-shadow:none;background:#ffffff16;border-color:#ffffff0f}.admin-nav a.active svg{color:var(--premium-gold)}.admin-sidebar-account{border-color:#ffffff14;padding-top:.8rem}.admin-sidebar-profile{border-radius:.8rem;min-height:56px}.admin-sidebar-profile>span{color:#e3cca0;background:#ffffff12;border:1px solid #ffffff1c;border-radius:.7rem;width:38px;height:38px}.admin-sidebar-profile strong{font-size:.77rem}.admin-sidebar-profile small{color:#dcebe57a;font-size:.65rem}.admin-sidebar-account-menu{box-shadow:var(--shadow-lg);border:1px solid #d9e1dd;border-radius:.9rem}.admin-desktop-bar{background:#fafbf9eb;border-bottom:1px solid #cdd8d3bf;justify-content:space-between;align-items:center;gap:2rem;height:72px;padding:0 clamp(1.5rem,3vw,3rem);display:flex}.admin-desktop-context span,.admin-desktop-context strong{display:block}.admin-desktop-context span{color:#7b8884;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.12rem;font-size:.65rem;font-weight:650}.admin-desktop-context strong{color:var(--color-text);letter-spacing:-.015em;font-size:.93rem}.admin-desktop-meta{align-items:center;gap:.65rem;display:flex}.admin-desktop-meta>span{color:#66746f;background:#fff;border:1px solid #dce3df;border-radius:99px;align-items:center;gap:.45rem;min-height:34px;padding:0 .8rem;font-size:.68rem;font-weight:600;display:flex}.admin-content{background:var(--color-canvas);min-height:calc(100vh - 72px)}:is(.dashboard-page,.profile-page,.dorms-page,.staff-page,.students-page,.rooms-page,.attendance-page,.guests-page,.dorm-detail-page,.leaves-page,.administration-desk-page,.study-management-page,.attendance-flow-page){width:min(100%,1480px);margin-inline:auto;padding:clamp(1.35rem,2.5vw,2.6rem)}.ui-page-header{align-items:flex-end;margin-bottom:1.55rem}.ui-page-header__copy>p{color:var(--premium-gold);letter-spacing:.15em;margin-bottom:.45rem;font-size:.65rem}.ui-page-header__copy>h1{color:var(--premium-ink);letter-spacing:-.045em;font-size:clamp(1.75rem,2.7vw,2.55rem);font-weight:550}.ui-page-header__copy>span{color:#71807b;margin-top:.5rem;font-size:.78rem}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1.25rem}.dashboard-metrics article{background:#fff;border:1px solid #dce4e0;border-radius:1rem;gap:.9rem;min-height:136px;padding:1.2rem;position:relative;overflow:hidden;box-shadow:0 4px 16px #1a2f290a}.dashboard-metrics article:after{content:"";background:#dfe8e4;border-radius:99px;width:34px;height:2px;position:absolute;bottom:1.05rem;right:1.1rem}.dashboard-metrics article:hover{box-shadow:var(--shadow-md);border-color:#c8d8d1;transform:translateY(-2px)}.dashboard-metrics article.attention{background:#fffdf8;border-color:#e5d6ba}.dashboard-metrics article>span{width:40px;height:40px;color:var(--color-primary);background:#edf5f1;border-radius:.78rem}.dashboard-metrics article.attention>span{color:var(--color-warning);background:var(--premium-gold-soft)}.dashboard-metrics small{color:#72807c;letter-spacing:.025em;font-size:.68rem}.dashboard-metrics strong{color:var(--premium-ink);margin-top:.25rem;font-size:1.75rem;font-weight:600}.dashboard-metrics p{color:#81908b;margin-top:.45rem;font-size:.66rem}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);gap:1rem}.dashboard-panel{border:1px solid #dce4e0;border-radius:1rem;box-shadow:0 4px 18px #1a2f290a}.dashboard-panel>header{background:#fbfcfa;border-color:#e6ebe8;min-height:70px;padding:1rem 1.25rem}.dashboard-panel>header span{color:var(--premium-gold);letter-spacing:.14em;font-size:.62rem}.dashboard-panel>header h3{font-size:1rem;font-weight:600}.dashboard-task-list article{border-color:#edf0ee;min-height:88px;padding:1rem 1.25rem}.dashboard-task-list article>span,.dashboard-quick-links nav a>span{background:#edf5f1;border-radius:.7rem}.dashboard-task-list a{color:var(--color-primary-dark)}.dashboard-quick-links nav a{border-color:#edf0ee;min-height:72px}.dashboard-quick-links nav a:hover{background:#fafbf9;padding-left:1.1rem}:is(.dorms-table-wrap,.staff-table-wrap,.students-table-wrap,.rooms-command-center,.room-floor-list,.leaves-list-shell,.guests-table-wrap,.attendance-table-wrap,.attendance-report-panel,.administration-workspace,.study-workspace,.profile-tabs-shell,.student-record-shell,.dorm-detail-section,.panel-dialog,.ui-dialog){background:#fff;border-color:#dbe3df;border-radius:1rem;box-shadow:0 4px 18px #1a2f290a}:is(.dorms-toolbar,.staff-toolbar,.students-toolbar,.rooms-toolbar,.leaves-toolbar,.guests-toolbar,.administration-toolbar){background:#fff;border:1px solid #dbe3df;border-radius:.9rem;gap:.75rem;min-height:64px;padding:.75rem 1rem;box-shadow:0 3px 14px #1a2f2909}.students-toolbar{margin-bottom:.75rem}.students-pagination{background:#fff;border-top:1px solid #dbe3df;border-radius:.9rem;min-height:62px;margin-top:.75rem;padding-inline:1rem;box-shadow:0 3px 14px #1a2f2909}.students-pagination>span strong{color:var(--color-primary-dark)}.students-pagination select,.students-pagination>div>button{border-color:#dbe3df}.students-pagination>div>button:not(:disabled):hover{border-color:var(--color-primary);transform:translateY(-1px)}.students-table{table-layout:fixed}.students-col-student{width:27%}.students-col-identity{width:15%}.students-col-grade{width:10%}.students-col-placement{width:18%}.students-col-guardian{width:19%}.students-col-status{width:11%}.students-table td{overflow:hidden}.students-table tbody .student-list-item{cursor:pointer}.students-table tbody .student-list-item:hover{background:#f5faf8}.students-table tbody .student-list-item:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #278273;position:relative}.students-table td>:is(strong,small,code),.student-person>span:last-child>:is(strong,small){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-person>span:last-child{min-width:0}.students-sort-button{width:100%;min-height:42px;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.45rem;padding:0;display:flex}.students-sort-button small{color:#98a39f;letter-spacing:.02em;text-align:right;min-width:28px;font-size:.55rem;font-weight:800}.students-sort-button:hover,.students-sort-button.active{color:var(--color-primary-dark)}.students-sort-button.active small{color:var(--premium-gold)}.students-filter{position:relative}.students-origin-filter{height:40px;color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;display:flex}.students-origin-filter select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:132px;height:40px;color:var(--color-text);font-size:var(--text-sm);padding:0 2rem 0 .75rem}.students-origin-filter select:focus{border-color:var(--color-primary);outline:3px solid #3f74711a}.students-status-menu{flex:0 0 104px;width:104px;position:relative}.students-status-menu summary{width:100%;height:40px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:.5rem;padding:0 .7rem 0 .85rem;list-style:none;display:flex}.students-status-menu summary::-webkit-details-marker{display:none}.students-status-menu[open] summary{border-color:var(--color-primary);box-shadow:0 0 0 3px #176b5a17}.students-status-menu[open] summary svg{transform:rotate(180deg)}.students-status-menu>div{z-index:20;background:#fff;border:1px solid #dbe3df;border-radius:.68rem;gap:.15rem;width:max(100%,160px);padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 12px 28px #122a2324}.students-status-menu>div button{min-height:34px;color:var(--color-text);cursor:pointer;font-size:var(--text-sm);text-align:left;background:0 0;border:0;border-radius:.45rem;padding:0 .55rem}.students-status-menu>div button:hover,.students-status-menu>div button[aria-selected=true]{color:var(--color-primary-dark);background:var(--color-primary-soft)}:is(.dorms-table,.staff-table,.students-table,.leaves-table,.guests-table,.administration-table) thead th{color:#71807b;letter-spacing:.06em;text-transform:uppercase;background:#f8faf8;border-color:#e6ece9;font-size:.65rem}:is(.dorms-table,.staff-table,.students-table,.leaves-table,.guests-table,.administration-table) tbody td{border-color:#edf0ee}:is(.dorms-table,.staff-table,.students-table,.leaves-table,.guests-table,.administration-table) tbody tr:hover{background:#fafbf9}:is(.panel-field,.profile-field,.administration-field,.leave-field) input,:is(.panel-field,.profile-field,.administration-field,.leave-field) select,:is(.panel-field,.profile-field,.administration-field,.leave-field) textarea,:is(.dorms-search,.staff-search,.students-search,.rooms-search,.leaves-search,.guests-search,.administration-search){background:#fff;border-color:#d7dfdb;border-radius:.72rem;box-shadow:0 1px 4px #1a2f2906}:is(input,select,textarea):focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #176b5a17}:is(.dorms-toolbar,.staff-toolbar,.students-toolbar,.rooms-toolbar,.leaves-toolbar,.guests-toolbar,.administration-toolbar) button,:is(.administration-primary-button,.leaves-create-button,.guest-manage-button,.panel-form button[type=submit]){border-radius:.68rem}:is(.administration-primary-button,.leaves-create-button,.guest-manage-button,.panel-form button[type=submit]){border-color:var(--premium-forest);background:var(--premium-forest);box-shadow:0 6px 14px #143f361f}.student-profile-hero,.rooms-occupancy-hero,.attendance-final-header{background:var(--premium-forest);border-radius:1rem;box-shadow:0 14px 34px #143f3621}.attendance-final-header.attendance-flow-header:before{display:none}.attendance-flow-back-static{cursor:default}.student-detail-panel,.student-placement-card,.room-card,.attendance-group,.attendance-summary-card,.guest-summary-grid article,.leaves-summary article,.administration-summary article{background:#fff;border-color:#dce4e0;border-radius:.9rem;box-shadow:0 3px 14px #1a2f2909}.student-profile-summary{background:#03242238}.student-profile-summary .student-summary-stat{box-shadow:none;background:0 0;border-radius:0}.student-profile-summary .student-summary-stat__icon{color:#a7f3d0}.student-profile-summary .student-summary-stat div>span{color:#e8fffca3}.student-profile-summary .student-summary-stat strong{color:#fff}.student-profile-hero h1{overflow-wrap:anywhere;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.rooms-occupancy-hero{background:radial-gradient(circle at 92% 5%, #6fb3a338, transparent 34%), linear-gradient(135deg, #103f36 0%, var(--premium-forest) 100%);border-color:#1d5a4e}.rooms-occupancy-hero:after{border-color:#ffffff1a;box-shadow:0 0 0 18px #ffffff06,0 0 0 38px #ffffff05}.rooms-occupancy-hero .rooms-section-kicker,.rooms-occupancy-hero .rooms-section-kicker svg{color:#a9d2c8}.rooms-occupancy-hero .rooms-occupancy-hero__title h2,.rooms-occupancy-hero .rooms-occupancy-hero__title>strong{color:#fff}.rooms-occupancy-hero .rooms-occupancy-hero__title p,.rooms-occupancy-hero .rooms-occupancy-hero__title>strong small,.rooms-occupancy-hero .rooms-occupancy-hero__caption{color:#b8d3cd}.rooms-occupancy-hero .rooms-occupancy-hero__caption svg{color:#8fc4b8}.rooms-occupancy-hero .rooms-occupancy-meter{background:#ffffff24}.rooms-occupancy-hero .rooms-occupancy-meter i{background:linear-gradient(90deg,#8bc7ba,#d6b979);box-shadow:0 0 16px #8bc7ba40}.rooms-occupancy-hero .rooms-hero-metric{background:#fffffff0;border-color:#d6e9e4d1;box-shadow:0 8px 20px #04211b1f}.room-card:hover,.student-placement-card:hover{box-shadow:var(--shadow-md);border-color:#c8d8d1}.room-plan-legend,.room-floor-tabs{box-shadow:none;border-color:#dce4e0;border-radius:.9rem}.profile-tabs,.student-detail-tabs,.room-detail-tabs{background:#fafbf9;border-color:#e2e8e5}@media (width>=921px){.rooms-toolbar{flex-wrap:nowrap}.rooms-toolbar .rooms-search{flex:260px;width:auto;min-width:180px;max-width:none}.rooms-toolbar>label:not(.rooms-search){flex:0 174px;min-width:138px}.rooms-toolbar>label:not(.rooms-search) select{width:100%;min-width:0}.rooms-toolbar .rooms-clear-filters,.rooms-toolbar .rooms-view-switch,.rooms-toolbar>strong{flex:none}.rooms-toolbar .rooms-view-switch{margin-left:0}.rooms-toolbar>strong{white-space:nowrap;margin-left:0}}@media (width>=641px) and (width<=920px){.rooms-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid}.rooms-toolbar .rooms-search{grid-column:1/-1}.rooms-toolbar>label:not(.rooms-search){width:100%}.rooms-toolbar .rooms-clear-filters{grid-column:1/-1;justify-self:start}.rooms-toolbar .rooms-view-switch{grid-column:1;width:100%;margin-left:0}.rooms-toolbar>strong{white-space:nowrap;grid-column:2;place-self:center end;margin-left:0}}.panel-dialog-backdrop,.ui-dialog-backdrop{background:#0a18148f}.panel-dialog,.ui-dialog,.administration-dialog,.leave-dialog{border:1px solid #ffffff73;border-radius:1.1rem;overflow:hidden;box-shadow:0 28px 70px #081c1738}@media (width<=1180px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:minmax(430px,44%) 1fr}}@media (width<=980px){.login-page{grid-template-columns:1fr}.login-brand-panel{min-height:300px;padding:2rem}.login-message{margin:3.5rem 0 2rem}.login-message h1{font-size:clamp(2.45rem,9vw,4rem)}.login-message-copy,.login-capabilities,.login-brand-footer{display:none}.login-form-panel{place-items:start center;min-height:calc(100svh - 300px);padding:2.5rem 1.5rem}.admin-sidebar{width:min(88vw,304px)}.admin-main{margin-left:0}.admin-desktop-bar{display:none}.admin-mobile-bar{background:#fafbf9f5;border-bottom:1px solid #dce3df;min-height:66px;padding:0 1rem}.admin-mobile-menu{border-radius:.7rem}.admin-content{min-height:calc(100vh - 66px)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=640px){:root{--control-height:2.85rem}.login-brand-panel{min-height:250px;padding:1.35rem}.login-brand>.corporate-logo{width:50px;height:50px}.login-message{margin:auto 0 1.2rem}.login-message>p{margin-bottom:.75rem;font-size:.62rem}.login-message h1{font-size:2.45rem}.login-form-panel{min-height:calc(100svh - 250px);padding:2rem 1.25rem 2.5rem}.login-form-heading{margin-bottom:1.6rem}.login-form-heading h2{font-size:1.85rem}:is(.dashboard-page,.profile-page,.dorms-page,.staff-page,.students-page,.rooms-page,.attendance-page,.guests-page,.dorm-detail-page,.leaves-page,.administration-desk-page,.study-management-page,.attendance-flow-page){padding:1.1rem .9rem 2rem}.ui-page-header{align-items:stretch;margin-bottom:1.2rem}.ui-page-header__copy>h1{font-size:1.65rem}.dashboard-metrics{grid-template-columns:1fr 1fr;gap:.6rem}.dashboard-metrics article{flex-direction:column;gap:.55rem;min-height:126px;padding:.9rem}.dashboard-metrics article>span{width:34px;height:34px}.dashboard-metrics strong{font-size:1.45rem}.dashboard-metrics p{display:none}.dashboard-panel{border-radius:.85rem}:is(.dorms-toolbar,.staff-toolbar,.students-toolbar,.rooms-toolbar,.leaves-toolbar,.guests-toolbar,.administration-toolbar){border-radius:.8rem}}@media (width<=760px){.students-toolbar{grid-template-columns:1fr;align-items:center;gap:.7rem;display:grid}.students-search{grid-column:1/-1;width:100%}.students-toolbar-panel{background:#fbfcfb;border:1px solid #dbe4e0;border-radius:.75rem;grid-column:1/-1;display:block;overflow:visible}.students-toolbar-panel-toggle{width:100%;min-height:44px;color:var(--color-primary-dark);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.65rem .75rem;display:grid}.students-toolbar-panel-toggle>span{align-items:center;gap:.5rem;min-width:0;font-size:.78rem;font-weight:700;display:flex}.students-toolbar-panel-toggle>small{color:#71807b;white-space:nowrap;font-size:.66rem;font-weight:600}.students-toolbar-panel-toggle>svg{transition:transform .18s}.students-toolbar-panel.is-open>.students-toolbar-panel-toggle>svg{transform:rotate(180deg)}.students-toolbar-panel-body{border-top:1px solid #e3ebe8;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.7rem;padding:.75rem;display:none}.students-toolbar-panel.is-open>.students-toolbar-panel-body{display:grid}.students-filter{min-width:0}.students-status-menu{max-width:100%}.students-origin-filter{min-width:0}.students-origin-filter select{flex:1;min-width:0}.students-toolbar-count{text-align:right;grid-column:1/-1;margin:0}.students-toolbar .students-heading-actions{border-top:1px solid #e3ebe8;grid-column:1/-1;width:100%;padding-top:.65rem}.students-toolbar .students-heading-actions button{flex:1}.students-table-wrap{box-shadow:none;background:0 0}.students-table tbody{gap:.7rem}.students-table tr{border-color:#dce4e0;border-radius:.9rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.72rem 1rem;padding:.85rem;overflow:hidden;box-shadow:0 3px 14px #1a2f2909}.students-table td[data-label=Öğrenci]{background:#fbfcfa;grid-column:1/-1;align-items:center;min-height:58px;margin:-.85rem -.85rem 0;padding:.7rem .85rem;display:flex}.students-table td[data-label="T.C. No"]{grid-column:span 2}.students-table td[data-label=Sınıf]{grid-column:span 1}.students-table td[data-label=Yerleşim],.students-table td[data-label=Veli]{grid-column:span 3}.students-table td[data-label=Durum]{grid-column:span 1}}@media (width<=520px){.students-toolbar{grid-template-columns:1fr;align-items:stretch;gap:.75rem;padding:.8rem}.students-search{grid-column:1;height:44px}.students-toolbar-panel-body{grid-template-columns:1fr}.students-filter,.students-origin-filter{grid-template-columns:1fr;align-items:stretch;gap:.35rem;width:100%;height:auto;display:grid}.students-filter>span,.students-origin-filter>span{color:#60716c;letter-spacing:.02em;font-size:.68rem;font-weight:700}.students-status-menu{flex-basis:auto;width:100%;max-width:none}.students-status-menu summary,.students-origin-filter select{background-color:#fbfcfb;border-color:#d7e1dd;border-radius:.7rem;width:100%;height:44px}.students-status-menu>div{left:0;right:auto}.students-toolbar-count{color:#71807b;text-align:left;grid-column:1;padding:.1rem .15rem 0}.students-toolbar .students-heading-actions{grid-column:1;padding-top:.75rem}.students-pagination{border-radius:.8rem}.students-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .8rem}.students-table td[data-label=Öğrenci]{grid-column:1/-1}.students-table td[data-label="T.C. No"],.students-table td[data-label=Sınıf],.students-table td[data-label=Yerleşim],.students-table td[data-label=Veli],.students-table td[data-label=Durum]{grid-column:span 1}}@media (width<=640px){.student-record-edit{padding-inline:.8rem;font-size:.72rem}.student-profile-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-summary-stat{text-align:center;flex-direction:column;align-items:center;min-width:0;padding:.7rem .55rem}.student-summary-stat+.student-summary-stat{border-top:0;border-left:1px solid #ffffff1f}.student-summary-stat div{width:100%;min-width:0}.student-summary-stat strong{max-width:100%}.student-detail-tabs{scroll-snap-type:x proximity}.student-detail-tabs button{scroll-snap-align:start}}@media (width<=760px){.attendance-group tr{grid-template-columns:minmax(0,1fr) auto}.attendance-group tr>td:first-child,.attendance-student,.attendance-student>span:last-child{min-width:0}.attendance-student strong{white-space:normal;overflow-wrap:anywhere;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.28;display:-webkit-box;overflow:hidden}.attendance-status-buttons{flex:none;gap:.2rem}.attendance-status-buttons button{min-width:38px;min-height:42px;padding-inline:.45rem}}@media (width<=380px){.attendance-status-buttons button{min-width:36px;padding-inline:.36rem}}.attendance-reports{--report-green:#176b5a;--report-ink:#17372f}.attendance-report-hero{background:radial-gradient(circle at 92% 0,#7bbeae38,#0000 34%),linear-gradient(135deg,#103f36 0%,#154f43 100%);border:1px solid #1d5a4e;border-radius:1rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 14px 34px #143f3621}.attendance-report-hero__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;min-height:126px;padding:1.2rem 1.3rem 1rem;display:grid}.attendance-report-hero__heading>div:first-child>span{color:#a9d2c8;letter-spacing:.11em;align-items:center;gap:.4rem;font-size:.62rem;font-weight:850;display:inline-flex}.attendance-report-hero__heading h2{color:#fff;font:650 clamp(1.25rem, 2vw, 1.65rem)/1.15 var(--font-heading);letter-spacing:-.035em;margin:.45rem 0 0}.attendance-report-hero__heading p{color:#b8d3cd;max-width:650px;margin:.4rem 0 0;font-size:.72rem;line-height:1.5}.attendance-report-period{color:#d9ebe7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #d5ebe533;border-radius:.75rem;align-items:center;gap:.7rem;min-width:280px;padding:.8rem .9rem;display:flex}.attendance-report-period>svg{color:#d6b979;flex:none}.attendance-report-period span,.attendance-report-period small,.attendance-report-period strong,.attendance-report-period em{display:block}.attendance-report-period small{color:#9fc8be;letter-spacing:.08em;font-size:.56rem;font-weight:850}.attendance-report-period strong{color:#fff;margin-top:.2rem;font-size:.73rem}.attendance-report-period em{color:#aaccc4;margin-top:.18rem;font-size:.61rem;font-style:normal}.attendance-report-hero .attendance-report-controls{background:#fffffff5;border:0;border-top:1px solid #d5ebe529;gap:.75rem;min-height:78px;margin:0;padding:.8rem 1rem}.attendance-report-hero .attendance-report-controls>div[role=group]{background:#f4f8f7;border:1px solid #dce6e3;border-radius:.7rem;gap:.15rem;padding:.2rem}.attendance-report-hero .attendance-report-controls>div[role=group] button{background:0 0;border:0;border-radius:.5rem;min-width:82px;height:36px}.attendance-report-hero .attendance-report-controls>div[role=group] button.active{color:#fff;background:var(--report-green);box-shadow:0 5px 12px #176b5a2e}.attendance-report-hero .attendance-report-controls>label>span{color:#71827e}.attendance-report-hero .attendance-date-picker-value{box-sizing:border-box;background:#fff;border-color:#dce6e3;border-radius:.65rem;justify-content:space-between;align-items:center;gap:.65rem;width:176px;min-width:0;height:42px;padding-inline:.75rem;display:flex}.attendance-report-hero .attendance-report-controls>label{gap:.35rem;min-width:0;display:grid}.attendance-report-hero .attendance-date-picker-value>span:first-child{flex:auto;min-width:0}.attendance-report-hero .attendance-date-picker-value>svg{flex:none;margin-left:auto}.attendance-report-completion{grid-template-columns:1fr auto;align-items:end;gap:.25rem .7rem;width:min(100%,280px);margin-left:auto;display:grid}.attendance-report-completion__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;display:grid}.attendance-report-completion__heading small{color:#71827e;letter-spacing:.07em;font-size:.56rem;font-weight:850;line-height:1.25}.attendance-report-completion__heading strong{color:var(--report-ink);font-size:1rem}.attendance-report-completion__track{background:#e8efed;border-radius:99px;grid-column:1/-1;height:7px;overflow:hidden}.attendance-report-completion__track i{border-radius:inherit;background:linear-gradient(90deg,#56a897,#d0ae63);height:100%;display:block}.attendance-report-completion>small{color:#7d8c89;grid-column:1/-1;font-size:.58rem}.attendance-report-summary{gap:.75rem}.attendance-report-summary-card{border-color:#dce5e2;border-radius:.85rem;min-height:110px;padding:.9rem;position:relative;overflow:hidden;box-shadow:0 5px 16px #1a2f290a}.attendance-report-summary-card:after{content:"";background:#c9d8d4;border-radius:0 99px 99px 0;width:3px;position:absolute;top:.8rem;bottom:.8rem;left:0}.attendance-report-summary-card.positive:after{background:#65a99a}.attendance-report-summary-card.warning:after{background:#d0a34d}.attendance-report-summary-card>span{border-radius:.62rem}.attendance-report-summary-card strong{letter-spacing:-.04em;font-size:1.55rem}.attendance-report-grid{align-items:start;gap:1rem}.attendance-report-panel{border-color:#dbe4e1;border-radius:1rem;overflow:hidden;box-shadow:0 5px 18px #1a2f290b}.attendance-report-panel>header{background:linear-gradient(#fff,#f8faf9);border-color:#e4ebe8;justify-content:space-between;gap:1rem;min-height:68px;padding:.75rem 1rem}.attendance-report-panel>header>div>svg{color:#3e8277}.attendance-report-panel>header strong{color:var(--report-ink)}.attendance-panel-badge{color:#52746d;background:#f3f8f6;border:1px solid #d5e4e0;border-radius:99px;flex:none;justify-content:center;align-items:center;min-height:27px;padding:0 .55rem;font-size:.61rem;font-weight:800;display:inline-flex}.attendance-panel-badge.warning{color:#8a651f;background:#fff9eb;border-color:#ead8ae}.attendance-panel-badge.danger{color:#934b44;background:#fff4f3;border-color:#efcfcc}.attendance-day-end-panel{grid-column:1/-1}.attendance-day-end-summary{background:#fbfcfc;border-bottom:1px solid #e4ebe8;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.75rem 1rem;display:grid}.attendance-day-end-summary>span{background:#fff;border:1px solid #e1e9e6;border-radius:.72rem;grid-template-columns:minmax(0,1fr) auto;align-content:center;column-gap:.75rem;min-width:0;min-height:64px;padding:.65rem .75rem;display:grid}.attendance-day-end-summary small,.attendance-day-end-summary strong,.attendance-day-end-summary em{display:block}.attendance-day-end-summary small{color:#6d817c;font-size:.63rem;font-weight:700}.attendance-day-end-summary strong{color:var(--report-ink);grid-area:1/2/span 2;align-self:center;font-size:1.25rem}.attendance-day-end-summary em{color:#7b8d89;margin-top:.2rem;font-size:.58rem;font-style:normal}.attendance-day-end-summary>span.danger{background:#fff8f7;border-color:#edcfcc}.attendance-day-end-summary>span.danger strong{color:#9a4e47}.attendance-day-end-summary>span.warning{background:#fffaf0;border-color:#ead8ae}.attendance-day-end-summary>span.warning strong{color:#8a651f}.attendance-day-end-summary>span.positive strong{color:#3e8277}.attendance-day-end-list{background:#e7eeec;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.attendance-day-end-list article{background:#fff;grid-template-columns:34px minmax(145px,1fr) minmax(120px,auto) auto;align-items:center;gap:.7rem;min-width:0;min-height:76px;padding:.7rem 1rem;display:grid;position:relative}.attendance-day-end-list article:before{content:"";inset-block:.75rem;background:#d8e2df;border-radius:0 99px 99px 0;width:3px;position:absolute;left:0}.attendance-day-end-list article.requires-follow-up:before{background:#c86c63}.attendance-day-end-list article.resolved-later:before{background:#68a898}.attendance-day-end-student{min-width:0}.attendance-day-end-student strong,.attendance-day-end-student small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-day-end-student strong{color:var(--report-ink);font-size:.74rem}.attendance-day-end-student small{color:#758681;margin-top:.22rem;font-size:.61rem}.attendance-day-end-sessions{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;min-width:0;display:flex}.attendance-day-end-sessions button{color:#8f4b45;cursor:pointer;white-space:nowrap;background:#fff6f5;border:1px solid #efd2cf;border-radius:.45rem;min-height:27px;padding:0 .48rem;font-size:.59rem;font-weight:750}.attendance-day-end-sessions button:hover{background:#ffefed;border-color:#dba9a4}.attendance-day-end-state{white-space:nowrap;border:1px solid;border-radius:99px;justify-content:center;align-items:center;min-height:27px;padding:0 .5rem;font-size:.57rem;font-weight:800;display:inline-flex}.attendance-day-end-state.open{color:#934b44;background:#fff4f3;border-color:#efcfcc}.attendance-day-end-state.resolved{color:#397b6d;background:#f0f8f6;border-color:#cce0db}.attendance-report-table-wrap table{table-layout:fixed}.attendance-report-table-wrap th{background:#f8faf9;height:42px}.attendance-report-table-wrap td{border-color:#e9efed;height:72px}.attendance-report-table-wrap tbody tr{transition:background-color .15s}.attendance-report-table-wrap tbody tr:hover{background:#fbfdfc}.attendance-report-table-wrap th:first-child{width:20%}.attendance-report-table-wrap th:nth-child(2){width:24%}.attendance-report-table-wrap th:nth-child(3){width:18%}.attendance-report-table-wrap th:nth-child(4),.attendance-report-table-wrap th:nth-child(5){width:10%}.attendance-report-table-wrap th:nth-child(6){width:18%}.attendance-session-progress>span{font-size:.68rem;font-weight:800}.attendance-session-progress>div{background:#e8eeec;border-radius:99px;width:min(100%,130px);height:5px;margin-top:.35rem;overflow:hidden}.attendance-session-progress>div i{border-radius:inherit;background:#5ba08f;height:100%;display:block}.attendance-session-progress>small{margin-top:.3rem!important}.attendance-report-table-wrap td:last-child{width:auto}.attendance-report-table-wrap td button{white-space:nowrap;border-color:#c8ddd8;border-radius:.58rem;min-height:34px;padding:0 .65rem}.attendance-report-table-wrap .report-row-complete{color:#398070;align-items:center;gap:.3rem;font-size:.65rem;font-weight:800;display:inline-flex}.attendance-report-list>button{min-height:60px;padding-inline:1rem;transition:background-color .15s,padding-left .15s}.attendance-report-list>button:hover{background:#f7fbfa;padding-left:1.1rem}.attendance-report-list>button em{border-radius:.4rem}.attendance-report-list-note{color:#7b8d89;background:#f9fbfa;border-top:1px solid #e6ecea;align-items:center;min-height:38px;padding:.65rem 1rem;font-size:.62rem;display:flex}.attendance-risk-avatar{border:1px solid #efd6d2;border-radius:.58rem}.attendance-comparison-summary{background:#fbfcfc;gap:.65rem}.attendance-comparison-summary>span{background:#fff;border:1px solid #e2e9e7;border-radius:.7rem}.attendance-comparison-summary strong{color:var(--report-ink);font-size:1.25rem}.attendance-report-empty{color:#4d9385}.attendance-report-empty>svg{background:#f2faf8;border:1px solid #d4e7e2;border-radius:.75rem;width:38px;height:38px;padding:.55rem}.attendance-report-loading.ui-collection-state{border-radius:1rem;box-shadow:0 5px 18px #1a2f290a}@media (width<=920px){.attendance-report-hero__heading{grid-template-columns:1fr;gap:.9rem}.attendance-report-period{width:100%;min-width:0}.attendance-report-hero .attendance-report-controls{grid-template-columns:1fr 1fr;align-items:end;display:grid}.attendance-report-completion{background:#f8faf9;border:1px solid #dce6e3;border-radius:.7rem;grid-column:1/-1;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;margin-left:0;padding:.7rem .8rem}.attendance-day-end-list{grid-template-columns:1fr}}@media (width<=760px){.attendance-report-hero{border-radius:.9rem}.attendance-report-hero__heading{min-height:0;padding:1rem}.attendance-report-hero__heading p{font-size:.68rem}.attendance-report-hero .attendance-report-controls{grid-template-columns:1fr;padding:.8rem}.attendance-report-hero .attendance-report-controls>div[role=group],.attendance-report-hero .attendance-report-controls>label,.attendance-report-hero .attendance-date-picker-value{width:100%}.attendance-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-summary-card{min-height:104px;padding:.8rem}.attendance-report-summary-card strong{font-size:1.35rem}.attendance-report-panel>header{align-items:flex-start}.attendance-day-end-summary{grid-template-columns:1fr;padding:.65rem .8rem}.attendance-day-end-summary>span{min-height:56px}.attendance-day-end-list article{grid-template-columns:32px minmax(0,1fr) auto;padding:.7rem .8rem}.attendance-day-end-sessions{grid-column:2/-1;justify-content:flex-start}.attendance-day-end-state{grid-area:1/3}.attendance-report-table-wrap tbody{background:0 0}.attendance-report-table-wrap tr{border-color:#dce5e2;border-radius:.8rem;box-shadow:0 3px 12px #1a2f2909}.attendance-report-table-wrap td[data-label=İşlem]{grid-column:1/-1}.attendance-report-table-wrap td[data-label=İşlem] button{justify-content:center;width:100%}.attendance-comparison-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-comparison-list{grid-template-columns:1fr}}@media (width<=420px){.attendance-report-summary{grid-template-columns:1fr}.attendance-report-summary-card{min-height:94px}.attendance-report-period strong{font-size:.67rem}.attendance-report-panel>header{padding-inline:.8rem}.attendance-day-end-list article{grid-template-columns:32px minmax(0,1fr)}.attendance-day-end-state{grid-area:auto/2;justify-self:start}.attendance-day-end-sessions{grid-column:2}.attendance-risk-list>div{grid-template-columns:32px minmax(0,1fr)}.attendance-risk-list>div>span:last-child{text-align:left;grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.placement-center-page{width:min(100%,1480px);margin-inline:auto;padding:clamp(1.35rem,2.5vw,2.6rem)}.placement-refresh-button{color:#215d51;cursor:pointer;background:#fff;border:1px solid #cdded8;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;min-height:40px;padding:0 .8rem;font-size:.72rem;font-weight:750;display:inline-flex}.placement-refresh-button:hover:not(:disabled){background:#f6fbf8;border-color:#9cc6b9}.placement-refresh-button:disabled{opacity:.62}.placement-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.placement-summary article{background:#fff;border:1px solid #dbe5e1;border-radius:.9rem;align-items:flex-start;gap:.7rem;min-height:102px;padding:.9rem;display:flex;box-shadow:0 4px 16px #1a2f2909}.placement-summary article.attention{background:#fffdf8;border-color:#e8d5ad}.placement-summary-icon{color:#216b5c;background:#edf6f2;border-radius:.65rem;flex:none;place-items:center;width:34px;height:34px;line-height:0;display:grid!important}.placement-summary-icon svg{stroke-width:1.8px;flex:none;width:17px;height:17px;display:block;position:static;margin:0!important}.placement-summary-icon.guest{color:#8e6c28;background:#f8f1e4}.placement-summary article>div{min-width:0}.placement-summary article>div>small,.placement-summary article>div>strong,.placement-summary article>div>span{display:block}.placement-summary small{color:#788882;font-size:.63rem;font-weight:700}.placement-summary strong{color:#173b32;font:600 1.42rem/1.1 var(--font-heading);letter-spacing:-.045em;margin-top:.16rem}.placement-summary strong em{color:#8a9994;font:500 .75rem var(--font-body);letter-spacing:0}.placement-summary article>div>span{color:#87958f;text-overflow:ellipsis;white-space:nowrap;margin-top:.32rem;font-size:.61rem;overflow:hidden}.placement-summary article.attention .placement-summary-icon{color:#9a6c1c;background:#f8efd9}.placement-feedback{border-radius:.72rem;margin:0 0 .8rem}.placement-feedback>svg{flex:none}.placement-workspace{background:#fff;border:1px solid #d9e3df;border-radius:1.05rem;overflow:hidden;box-shadow:0 7px 24px #1a2f290b}.placement-workspace-header{background:linear-gradient(#fff,#fbfcfb);border-bottom:1px solid #e3eae7;justify-content:space-between;align-items:center;gap:1rem;min-height:98px;padding:1.1rem 1.25rem;display:flex}.placement-workspace-header>div:first-child{min-width:0}.placement-kicker,.placement-list-heading>div>span,.placement-section-heading>div>span,.placement-study-assign>div>span{color:#7c948c;letter-spacing:.12em;text-transform:uppercase;font-size:.57rem;font-weight:850;display:block}.placement-workspace-header h2{color:#173b32;font:600 1.28rem/1.2 var(--font-heading);letter-spacing:-.035em;margin:.2rem 0 0}.placement-workspace-header p{color:#7a8984;margin:.28rem 0 0;font-size:.69rem}.placement-workspace-actions{flex:none;align-items:center;gap:.55rem;display:flex}.placement-view-tabs{background:#f5f8f6;border:1px solid #dce6e2;border-radius:.75rem;flex:none;align-items:center;gap:.18rem;padding:.22rem;display:inline-flex}.placement-view-tabs button{color:#73837e;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.55rem;justify-content:center;align-items:center;gap:.35rem;min-height:35px;padding:0 .72rem;font-size:.66rem;font-weight:750;display:inline-flex}.placement-view-tabs button:hover{color:#216b5c;background:#edf6f2}.placement-view-tabs button.active{color:#fff;background:#176b5a;box-shadow:0 5px 12px #176b5a2e}.placement-toolbar{background:#fbfcfb;border-bottom:1px solid #e7edeb;align-items:center;gap:.55rem;min-height:64px;padding:.75rem 1rem;display:flex}.placement-search{color:#78918a;background:#fff;border:1px solid #d5e1dc;border-radius:.65rem;flex:300px;align-items:center;gap:.45rem;min-width:210px;height:38px;padding:0 .65rem;display:flex}.placement-search:focus-within{border-color:#6a9;box-shadow:0 0 0 3px #176b5a14}.placement-search input{color:#27463e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.7rem}.placement-search input::placeholder{color:#9aa8a3}.placement-select{gap:.22rem;min-width:128px;display:grid}.placement-select>span{color:#82918d;font-size:.55rem;font-weight:750}.placement-select select{color:#315148;background:#fff;border:1px solid #d5e1dc;border-radius:.65rem;outline:0;width:100%;height:38px;padding:0 .65rem;font-size:.67rem}.placement-clear-button{color:#5f7f75;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5e1dc;border-radius:.65rem;align-items:center;gap:.35rem;height:38px;padding:0 .68rem;font-size:.65rem;font-weight:700;display:inline-flex}.placement-clear-button:hover{color:#1a6657;background:#f5faf8;border-color:#a5c5ba}.placement-room-workspace{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);min-height:560px;display:grid}.placement-room-list{background:#fbfcfb;border-right:1px solid #e4ebe8;min-width:0;max-height:680px;overflow:auto}.placement-list-heading{border-bottom:1px solid #e5ece9;justify-content:space-between;align-items:center;gap:.7rem;min-height:64px;padding:.8rem 1rem;display:flex}.placement-list-heading strong{color:#22463c;font:600 .87rem var(--font-heading);margin-top:.2rem;display:block}.placement-list-heading>a{color:#287363;white-space:nowrap;align-items:center;gap:.3rem;font-size:.61rem;font-weight:750;text-decoration:none;display:inline-flex}.placement-list-heading>a:hover{color:#0f5648}.placement-view-hint{color:#83918d;font-size:.62rem}.placement-room-row{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e8eeeb;align-items:center;gap:.6rem;width:100%;min-height:72px;padding:.7rem .85rem;display:flex}.placement-room-row:hover{background:#f4f9f6}.placement-room-row.selected{background:#eaf5f1;box-shadow:inset 3px 0 #1b7562}.placement-room-row-icon{color:#327c6d;background:#fff;border:1px solid #cfe2db;border-radius:.62rem;flex:none;place-items:center;width:32px;height:32px;display:grid}.placement-room-row-copy{flex:1;min-width:0}.placement-room-row-copy>strong,.placement-room-row-copy>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.placement-room-row-copy>strong{color:#24483f;font-size:.71rem;font-weight:800}.placement-room-row-copy>small{color:#879691;margin-top:.17rem;font-size:.58rem}.placement-room-row-copy>i{background:#e4ece8;border-radius:99px;height:4px;margin-top:.38rem;display:block;overflow:hidden}.placement-room-row-copy>i b{border-radius:inherit;background:linear-gradient(90deg,#75b9a6,#d2aa60);height:100%;display:block}.placement-room-row-status{color:#2e806d;text-align:right;min-width:42px;font-size:.57rem;font-weight:800}.placement-room-row-status.full{color:#9c6b20}.placement-room-row-status.muted{color:#9b8b71}.placement-room-inspector{background:#fff;min-width:0;padding:1.05rem 1.15rem 1.25rem}.placement-room-inspector>header{border-bottom:1px solid #e8eeeb;justify-content:space-between;align-items:flex-start;gap:.8rem;padding-bottom:.85rem;display:flex}.placement-room-inspector h3{color:#173b32;font:600 1.28rem/1.1 var(--font-heading);letter-spacing:-.04em;margin:.22rem 0 0}.placement-room-inspector header p{color:#84938e;margin:.26rem 0 0;font-size:.63rem}.placement-status-pill{color:#2c7c6a;white-space:nowrap;background:#eff8f4;border:1px solid #cfe3db;border-radius:99px;align-items:center;min-height:26px;padding:0 .55rem;font-size:.57rem;font-weight:800;display:inline-flex}.placement-status-pill.full{color:#90651e;background:#fff8ea;border-color:#ead7ae}.placement-status-pill.maintenance,.placement-status-pill.closed{color:#8a7761;background:#faf7f2;border-color:#e7ddd0}.placement-occupancy-hero{border-bottom:1px solid #e8eeeb;padding:.85rem 0 .95rem}.placement-occupancy-hero>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.placement-occupancy-hero>div:first-child span{color:#80908b;font-size:.6rem;font-weight:700}.placement-occupancy-hero>div:first-child strong{color:#1d4a3f;font:600 1.25rem var(--font-heading);letter-spacing:-.04em}.placement-occupancy-hero>div:first-child em{color:#92a09b;font:500 .68rem var(--font-body);letter-spacing:0}.placement-occupancy-track{background:#e9f0ed;border-radius:99px;height:7px;margin-top:.5rem;overflow:hidden}.placement-occupancy-track i{border-radius:inherit;background:linear-gradient(90deg,#5ca591,#d0a957);height:100%;display:block}.placement-occupancy-hero>small{color:#718680;margin-top:.35rem;font-size:.6rem;display:block}.placement-quick-assign{border-bottom:1px solid #e8eeeb;padding:.85rem 0 1rem}.placement-section-heading{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.placement-section-heading strong{color:#254b40;margin-top:.18rem;font-size:.76rem;font-weight:800;display:block}.placement-section-heading>small{color:#91a09b;text-align:right;font-size:.57rem}.placement-kind-tabs{gap:.3rem;margin-top:.68rem;display:flex}.placement-kind-tabs button{color:#718680;cursor:pointer;background:#fff;border:1px solid #dbe6e1;border-radius:.55rem;align-items:center;gap:.3rem;min-height:30px;padding:0 .55rem;font-size:.6rem;font-weight:750;display:inline-flex}.placement-kind-tabs button.active{color:#196654;background:#eff8f4;border-color:#9fcabb}.placement-kind-tabs button:disabled{opacity:.45;cursor:not-allowed}.placement-assign-line{gap:.4rem;margin-top:.45rem;display:flex}.placement-assign-line select{color:#35554c;background:#fff;border:1px solid #d5e1dc;border-radius:.62rem;outline:0;flex:1;min-width:0;height:38px;padding:0 .6rem;font-size:.64rem}.placement-assign-line button,.placement-study-assign button{color:#fff;cursor:pointer;background:#176b5a;border:1px solid #176b5a;border-radius:.62rem;flex:none;justify-content:center;align-items:center;gap:.35rem;height:38px;padding:0 .72rem;font-size:.63rem;font-weight:800;display:inline-flex}.placement-assign-line button:hover:not(:disabled),.placement-study-assign button:hover:not(:disabled){background:#0f594b}.placement-assign-line button:disabled,.placement-study-assign button:disabled{opacity:.5;cursor:not-allowed}.placement-assignment-help{color:#8b9994;margin-top:.45rem;font-size:.57rem;line-height:1.4;display:block}.placement-assignment-help a,.placement-readonly-note a{color:#287363;font-weight:750}.placement-full-note{color:#896b35;background:#fffaf0;border:1px solid #eadfc9;border-radius:.62rem;align-items:flex-start;gap:.4rem;margin-top:.85rem;padding:.62rem .65rem;font-size:.59rem;line-height:1.45;display:flex}.placement-full-note svg{color:#b28a46;flex:none}.placement-occupants-heading{padding:.9rem 0 .55rem}.placement-occupant-list{gap:.35rem;display:grid}.placement-occupant-list>div{background:#fbfcfb;border:1px solid #e4ece8;border-radius:.62rem;align-items:center;gap:.5rem;min-height:46px;padding:.42rem .45rem;display:flex}.placement-occupant-avatar{color:#2d7968;background:#eaf5f1;border-radius:.5rem;flex:none;place-items:center;width:27px;height:27px;display:grid}.placement-occupant-avatar.guest{color:#9b732b;background:#f8f0e3}.placement-occupant-copy{flex:1;min-width:0}.placement-occupant-copy strong,.placement-occupant-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.placement-occupant-copy strong{color:#31534a;font-size:.63rem;font-weight:800}.placement-occupant-copy small{color:#8a9993;margin-top:.1rem;font-size:.56rem}.placement-occupant-list em{color:#9b732b;white-space:nowrap;font-size:.56rem;font-style:normal;font-weight:800}.placement-occupant-list button{color:#9a6c71;cursor:pointer;background:#fff;border:1px solid #edd8d9;border-radius:.5rem;place-items:center;width:27px;height:27px;display:grid}.placement-occupant-list button:hover{color:#a53846;background:#fff7f7;border-color:#e2afb4}.placement-room-note{color:#7d6b4f;background:#fffaf0;border:1px solid #eadfc8;border-radius:.6rem;align-items:flex-start;gap:.4rem;margin-top:.75rem;padding:.55rem .6rem;font-size:.59rem;line-height:1.45;display:flex}.placement-room-note svg{color:#b28a46;flex:none}.placement-empty-inspector{color:#82948d;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:400px;display:flex}.placement-empty-inspector svg{color:#5ca591}.placement-empty-inspector strong{color:#2e594e;font:600 1rem var(--font-heading)}.placement-empty-inspector span{max-width:250px;font-size:.64rem}.placement-inline-empty{color:#7d918a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:180px;padding:1.2rem;display:flex}.placement-inline-empty.compact{min-height:120px}.placement-inline-empty svg{color:#63a695}.placement-inline-empty strong{color:#32574d;font:600 .82rem var(--font-heading)}.placement-inline-empty span{max-width:260px;font-size:.6rem}.placement-inline-empty a{color:#287363;align-items:center;gap:.3rem;margin-top:.25rem;font-size:.62rem;font-weight:800;text-decoration:none;display:inline-flex}.placement-people-view,.placement-study-view{min-height:500px}.placement-people-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.75rem 1rem 1.15rem;display:grid}.placement-person-row{cursor:pointer;text-align:left;background:#fff;border:1px solid #e1eae6;border-radius:.72rem;grid-template-columns:34px minmax(0,1fr) minmax(120px,.65fr) 16px;align-items:center;gap:.55rem;min-width:0;min-height:68px;padding:.65rem;display:grid}.placement-person-row:hover{background:#f8fcfa;border-color:#bdd7cd;box-shadow:0 4px 12px #1a2f290a}.placement-person-icon{color:#2d7c6b;background:#eaf5f1;border-radius:.55rem;place-items:center;width:31px;height:31px;display:grid}.placement-person-icon.guest{color:#9b732b;background:#f8f0e3}.placement-person-row>span:nth-child(2),.placement-person-location{min-width:0}.placement-person-row strong,.placement-person-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.placement-person-row>span:nth-child(2) strong{color:#31544a;font-size:.66rem;font-weight:800}.placement-person-row>span:nth-child(2) small{color:#899992;margin-top:.15rem;font-size:.57rem}.placement-person-location{border-left:1px solid #e7eeeb;padding-left:.55rem}.placement-person-location small{color:#92a09b;font-size:.52rem}.placement-person-location strong{color:#42655a;margin:.12rem 0;font-size:.58rem}.placement-person-location strong.missing{color:#a06d27}.placement-person-row>svg{color:#9cafaa}.placement-study-view>.placement-list-heading{border-bottom:1px solid #e5ece9}.placement-study-assign{background:#f5faf7;border:1px solid #dce9e3;border-radius:.78rem;grid-template-columns:minmax(170px,.8fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:center;gap:.55rem;margin:.8rem 1rem 0;padding:.8rem;display:grid}.placement-study-assign>div{min-width:0}.placement-study-assign>div>strong{color:#285349;margin-top:.2rem;font-size:.72rem;display:block}.placement-study-assign select{color:#35554c;background:#fff;border:1px solid #d1e1da;border-radius:.62rem;outline:0;min-width:0;height:38px;padding:0 .6rem;font-size:.63rem}.placement-hall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.8rem 1rem 1.2rem;display:grid}.placement-hall-grid article{background:#fff;border:1px solid #e0e9e5;border-radius:.72rem;padding:.75rem}.placement-hall-grid article.inactive{opacity:.7}.placement-hall-grid header{align-items:center;gap:.5rem;min-width:0;display:flex}.placement-hall-icon{color:#2b7a68;background:#eaf5f1;border-radius:.52rem;flex:none;place-items:center;width:29px;height:29px;display:grid}.placement-hall-grid header>div{flex:1;min-width:0}.placement-hall-grid header strong,.placement-hall-grid header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.placement-hall-grid header strong{color:#31574c;font-size:.65rem;font-weight:800}.placement-hall-grid header small{color:#8b9a94;margin-top:.12rem;font-size:.55rem}.placement-hall-grid header>span{color:#3a8a76;font-size:.54rem;font-weight:800}.placement-hall-grid article.inactive header>span{color:#987e59}.placement-hall-progress{background:#e8efec;border-radius:99px;height:5px;margin-top:.75rem;overflow:hidden}.placement-hall-progress i{border-radius:inherit;background:linear-gradient(90deg,#69ad9c,#d1aa61);height:100%;display:block}.placement-hall-grid footer{justify-content:space-between;align-items:baseline;gap:.4rem;margin-top:.42rem;display:flex}.placement-hall-grid footer strong{color:#31574c;font-size:.67rem}.placement-hall-grid footer strong em{color:#94a19d;font-size:.56rem;font-style:normal;font-weight:500}.placement-hall-grid footer small{color:#879891;font-size:.55rem}.placement-readonly-note{color:#7f8f8a;background:#fbfcfb;border:1px solid #e3eae7;border-radius:.6rem;align-items:center;gap:.4rem;margin:.1rem 1rem 1rem;padding:.55rem .65rem;font-size:.59rem;display:flex}.placement-readonly-note svg{color:#a18757;flex:none}.placement-state{min-height:440px;box-shadow:none;border:0}@media (width<=960px){.placement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.placement-workspace-header{flex-direction:column;align-items:flex-start}.placement-workspace-actions,.placement-view-tabs{width:100%}.placement-view-tabs button{flex:1}.placement-study-assign{grid-template-columns:repeat(2,minmax(0,1fr))}.placement-study-assign>div{grid-column:1/-1}.placement-hall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.placement-center-page{padding:1.1rem .9rem 2rem}.placement-workspace-actions{flex-direction:column;align-items:stretch}.placement-refresh-button{width:100%}.placement-summary{gap:.55rem}.placement-summary article{min-height:94px;padding:.75rem}.placement-summary-icon{width:30px;height:30px}.placement-summary strong{font-size:1.28rem}.placement-toolbar{flex-wrap:wrap;align-items:stretch}.placement-search{flex-basis:100%;min-width:100%}.placement-select{flex:1;min-width:0}.placement-clear-button{align-self:end}.placement-room-workspace{display:block}.placement-room-list{border-bottom:1px solid #e4ebe8;border-right:0;max-height:330px}.placement-room-inspector{padding:.9rem}.placement-people-list{grid-template-columns:1fr;padding-inline:.75rem}.placement-person-row{grid-template-columns:32px minmax(0,1fr) 16px}.placement-person-location{border-top:1px solid #e7eeeb;border-left:0;grid-column:2/-1;padding:.3rem 0 0}.placement-person-location small:first-child{margin-right:.3rem;display:inline}.placement-person-location strong{margin-right:.45rem;display:inline}.placement-study-assign{grid-template-columns:1fr;margin-inline:.75rem}.placement-study-assign>div,.placement-study-assign select,.placement-study-assign button{grid-column:auto;width:100%}.placement-hall-grid{grid-template-columns:1fr;padding-inline:.75rem}}@media (width<=420px){.placement-summary{grid-template-columns:1fr 1fr}.placement-summary article{gap:.5rem}.placement-summary small{font-size:.58rem}.placement-summary article>div>span{font-size:.55rem}.placement-view-tabs button{padding-inline:.35rem;font-size:.6rem}.placement-assign-line{flex-direction:column}.placement-assign-line button{width:100%}}.dashboard-today-page{max-width:1480px}.dashboard-today-page .ui-page-header{align-items:center}.dashboard-today-page .ui-page-header__copy>span{flex-wrap:wrap;align-items:center;gap:.45rem .8rem;display:flex}.dashboard-updated{color:#8b9894;align-items:center;gap:.3rem;font-size:.62rem;font-weight:600;display:inline-flex}.dashboard-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.dashboard-header-actions a,.dashboard-header-actions button{color:#1b6658;background:#fff;border:1px solid #cbdcd5;border-radius:.68rem;justify-content:center;align-items:center;gap:.4rem;min-height:38px;padding:0 .72rem;font-size:.64rem;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 3px 10px #1a2f2909}.dashboard-header-actions a:first-child{color:#fff;background:#156e5e;border-color:#156e5e}.dashboard-header-actions a:hover,.dashboard-header-actions button:hover:not(:disabled){background:#edf7f3;border-color:#86b6aa;transform:translateY(-1px)}.dashboard-header-actions a:first-child:hover{color:#fff;background:#0f5b4e;border-color:#0f5b4e}.dashboard-header-actions button{cursor:pointer;width:38px;padding:0}.dashboard-header-actions button:disabled{opacity:.58;cursor:wait}.dashboard-header-actions .spinning{animation:.85s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-priority-strip{background:#fff;border:1px solid #d9e4df;border-radius:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;display:grid;overflow:hidden;box-shadow:0 5px 20px #1c342d0b}.dashboard-priority-strip article{border-right:1px solid #e4ebe7;align-items:center;gap:.75rem;min-height:94px;padding:.95rem 1rem;display:flex}.dashboard-priority-strip article:last-child{border-right:0}.dashboard-priority-strip article>span{color:#277767;background:#eaf5f1;border-radius:.72rem;flex:none;place-items:center;width:37px;height:37px;display:grid}.dashboard-priority-strip article.critical>span{color:#b2413d;background:#fbeceb}.dashboard-priority-strip article.warning>span{color:#a36c23;background:#fcf3e4}.dashboard-priority-strip article.clear>span{color:#2e826d;background:#edf7f3}.dashboard-priority-strip article>div{min-width:0}.dashboard-priority-strip small,.dashboard-priority-strip strong,.dashboard-priority-strip p{display:block}.dashboard-priority-strip small{color:#76847f;letter-spacing:.025em;font-size:.59rem;font-weight:800}.dashboard-priority-strip strong{color:#173d35;font-size:1.45rem;line-height:1;font-family:var(--font-heading);margin-top:.12rem}.dashboard-priority-strip p{color:#8b9994;text-overflow:ellipsis;white-space:nowrap;margin:.3rem 0 0;font-size:.57rem;overflow:hidden}.dashboard-today-grid{grid-template-columns:minmax(0,1.58fr) minmax(330px,.82fr);align-items:start;gap:1rem;display:grid}.dashboard-today-column{gap:1rem;min-width:0;display:grid}.dashboard-today-page .dashboard-panel{border-color:#d9e4df;box-shadow:0 5px 20px #1c342d0a}.dashboard-today-page .dashboard-panel>header{background:#fbfcfb;min-height:66px;padding:.9rem 1.05rem}.dashboard-today-page .dashboard-panel>header h3{font-size:.94rem}.dashboard-timeline{padding:.25rem 1rem .7rem}.dashboard-timeline>article{grid-template-columns:54px 16px minmax(0,1fr);gap:.6rem;min-height:104px;display:grid}.dashboard-timeline-time{text-align:right;padding-top:1rem}.dashboard-timeline-time strong,.dashboard-timeline-time span{display:block}.dashboard-timeline-time strong{color:#286e60;font-size:.72rem}.dashboard-timeline-time span{color:#98a49f;margin-top:.16rem;font-size:.56rem}.dashboard-timeline>article>i{display:block;position:relative}.dashboard-timeline>article>i:before{content:"";background:#dfe8e4;width:1px;height:100%;position:absolute;top:0;left:50%}.dashboard-timeline>article>i:after{content:"";background:#75aa9d;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #a9c8c0}.dashboard-timeline>article.current>i:after{background:#d29a3f;box-shadow:0 0 0 4px #fcf1dd}.dashboard-timeline>article.completed{opacity:.72}.dashboard-timeline-content{background:#fff;border:1px solid #e1e9e5;border-radius:.76rem;min-width:0;margin:.45rem 0;padding:.78rem .85rem}.dashboard-timeline>article.current .dashboard-timeline-content{background:#fffcf6;border-color:#e7c98f;box-shadow:0 4px 14px #97681f12}.dashboard-timeline-title{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dashboard-timeline-title>div{min-width:0}.dashboard-timeline-title strong{color:#244a41;font-size:.72rem;display:block}.dashboard-timeline-title span{color:#84938e;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.57rem;display:flex}.dashboard-timeline-title em{color:#597a70;background:#edf5f2;border-radius:99px;flex:none;padding:.2rem .42rem;font-size:.51rem;font-style:normal;font-weight:800}.dashboard-timeline>article.current .dashboard-timeline-title em{color:#94611c;background:#faebce}.dashboard-assignee-list{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.dashboard-assignee-list>span{background:#f7faf8;border:1px solid #e2ebe7;border-radius:.52rem;min-width:118px;padding:.35rem .48rem;display:block}.dashboard-assignee-list b,.dashboard-assignee-list small{display:block}.dashboard-assignee-list b{color:#31594f;font-size:.58rem}.dashboard-assignee-list small{color:#8c9b96;margin-top:.08rem;font-size:.51rem}.dashboard-unassigned{color:#a16b25;margin-top:.5rem;font-size:.57rem;font-weight:700}.dashboard-attendance-state{color:#9c6420;background:#fcf3e4;border-radius:.52rem;align-items:center;gap:.35rem;margin-top:.55rem;padding:.38rem .48rem;font-size:.55rem;font-weight:800;text-decoration:none;display:flex}.dashboard-attendance-state.completed{color:#28715f;background:#eaf6f1}.dashboard-attendance-state>span{flex:1;min-width:0}.dashboard-empty-state{color:#3b7b6d;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:255px;padding:2rem;display:flex}.dashboard-empty-state strong,.dashboard-empty-state span{display:block}.dashboard-empty-state strong{color:#294d44;font-size:.75rem}.dashboard-empty-state span{color:#8b9994;margin-top:.25rem;font-size:.61rem}.dashboard-empty-state a{color:#1c6d5d;align-items:center;gap:.3rem;font-size:.59rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-flow-complete{min-height:170px}.dashboard-past-flow{background:#f8faf9;border:1px solid #dfe8e4;border-radius:.76rem;margin:.05rem 1rem .9rem;overflow:hidden}.dashboard-past-flow>button{color:#557069;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.65rem;width:100%;min-height:52px;padding:.65rem .75rem;display:flex}.dashboard-past-flow>button:hover{background:#f1f6f4}.dashboard-past-flow>button>span{grid-template-columns:22px auto;align-items:center;column-gap:.35rem;min-width:0;display:grid}.dashboard-past-flow>button>span>svg{color:#6c8f85;grid-row:1/3}.dashboard-past-flow>button b,.dashboard-past-flow>button small{display:block}.dashboard-past-flow>button b{color:#355c52;font-size:.62rem}.dashboard-past-flow>button small{color:#8b9994;margin-top:.08rem;font-size:.52rem}.dashboard-past-flow>button>svg{flex:none;transition:transform .18s}.dashboard-past-flow.open>button>svg{transform:rotate(180deg)}.dashboard-past-timeline{background:#fff;border-top:1px solid #e2e9e6;padding:.05rem .7rem .65rem}.dashboard-past-timeline>article{min-height:96px}.dashboard-alert-list{display:grid}.dashboard-alert-list article{border-bottom:1px solid #e7edea;grid-template-columns:34px minmax(0,1fr);gap:.65rem;min-height:112px;padding:.9rem 1rem;display:grid}.dashboard-alert-list article:last-child{border-bottom:0}.dashboard-alert-list article>span{color:#347969;background:#eaf5f1;border-radius:.62rem;place-items:center;width:32px;height:32px;display:grid}.dashboard-alert-list article.critical>span{color:#b1433f;background:#fbeceb}.dashboard-alert-list article.warning>span{color:#9d6923;background:#fcf2e2}.dashboard-alert-list strong{color:#294d44;font-size:.67rem;display:block}.dashboard-alert-list p{color:#81908b;margin:.24rem 0 0;font-size:.56rem;line-height:1.45}.dashboard-alert-list small{color:#687c75;text-overflow:ellipsis;white-space:nowrap;margin-top:.35rem;font-size:.53rem;display:block;overflow:hidden}.dashboard-alert-list a{color:#1a6b5b;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.55rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-today-clear{text-align:center;flex-direction:column;min-height:285px;padding-inline:2rem}.dashboard-weekend-panel>header>a{color:#1b6b5b;align-items:center;gap:.3rem;font-size:.56rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-weekend-roster-card{background:#fbfcfb;border:1px solid #dde7e3;border-radius:.76rem;margin:.8rem;padding:.9rem}.dashboard-weekend-roster-card.current{background:#fffcf6;border-color:#d7b36f;box-shadow:inset 0 3px #d3a453}.dashboard-weekend-coverage{grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;gap:.45rem;display:grid}.dashboard-weekend-coverage>span{color:#4c6a62;align-items:center;gap:.35rem;font-size:.55rem;display:flex}.dashboard-weekend-coverage>span>i{color:#fff;background:#347d6e;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.48rem;font-style:normal;font-weight:850;display:grid}.dashboard-weekend-coverage>b{background:#cfded8;height:1px;display:block}.dashboard-weekend-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.85rem;display:grid}.dashboard-weekend-people>span{background:#eef6f3;border:1px solid #dce8e3;border-radius:.6rem;align-items:center;gap:.5rem;min-height:48px;padding:.5rem .6rem;display:flex}.dashboard-weekend-people>span>i{color:#1e6c5c;background:#fff;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:.48rem;font-style:normal;font-weight:850;display:grid}.dashboard-weekend-people>span>b{color:#31594e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.59rem;overflow:hidden}.dashboard-weekend-empty{color:#a06d27;background:#fffaf0;border:1px dashed #dfc493;border-radius:.62rem;justify-content:center;align-items:center;gap:.5rem;min-height:76px;margin-top:.75rem;padding:.7rem;display:flex}.dashboard-weekend-empty strong,.dashboard-weekend-empty small{display:block}.dashboard-weekend-empty strong{color:#735727;font-size:.6rem}.dashboard-weekend-empty small{color:#9a875f;margin-top:.1rem;font-size:.52rem}.dashboard-capacity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem;display:grid}.dashboard-capacity-list article{background:#fbfcfb;border:1px solid #e2e9e6;border-radius:.62rem;align-items:center;gap:.55rem;min-height:70px;padding:.65rem;display:flex}.dashboard-capacity-list article>span{color:#2d7868;background:#eaf5f1;border-radius:.55rem;place-items:center;width:31px;height:31px;display:grid}.dashboard-capacity-list small,.dashboard-capacity-list strong{display:block}.dashboard-capacity-list small{color:#80908a;font-size:.52rem}.dashboard-capacity-list strong{color:#244b41;margin-top:.12rem;font-size:.88rem}.dashboard-today-skeleton{grid-template-columns:1fr .55fr;gap:1rem;display:grid}.dashboard-today-skeleton i{background:linear-gradient(90deg,#fff 25%,#f3f6f4 45%,#fff 65%) 0 0/260% 100%;border:1px solid #dfe7e3;border-radius:1rem;min-height:360px;animation:1.2s ease-in-out infinite dashboard-shimmer}.dashboard-today-skeleton i:first-of-type{grid-column:1/-1;min-height:94px}@media (width<=1080px){.dashboard-header-actions a span{display:none}.dashboard-header-actions a{width:38px;padding:0}.dashboard-today-grid{flex-direction:column;display:flex}.dashboard-today-column{display:contents}.dashboard-attention-panel{order:1;width:100%}.dashboard-timeline-panel{order:2;width:100%}.dashboard-weekend-panel{order:3;width:100%}.dashboard-capacity-panel{order:4;width:100%}.dashboard-capacity-list{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=760px){.dashboard-today-page .ui-page-header{align-items:stretch}.dashboard-header-actions{justify-content:flex-start;width:100%}.dashboard-header-actions a{width:auto;padding:0 .65rem}.dashboard-header-actions a span{display:inline}.dashboard-header-actions button{margin-left:auto}.dashboard-priority-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-priority-strip article:nth-child(2){border-right:0}.dashboard-priority-strip article:nth-child(-n+2){border-bottom:1px solid #e4ebe7}.dashboard-weekend-people{grid-template-columns:1fr}.dashboard-capacity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.dashboard-today-page{padding-top:.85rem}.dashboard-header-actions{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.dashboard-header-actions a{width:100%;min-width:0;padding:0 .35rem}.dashboard-header-actions a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-header-actions button{grid-area:1/5;width:100%;margin-left:0}.dashboard-priority-strip article{gap:.5rem;min-height:86px;padding:.72rem}.dashboard-priority-strip article>span{width:32px;height:32px}.dashboard-priority-strip strong{font-size:1.2rem}.dashboard-priority-strip p{display:none}.dashboard-timeline{padding-inline:.55rem}.dashboard-timeline>article{grid-template-columns:43px 12px minmax(0,1fr);gap:.4rem}.dashboard-timeline-time strong{font-size:.63rem}.dashboard-timeline-content{padding:.65rem}.dashboard-timeline-title{gap:.4rem}.dashboard-assignee-list{grid-template-columns:1fr;display:grid}.dashboard-assignee-list>span{min-width:0}.dashboard-past-flow{margin-inline:.55rem}.dashboard-past-timeline{padding-inline:.35rem}.dashboard-alert-list article{padding-inline:.75rem}.dashboard-weekend-panel>header{align-items:flex-start}.dashboard-weekend-panel>header>a{text-align:right}.dashboard-weekend-coverage{gap:.25rem}.dashboard-weekend-coverage>span{text-align:center;flex-direction:column;gap:.18rem}.dashboard-weekend-coverage>span strong{font-size:.49rem}.dashboard-capacity-list{grid-template-columns:1fr 1fr}}.student-detail-page-wrapper .student-profile-hero{color:#183d35;background:#fff;border:1px solid #d8e3df;border-top:3px solid #1d7b69;border-radius:1rem;min-height:132px;padding:1.05rem 1.15rem;box-shadow:0 8px 26px #1d3a320e}.student-detail-page-wrapper .student-profile-hero:after{display:none}.student-detail-page-wrapper .student-profile-hero .student-avatar-large{color:#eafff8;background:linear-gradient(145deg,#176f60,#0e5147);border:0;border-radius:.9rem;width:66px;height:66px;box-shadow:0 9px 20px #115b4e2e}.student-detail-page-wrapper .student-profile-hero h1{color:#153a32;font-size:clamp(1.45rem,2vw,2rem)}.student-detail-page-wrapper .student-profile-hero__copy>p{color:#778983}.student-detail-page-wrapper .student-profile-summary{background:#f7faf8;border-color:#dce6e2;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,620px);min-width:520px}.student-detail-page-wrapper .student-profile-summary .student-summary-stat{min-height:66px;padding:.7rem .72rem}.student-detail-page-wrapper .student-profile-summary .student-summary-stat div>span{color:#82918c}.student-detail-page-wrapper .student-profile-summary .student-summary-stat strong{color:#294b42}.student-detail-page-wrapper .student-record-workspace{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.student-detail-page-wrapper .student-detail-tabs{background:#fff;border:1px solid #dbe5e1;border-radius:.85rem;flex-direction:column;gap:.22rem;min-height:0;margin:0;padding:.55rem;display:flex;position:sticky;top:74px;overflow:visible;box-shadow:0 6px 20px #1d3a320a}.student-detail-page-wrapper .student-detail-tabs button{color:#526962;text-align:left;border-radius:.6rem;grid-template-columns:30px minmax(0,1fr) auto;justify-content:stretch;gap:.52rem;width:100%;min-height:54px;padding:.45rem .5rem;display:grid}.student-detail-page-wrapper .student-detail-tabs button[aria-selected=true]{color:#155f50;background:#eaf5f1;box-shadow:inset 3px 0 #207967}.student-detail-page-wrapper .student-detail-panel,.student-detail-page-wrapper .student-detail-panel--notes{background:#fff;border:1px solid #dbe5e1;border-radius:.9rem;min-height:520px;overflow:hidden;box-shadow:0 7px 24px #1d3a320b}.student-detail-page-wrapper .student-panel-header,.student-detail-page-wrapper .student-detail-panel--notes .student-panel-header{background:#fbfcfb;border:0;border-bottom:1px solid #e3ebe8;border-radius:0;align-items:center;min-height:84px;padding:1rem 1.2rem}.student-detail-page-wrapper .student-detail-panel--notes .student-panel-content{background:#fff;border:0;padding:0}@media (width<=1120px){.student-detail-page-wrapper .student-profile-hero{flex-direction:column;align-items:stretch}.student-detail-page-wrapper .student-profile-summary{width:100%;min-width:0}}@media (width<=900px){.student-detail-page-wrapper .student-record-workspace{display:block}.student-detail-page-wrapper .student-detail-tabs{z-index:5;flex-direction:row;gap:.25rem;margin-bottom:.7rem;padding:.38rem;top:62px;overflow-x:auto}.student-detail-page-wrapper .student-detail-tabs button{flex:none;width:auto;min-width:max-content;min-height:46px;padding:.35rem .58rem;display:inline-flex}.student-detail-page-wrapper .student-detail-tabs button[aria-selected=true]{box-shadow:inset 0 -3px #207967}}@media (width<=640px){.student-detail-page-wrapper .student-profile-hero{border-radius:.82rem;gap:.6rem;min-height:0;padding:.65rem}.student-detail-page-wrapper .student-profile-hero__identity{gap:.6rem}.student-detail-page-wrapper .student-profile-hero .student-avatar-large{border-radius:.65rem;width:46px;height:46px;font-size:.9rem}.student-detail-page-wrapper .student-profile-hero h1{margin:.14rem 0 .12rem;font-size:1.08rem}.student-detail-page-wrapper .student-record-eyebrow{font-size:.45rem}.student-detail-page-wrapper .student-profile-hero__copy>p{font-size:.54rem}.student-detail-page-wrapper .student-profile-badges{margin-top:.28rem}.student-detail-page-wrapper .student-record-status{min-height:21px;padding:0 .45rem;font-size:.53rem}.student-detail-page-wrapper .student-profile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.student-detail-page-wrapper .student-profile-summary .student-summary-stat{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;min-height:50px;padding:.35rem .18rem}.student-detail-page-wrapper .student-profile-summary .student-summary-stat+.student-summary-stat,.student-detail-page-wrapper .student-profile-summary .student-summary-stat:nth-child(3),.student-detail-page-wrapper .student-profile-summary .student-summary-stat:nth-child(4){border-top:0;border-left:1px solid #e0e8e5}.student-detail-page-wrapper .student-profile-summary .student-summary-stat__icon{width:22px;height:22px}.student-detail-page-wrapper .student-profile-summary .student-summary-stat__icon svg{width:12px;height:12px}.student-detail-page-wrapper .student-profile-summary .student-summary-stat div{width:100%}.student-detail-page-wrapper .student-profile-summary .student-summary-stat div>span{font-size:.44rem}.student-detail-page-wrapper .student-profile-summary .student-summary-stat strong{max-width:100%;margin-top:.06rem;font-size:.53rem}.student-detail-page-wrapper .student-detail-tabs{top:56px}.student-detail-page-wrapper .student-detail-tabs button{min-height:42px;padding-inline:.48rem}.student-detail-page-wrapper .student-detail-panel,.student-detail-page-wrapper .student-detail-panel--notes{border-radius:.78rem;min-height:0}.student-detail-page-wrapper .student-panel-header,.student-detail-page-wrapper .student-detail-panel--notes .student-panel-header{align-items:flex-start;min-height:76px;padding:.85rem .9rem}}.access-settings-page{gap:.85rem;width:min(100%,1480px);margin-inline:auto;padding:clamp(1.35rem,2.5vw,2.6rem);display:grid}.access-page-state{min-height:420px}.access-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.access-overview article{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);align-items:flex-start;gap:.8rem;min-width:0;min-height:98px;padding:.9rem 1rem;display:flex;box-shadow:0 5px 16px #2a3d3809}.access-overview article>span,.access-section-icon{width:38px;height:38px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:.7rem;flex:none;place-items:center;display:grid}.access-overview article.positive>span{color:#7b622a;background:#f8f3e8}.access-overview small,.access-overview strong,.access-overview p{display:block}.access-overview small{color:#71817d;letter-spacing:.045em;font-size:.62rem;font-weight:800}.access-overview strong{color:var(--color-text);font:600 1.45rem/1 var(--font-heading);letter-spacing:-.035em;margin-top:.2rem}.access-overview p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:.38rem 0 0;font-size:.64rem;line-height:1.25;overflow:hidden}.access-primary-tabs{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);scrollbar-width:none;align-items:stretch;gap:.15rem;min-width:0;min-height:52px;padding:0 .45rem;display:flex;overflow-x:auto;box-shadow:0 5px 16px #2a3d3808}.access-primary-tabs::-webkit-scrollbar{display:none}.access-primary-tabs button{color:#687a75;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:.45rem;min-height:50px;padding:0 .85rem;font-size:.72rem;font-weight:750;display:inline-flex;position:relative}.access-primary-tabs button:hover{color:var(--color-primary-dark);background:#f8faf9}.access-primary-tabs button[aria-selected=true]{color:var(--color-primary-dark)}.access-primary-tabs button[aria-selected=true]:after{content:"";background:var(--color-primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:.8rem;right:.8rem}.access-workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:.85rem;min-width:0;min-height:600px;display:grid}.access-role-list,.access-matrix,.access-role-management>section,.access-staff-panel,.access-history-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;overflow:hidden;box-shadow:0 7px 22px #2239330a}.access-role-list{position:sticky;top:.85rem}.access-role-list>header{border-bottom:1px solid var(--color-border);background:#fafcfb;justify-content:space-between;align-items:center;gap:.65rem;min-height:66px;padding:.8rem .9rem;display:flex}.access-role-list>header strong,.access-role-list>header small{display:block}.access-role-list>header strong{color:var(--color-text);font-size:.74rem}.access-role-list>header small{max-width:170px;color:var(--color-text-muted);margin-top:.18rem;font-size:.56rem;line-height:1.35}.access-role-list>header>span{min-width:26px;height:26px;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:99px;place-items:center;font-size:.63rem;font-weight:850;display:grid}.access-role-options{display:grid}.access-role-options>button{color:#40554f;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1ef;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:.62rem;width:100%;min-height:66px;padding:.7rem .8rem;display:grid;position:relative}.access-role-options>button:last-child{border-bottom:0}.access-role-options>button:hover{background:#f7faf9}.access-role-options>button.active{color:var(--color-primary-dark);box-shadow:inset 3px 0 var(--color-primary);background:#eff7f4}.access-role-icon{color:#66817a;background:#f8fbfa;border:1px solid #dfe9e6;border-radius:.6rem;place-items:center;width:32px;height:32px;display:grid}.access-role-options>button.active .access-role-icon{color:var(--color-primary);background:#e7f3ef;border-color:#c8ddd8}.access-role-copy strong,.access-role-copy small{display:block}.access-role-copy strong{color:inherit;font-size:.69rem}.access-role-copy small{color:#7d8d88;margin-top:.18rem;font-size:.56rem}.access-role-options em{color:#7a6026;background:#f8f1df;border-radius:99px;padding:.16rem .38rem;font-size:.5rem;font-style:normal;font-weight:850}.access-matrix-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;min-height:92px;padding:1rem 1.1rem;display:flex}.access-matrix-title{align-items:center;gap:.8rem;min-width:0;display:flex}.access-matrix-title>span{width:38px;height:38px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:.7rem;flex:none;place-items:center;display:grid}.access-matrix-title small{color:var(--color-primary);letter-spacing:.09em;font-size:.56rem;font-weight:850}.access-matrix-title h2{color:#183e35;letter-spacing:-.02em;margin:.18rem 0 0;font-size:1.08rem}.access-matrix-title p{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.62rem;line-height:1.35}.access-matrix-count{text-align:right;justify-items:end;min-width:86px;display:grid}.access-matrix-count strong{color:var(--color-primary-dark);font-size:1.4rem;line-height:1}.access-matrix-count span{color:var(--color-text-muted);margin-top:.18rem;font-size:.54rem}.access-matrix-count em{color:#87681f;background:#f8f1df;border-radius:99px;margin-top:.32rem;padding:.15rem .38rem;font-size:.5rem;font-style:normal;font-weight:800}.access-matrix-tools,.access-staff-toolbar{background:#fafcfb;border-bottom:1px solid #e8eeeb;justify-content:space-between;align-items:center;gap:.75rem;min-height:58px;padding:.62rem .85rem;display:flex}.access-search-control{color:#7a8a85;background:#fff;border:1px solid #d3dfdb;border-radius:.58rem;align-items:center;gap:.48rem;width:min(100%,340px);height:36px;padding:0 .62rem;display:flex}.access-search-control:focus-within{color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px #176b5a14}.access-search-control input{width:100%;min-width:0;height:100%;color:var(--color-text);background:0 0;border:0;outline:0;padding:0;font-size:.65rem}.access-search-control input::-webkit-search-cancel-button{display:none}.access-search-control button{color:#82908c;cursor:pointer;background:0 0;border:0;border-radius:.4rem;flex:none;place-items:center;width:26px;height:26px;padding:0;display:grid}.access-search-control button:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.access-tool-actions{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.access-tool-actions>span{color:var(--color-text-muted);white-space:nowrap;font-size:.56rem}.access-collapse-button{color:#526b64;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4dfdc;border-radius:.48rem;align-items:center;gap:.35rem;min-height:32px;padding:0 .55rem;font-size:.57rem;font-weight:750;display:inline-flex}.access-collapse-button:hover{color:var(--color-primary-dark);background:#f2f8f6;border-color:#b8d2cc}.access-switch{color:#60726c;white-space:nowrap;align-items:center;gap:.4rem;font-size:.59rem;font-weight:750;display:inline-flex}.access-switch input{width:15px;height:15px;accent-color:var(--color-primary)}.access-groups{padding:.2rem 1rem 1rem}.access-groups>section>h3{color:#71817c;letter-spacing:.09em;text-transform:uppercase;margin:.95rem 0 .38rem;font-size:.57rem}.access-groups details{border-top:1px solid #e5ebe8}.access-groups details:last-child{border-bottom:1px solid #e5ebe8}.access-groups summary{color:#29473f;cursor:pointer;align-items:center;gap:.55rem;min-height:47px;list-style:none;display:flex}.access-groups summary::-webkit-details-marker{display:none}.access-groups summary:hover{color:var(--color-primary-dark)}.access-groups summary span{font-size:.7rem;font-weight:800}.access-groups summary small{color:#80908b;margin-left:auto;font-size:.55rem}.access-groups summary svg{color:#81908c;transition:transform .16s}.access-groups details[open] summary svg{transform:rotate(180deg)}.access-permission-row{background:#fbfcfc;border-top:1px solid #eef2f0;grid-template-columns:18px minmax(0,1fr) 88px 58px;align-items:center;gap:.68rem;min-height:60px;padding:.58rem .65rem;display:grid}.access-permission-row:hover{background:#f5f9f7}.access-permission-row input{width:16px;height:16px;accent-color:var(--color-primary)}.access-permission-row>span strong,.access-permission-row>span small{display:block}.access-permission-row>span strong{color:#39534c;font-size:.66rem}.access-permission-row>span small{color:#7d8d88;margin-top:.14rem;font-size:.56rem;line-height:1.35}.access-permission-row>span em{color:#365f55;background:#e8f2ef;border-radius:.3rem;margin-right:.35rem;padding:.1rem .3rem;font-style:normal;font-weight:750}.access-permission-row>b,.access-permission-row>i{justify-self:end;font-size:.53rem;font-style:normal}.access-permission-row>b{color:#536b64}.access-permission-row>i{color:#6c7f79;background:#edf1ef;border-radius:999px;padding:.17rem .38rem}.access-permission-row.risk-sensitive>i{color:#7c5d20;background:#f7efdb}.access-permission-row.risk-critical>i{color:#934941;background:#f8eae8}.access-empty-filter{color:#78908a;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:240px;padding:2rem;display:flex}.access-empty-filter strong{color:#36534b;margin-top:.65rem;font-size:.76rem}.access-empty-filter span{margin-top:.25rem;font-size:.61rem}.access-empty-filter button{min-height:32px;color:var(--color-primary-dark);cursor:pointer;background:#fff;border:1px solid #c8d9d5;border-radius:.5rem;margin-top:.8rem;padding:0 .65rem;font-size:.59rem;font-weight:750}.access-publish{z-index:4;background:#fafcfbfa;border-top:1px solid #dfe7e4;grid-template-columns:180px minmax(240px,1fr) auto;align-items:end;gap:.8rem;min-height:82px;padding:.72rem .85rem;display:grid;position:sticky;bottom:.75rem;box-shadow:0 -8px 22px #253a340d}.access-publish.dirty{background:#fefcf6fa;border-top-color:#dacb9e}.access-publish-copy strong,.access-publish-copy span{display:block}.access-publish-copy strong{color:#38534c;font-size:.64rem}.access-publish-copy span{color:#7b8c87;margin-top:.2rem;font-size:.54rem;line-height:1.35}.access-publish label,.access-form-grid label,.access-history-panel>header label{gap:.32rem;display:grid}.access-publish label span,.access-form-grid label span,.access-history-panel>header label span,.access-staff-toolbar label>span{color:#61736d;font-size:.56rem;font-weight:750}.access-publish input,.access-form-grid input,.access-form-grid select,.access-history-panel input,.access-staff-toolbar select{color:#314a43;background:#fff;border:1px solid #cedbd6;border-radius:.55rem;width:100%;height:38px;padding:0 .7rem;font-size:.64rem}.access-publish>div:last-child,.access-role-actions{justify-content:flex-end;gap:.45rem;display:flex}.access-settings-page button.primary,.access-settings-page button.secondary,.access-settings-page button.danger{cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;gap:.4rem;min-height:38px;padding:0 .75rem;font-size:.63rem;font-weight:800;display:inline-flex}.access-settings-page button.primary{color:#fff;border:1px solid var(--color-primary);background:var(--color-primary)}.access-settings-page button.primary:hover:not(:disabled){background:var(--color-primary-dark)}.access-settings-page button.secondary{color:#49625b;background:#fff;border:1px solid #cbd8d4}.access-settings-page button.danger{color:#94473f;background:#fff7f6;border:1px solid #e2beba}.access-settings-page button:disabled{opacity:.5;cursor:not-allowed}.access-role-management{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.access-role-management>section{padding:1rem}.access-role-management section>header,.access-staff-panel>header,.access-history-panel>header{align-items:flex-start;gap:.72rem;margin-bottom:1rem;display:flex}.access-role-management h2,.access-staff-panel h2,.access-history-panel h2{color:#24463d;margin:0;font-size:.88rem}.access-role-management p,.access-staff-panel p,.access-history-panel p{color:#778882;margin:.22rem 0 0;font-size:.61rem;line-height:1.4}.access-form-grid{grid-template-columns:1fr 1fr;gap:.72rem;margin-bottom:.9rem;display:grid}.access-form-grid .wide{grid-column:1/-1}.access-role-management section>footer{border-top:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.8rem;display:flex}.access-role-management section>footer>span{color:var(--color-text-muted);font-size:.56rem}.access-role-actions{align-items:center;min-height:39px}.access-role-actions>span{color:#7b622a;align-items:center;gap:.35rem;margin-right:auto;font-size:.58rem;font-weight:750;display:inline-flex}.access-staff-panel>header,.access-history-panel>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:74px;padding:1rem}.access-staff-panel>header>span{color:#577069;align-items:center;gap:.35rem;font-size:.61rem;font-weight:750;display:inline-flex}.access-staff-toolbar{justify-content:flex-start}.access-staff-toolbar>label:not(.access-search-control){gap:.25rem;min-width:180px;display:grid}.access-staff-toolbar>label:not(.access-search-control) select{height:36px}.access-staff-toolbar>span{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:.58rem}.access-staff-toolbar>button{min-height:32px;color:var(--color-primary-dark);cursor:pointer;background:#fff;border:1px solid #d2dfdb;border-radius:.48rem;padding:0 .55rem;font-size:.56rem;font-weight:750}.access-staff-list>div:not(.access-empty-filter){border-bottom:1px solid #edf1ef;grid-template-columns:38px minmax(0,1fr) auto minmax(170px,240px);align-items:center;gap:.72rem;min-height:66px;padding:.65rem 1rem;display:grid}.access-avatar{width:36px;height:36px;color:var(--color-primary-dark);background:#ebf4f1;border:1px solid #d7e5e1;border-radius:.6rem;place-items:center;font-size:.62rem;font-weight:850;display:grid}.access-staff-list strong,.access-staff-list small{display:block}.access-staff-list strong{color:#344f47;font-size:.68rem}.access-staff-list small{color:#84938e;margin-top:.15rem;font-size:.56rem}.access-staff-list select{color:#405a53;background:#fff;border:1px solid #cedbd6;border-radius:.5rem;height:36px;padding:0 .55rem;font-size:.61rem}.access-person-status{border-radius:99px;padding:.22rem .45rem;font-size:.52rem;font-weight:800}.access-person-status.active{color:#377264;background:#eaf4f0}.access-person-status.inactive{color:#786f72;background:#f0eeee}.access-history-panel>header label{min-width:310px}.access-history-panel article{border-bottom:1px solid #edf1ef;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:72px;padding:.72rem 1rem;display:grid}.access-history-panel article.current{background:#fbfdfc}.access-history-panel article>span{width:40px;height:32px;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:.48rem;place-items:center;font-size:.61rem;font-weight:850;display:grid}.access-history-panel article strong,.access-history-panel article small{display:block}.access-history-panel article strong{color:#39534c;font-size:.66rem}.access-history-panel article small{color:#86958f;margin-top:.2rem;font-size:.56rem}.access-history-panel article button,.access-history-panel article>em{color:#426159;background:#fff;border:1px solid #cbd9d4;border-radius:.46rem;align-items:center;gap:.3rem;min-height:32px;padding:0 .58rem;font-size:.57rem;font-style:normal;font-weight:750;display:inline-flex}.access-history-panel article button{cursor:pointer}.access-history-panel article>em{color:var(--color-primary-dark);background:#eff8f5;border-color:#c4dbd5}@media (width<=1180px){.access-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.access-publish{grid-template-columns:minmax(220px,1fr) auto}.access-publish-copy{grid-column:1/-1}}@media (width<=980px){.access-workspace{grid-template-columns:1fr}.access-role-list{position:static}.access-role-options{scrollbar-width:thin;display:flex;overflow-x:auto}.access-role-options>button{border-bottom:0;border-right:1px solid #edf1ef;min-width:210px}.access-role-options>button.active{box-shadow:inset 0 -3px var(--color-primary)}.access-role-list>header{min-height:58px}.access-role-management{grid-template-columns:1fr}}@media (width<=720px){.access-settings-page{padding:var(--space-5) var(--space-4)}.access-overview{gap:.55rem}.access-overview article{gap:.55rem;min-height:86px;padding:.7rem}.access-overview article>span{border-radius:.58rem;width:32px;height:32px}.access-overview strong{font-size:1.18rem}.access-overview p{font-size:.56rem}.access-primary-tabs{border-radius:.8rem}.access-primary-tabs button{min-height:46px;padding:0 .68rem}.access-matrix-header,.access-matrix-title{align-items:flex-start}.access-matrix-title>span{width:34px;height:34px}.access-matrix-count{min-width:64px}.access-matrix-tools,.access-staff-toolbar{flex-direction:column;align-items:stretch}.access-search-control{width:100%;max-width:none}.access-tool-actions{flex-wrap:wrap;justify-content:space-between}.access-staff-toolbar>label:not(.access-search-control){width:100%;min-width:0}.access-staff-toolbar>span{margin-left:0}.access-permission-row{grid-template-columns:18px minmax(0,1fr) auto}.access-permission-row>b{display:none}.access-publish{grid-template-columns:1fr;position:static}.access-publish-copy{grid-column:auto}.access-publish>div:last-child{grid-template-columns:1fr 1fr;display:grid}.access-history-panel>header{flex-direction:column;align-items:stretch}.access-history-panel>header label{min-width:0}.access-history-panel article{grid-template-columns:40px minmax(0,1fr)}.access-history-panel article button,.access-history-panel article>em{grid-column:1/-1;justify-self:start}.access-staff-list>div:not(.access-empty-filter){grid-template-columns:38px minmax(0,1fr) auto}.access-staff-list select{grid-column:1/-1}}@media (width<=520px){.access-settings-page{gap:.65rem}.access-overview small{font-size:.53rem}.access-overview p{display:none}.access-overview article{align-items:center;min-height:72px}.access-matrix-header{padding:.85rem}.access-matrix-title>span{display:none}.access-matrix-title p{max-width:210px}.access-matrix-tools{padding:.6rem}.access-tool-actions>span{width:100%}.access-groups{padding:.15rem .7rem .75rem}.access-permission-row{gap:.5rem;padding:.58rem .42rem}.access-role-management>section{padding:.85rem}.access-form-grid{grid-template-columns:1fr}.access-form-grid .wide{grid-column:auto}.access-role-management section>footer{flex-direction:column;align-items:stretch}.access-role-management section>footer button{width:100%}.access-role-actions{flex-direction:column;align-items:stretch}.access-role-actions>span{margin:0}.access-role-actions button{width:100%}.access-staff-panel>header{align-items:flex-start}.access-staff-list>div:not(.access-empty-filter){padding:.65rem .75rem}.access-person-status{justify-self:end}}.staff-section-tabs{margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-canvas) 74%, var(--color-surface));gap:4px;padding:4px;display:inline-flex}.staff-section-tabs button{min-height:38px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);border-radius:calc(var(--radius-lg) - 4px);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:1px solid #0000;display:inline-flex}.staff-section-tabs button:hover{color:var(--color-primary-dark);background:#ffffffa6}.staff-section-tabs button.active{color:var(--color-primary-dark);border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.staff-scorecard-page{gap:var(--space-3);min-width:0;display:grid}.staff-scorecard-page>.inline-alert{margin-bottom:0}.staff-scorecard-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:420px}.staff-scorecard-state.error{color:var(--color-danger)}.staff-scorecard-intro{min-height:116px;padding:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(128deg,#fff 0%,#f7faf8 62%,#edf5f1 100%);display:flex;position:relative;overflow:hidden}.staff-scorecard-intro:after{content:"";pointer-events:none;border:36px solid #176b5a0b;border-radius:50%;width:210px;height:210px;position:absolute;top:-94px;right:-82px}.staff-scorecard-intro>div:first-child{z-index:1;min-width:0;position:relative}.staff-scorecard-intro span,.staff-scorecard-comparison>header span,.staff-scorecard-detail-body h4+span{color:var(--color-primary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.075em;text-transform:uppercase}.staff-scorecard-intro h2{color:var(--color-text);font:var(--weight-semibold) clamp(1.35rem, 2vw, 1.7rem)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:4px 0 5px}.staff-scorecard-intro p{max-width:720px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.staff-scorecard-intro-actions{gap:var(--space-2);z-index:1;display:flex;position:relative}.staff-scorecard-intro-actions button{height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-primary-dark);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;background:#ffffffe6;border:1px solid #cbdad5;display:inline-flex}.staff-scorecard-intro-actions button:hover{border-color:var(--color-primary);background:#fff}.staff-scorecard-intro-actions button.primary{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.staff-scorecard-intro-actions button.primary:hover{background:var(--color-primary-dark)}.staff-scorecard-filterbar{min-height:78px;padding:var(--space-3);align-items:end;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto 132px 132px minmax(190px,1fr) 160px auto;display:grid}.staff-scorecard-filterbar label{gap:5px;min-width:0;display:grid}.staff-scorecard-filterbar label>span,.staff-scorecard-timeline-toolbar>div>span,.staff-scorecard-dialog-form label>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.045em;text-transform:uppercase}.staff-scorecard-filterbar :is(input,select),.staff-scorecard-timeline-toolbar select{width:100%;min-width:0;height:40px;padding:0 34px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.staff-scorecard-filterbar input{padding-right:var(--space-2)}.staff-scorecard-presets{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);height:40px;padding:3px;display:flex}.staff-scorecard-presets button{min-width:53px;padding:0 var(--space-2);color:var(--color-text-muted);border-radius:calc(var(--radius-sm) - 3px);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);background:0 0;border:0}.staff-scorecard-presets button:hover{color:var(--color-primary-dark);background:var(--color-surface)}.staff-scorecard-clear{height:40px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.staff-scorecard-kpis{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.staff-scorecard-kpis article,.staff-scorecard-detail-kpis article{min-width:0;min-height:104px;padding:var(--space-3);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.staff-scorecard-kpis article>span,.staff-scorecard-detail-kpis article>span{width:34px;height:34px;color:var(--metric-color,var(--color-primary));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--metric-color,var(--color-primary)) 9%, var(--color-surface));flex:none;place-items:center;display:grid}.staff-scorecard-kpis svg,.staff-scorecard-detail-kpis svg{width:17px;height:17px}.staff-scorecard-kpis article>div,.staff-scorecard-detail-kpis article>div{min-width:0}.staff-scorecard-kpis small,.staff-scorecard-detail-kpis small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.045em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;display:block;overflow:hidden}.staff-scorecard-kpis strong,.staff-scorecard-detail-kpis strong{color:var(--color-text);font-size:var(--text-lg);margin-top:5px;line-height:1;display:block}.staff-scorecard-kpis p,.staff-scorecard-detail-kpis p{color:var(--color-text-muted);margin:7px 0 0;font-size:.65rem;line-height:1.35}.staff-scorecard-kpis article.positive,.staff-scorecard-detail-kpis article.positive{--metric-color:var(--color-success)}.staff-scorecard-kpis article.warning,.staff-scorecard-detail-kpis article.warning{--metric-color:var(--color-warning)}.staff-scorecard-kpis article.danger,.staff-scorecard-detail-kpis article.danger{--metric-color:var(--color-danger)}.staff-scorecard-comparison,.staff-scorecard-detail{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.staff-scorecard-comparison>header{min-height:72px;padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.staff-scorecard-comparison h3{color:var(--color-text);font-size:var(--text-md);margin:4px 0 0}.staff-scorecard-comparison>header p{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-2xs);margin:0;display:flex}.staff-scorecard-table-wrap{overflow-x:auto}.staff-scorecard-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:980px}.staff-scorecard-table-wrap th{height:42px;padding:0 var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 45%, var(--color-surface));font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.045em;text-transform:uppercase}.staff-scorecard-table-wrap td{height:72px;padding:var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);vertical-align:middle}.staff-scorecard-table-wrap tbody tr:last-child td{border-bottom:0}.staff-scorecard-table-wrap tbody tr:hover,.staff-scorecard-table-wrap tbody tr.selected{background:#f8fbfa}.staff-scorecard-table-wrap td>strong{color:var(--color-text)}.staff-scorecard-table-wrap td:last-child{width:48px;padding-left:0}.staff-scorecard-table-wrap td:last-child button{width:32px;height:32px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;place-items:center;display:grid}.staff-scorecard-table-wrap td:last-child button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.staff-scorecard-person{align-items:center;gap:var(--space-3);display:flex}.staff-scorecard-person>i,.staff-scorecard-mobile-list header>i{width:34px;height:34px;color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:.625rem;font-style:normal;font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.staff-scorecard-person strong,.staff-scorecard-person small{display:block}.staff-scorecard-person strong{color:var(--color-text);font-size:var(--text-xs)}.staff-scorecard-person small{color:var(--color-text-muted);margin-top:2px;font-size:.65rem}.staff-scorecard-metric-bar{align-items:center;gap:var(--space-2);min-width:105px;display:flex}.staff-scorecard-metric-bar>span{background:#e7ecea;border-radius:999px;width:58px;height:5px;overflow:hidden}.staff-scorecard-metric-bar i{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.staff-scorecard-metric-bar strong{min-width:30px;color:var(--color-text);font-size:.68rem}.staff-scorecard-count{min-width:28px;height:25px;color:var(--color-success);background:color-mix(in srgb, var(--color-success) 9%, var(--color-surface));font-weight:var(--weight-bold);border-radius:999px;place-items:center;padding:0 7px;display:inline-grid}.staff-scorecard-count.attention{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 9%, var(--color-surface))}.staff-scorecard-reliability{color:var(--color-text);font-weight:var(--weight-semibold);display:block}.staff-scorecard-reliability small{color:var(--color-text-muted);font-size:.6rem;font-weight:var(--weight-medium);white-space:nowrap;margin-top:2px;display:block}.staff-scorecard-reliability.insufficient{color:var(--color-warning)}.staff-scorecard-mobile-list{display:none}.staff-scorecard-detail{margin-top:var(--space-2);scroll-margin-top:var(--space-4)}.staff-scorecard-detail-state{min-height:300px}.staff-scorecard-detail-header{min-height:92px;padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);background:linear-gradient(110deg,#f7faf8,#fff);display:flex}.staff-scorecard-detail-header>button{width:36px;height:36px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;place-items:center;display:grid}.staff-scorecard-identity{align-items:center;gap:var(--space-4);display:flex}.staff-scorecard-identity>span{color:#fff;border-radius:var(--radius-md);background:var(--color-primary);width:48px;height:48px;font-size:var(--text-xs);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.staff-scorecard-identity small{color:var(--color-primary);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.055em;text-transform:uppercase}.staff-scorecard-identity h3{color:var(--color-text);font-size:var(--text-lg);margin:3px 0 2px}.staff-scorecard-identity p{color:var(--color-text-muted);font-size:var(--text-2xs);margin:0}.staff-scorecard-detail-tabs{padding:0 var(--space-5);gap:var(--space-5);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;overflow-x:auto}.staff-scorecard-detail-tabs button{min-height:48px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;background:0 0;border:0;padding:0;position:relative}.staff-scorecard-detail-tabs button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.staff-scorecard-detail-tabs button.active{color:var(--color-primary-dark)}.staff-scorecard-detail-tabs button.active:after{background:var(--color-primary)}.staff-scorecard-detail-body{padding:var(--space-4)}.staff-scorecard-detail-kpis{margin-bottom:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.staff-scorecard-summary-grid{gap:var(--space-3);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.staff-scorecard-category-panel,.staff-scorecard-latest,.staff-scorecard-heatmap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;overflow:hidden}.staff-scorecard-category-panel>header,.staff-scorecard-latest>header,.staff-scorecard-heatmap>header{min-height:64px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fbfcfb;display:flex}.staff-scorecard-category-panel header span,.staff-scorecard-latest header span,.staff-scorecard-heatmap header span,.staff-scorecard-notes-heading>div>span{color:var(--color-primary);font-size:.6rem;font-weight:var(--weight-bold);letter-spacing:.065em}.staff-scorecard-category-panel h4,.staff-scorecard-latest h4,.staff-scorecard-heatmap h4,.staff-scorecard-notes-heading h4{color:var(--color-text);font-size:var(--text-sm);margin:3px 0 0}.staff-scorecard-category-panel header svg{color:var(--color-primary)}.staff-scorecard-category-panel>div>article{min-height:58px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(130px,1fr) auto;display:grid}.staff-scorecard-category-panel>div>article:last-child{border-bottom:0}.staff-scorecard-category-panel article strong,.staff-scorecard-category-panel article small{display:block}.staff-scorecard-category-panel article strong{color:var(--color-text);font-size:var(--text-xs)}.staff-scorecard-category-panel article small{color:var(--color-text-muted);margin-top:2px;font-size:.625rem}.staff-scorecard-latest header button{color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0}.staff-scorecard-latest>div>article{min-height:59px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:8px minmax(0,1fr) auto;display:grid}.staff-scorecard-latest>div>article:last-child{border-bottom:0}.staff-scorecard-latest article strong,.staff-scorecard-latest article small{display:block}.staff-scorecard-latest article strong{color:var(--color-text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-scorecard-latest article small{color:var(--color-text-muted);margin-top:3px;font-size:.625rem}.staff-scorecard-dot{background:var(--color-text-muted);border-radius:50%;width:7px;height:7px}.staff-scorecard-dot.completed{background:var(--color-success)}.staff-scorecard-dot.overdue,.staff-scorecard-dot.reopened{background:var(--color-danger)}.staff-scorecard-status{color:var(--color-text-muted);background:var(--color-canvas);font-size:.6rem;font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;padding:4px 8px}.staff-scorecard-status.completed{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 9%, var(--color-surface))}.staff-scorecard-status.overdue,.staff-scorecard-status.reopened{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 9%, var(--color-surface))}.staff-scorecard-status.excused{color:var(--color-info);background:color-mix(in srgb, var(--color-info) 9%, var(--color-surface))}.staff-scorecard-status.in_progress{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 9%, var(--color-surface))}.staff-scorecard-inline-empty{min-height:130px;padding:var(--space-5);color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;place-items:center;margin:0;display:grid}.staff-scorecard-timeline-toolbar{margin-bottom:var(--space-4);justify-content:space-between;align-items:end;gap:var(--space-3);display:flex}.staff-scorecard-timeline-toolbar>div{gap:5px;width:210px;display:grid}.staff-scorecard-timeline-toolbar p{color:var(--color-text-muted);font-size:var(--text-xs);margin:0 0 11px}.staff-scorecard-timeline{display:grid}.staff-scorecard-timeline>article{gap:var(--space-3);grid-template-columns:34px minmax(0,1fr);display:grid}.staff-scorecard-timeline-marker{grid-template-rows:32px 1fr;justify-items:center;display:grid}.staff-scorecard-timeline-marker>span{width:30px;height:30px;color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;place-items:center;display:grid}.staff-scorecard-timeline-marker>span.completed{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border))}.staff-scorecard-timeline-marker>span.overdue,.staff-scorecard-timeline-marker>span.reopened{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border))}.staff-scorecard-timeline-marker>i{background:var(--color-border);width:1px;height:100%}.staff-scorecard-timeline>article:last-child .staff-scorecard-timeline-marker>i{display:none}.staff-scorecard-timeline-card{margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.staff-scorecard-timeline-card>header{min-height:60px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fbfcfb;display:flex}.staff-scorecard-timeline-card header>div>span{color:var(--color-primary);font-size:.6rem;font-weight:var(--weight-bold);letter-spacing:.055em;text-transform:uppercase}.staff-scorecard-timeline-card h4{color:var(--color-text);font-size:var(--text-sm);margin:4px 0 0}.staff-scorecard-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.staff-scorecard-time-grid>div{min-height:82px;padding:var(--space-3) var(--space-4);border-right:1px solid var(--color-border)}.staff-scorecard-time-grid>div:last-child{border-right:0}.staff-scorecard-time-grid small,.staff-scorecard-time-grid strong,.staff-scorecard-time-grid span{display:block}.staff-scorecard-time-grid small{color:var(--color-text-muted);font-size:.6rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.staff-scorecard-time-grid strong{color:var(--color-text);font-size:var(--text-xs);margin-top:6px}.staff-scorecard-time-grid span{color:var(--color-text-muted);margin-top:4px;font-size:.625rem}.staff-scorecard-exception-note{padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-2);color:var(--color-info);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-info) 5%, var(--color-surface));font-size:var(--text-xs);margin:0;display:flex}.staff-scorecard-exception-note strong{display:block}.staff-scorecard-timeline-card>footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.staff-scorecard-timeline-card>footer button{color:var(--color-primary);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);background:0 0;border:0;padding:6px 0}.staff-scorecard-compliance-explainer{margin-bottom:var(--space-3);padding:var(--space-4);align-items:flex-start;gap:var(--space-3);color:var(--color-primary);border-radius:var(--radius-md);background:#f6faf8;border:1px solid #d4e2de;display:flex}.staff-scorecard-compliance-explainer svg{flex:none}.staff-scorecard-compliance-explainer strong{color:var(--color-text);font-size:var(--text-xs)}.staff-scorecard-compliance-explainer p{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:3px 0 0}.staff-scorecard-heatmap>header p{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.staff-scorecard-day-grid{padding:var(--space-4);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(58px,1fr));display:grid}.staff-scorecard-day-grid article{min-height:106px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcfb;grid-template-rows:auto 1fr auto auto;justify-items:center;gap:4px;display:grid}.staff-scorecard-day-grid article>span{color:var(--color-text-muted);font-size:.6rem;font-weight:var(--weight-semibold);text-transform:uppercase}.staff-scorecard-day-grid article>i{background:#e9eeec;border-radius:5px;align-items:flex-end;width:18px;height:42px;margin-top:2px;display:flex;overflow:hidden}.staff-scorecard-day-grid article>i>b{width:100%;height:var(--volume);background:color-mix(in srgb, var(--color-primary) var(--intensity), #dce7e3);display:block}.staff-scorecard-day-grid article strong{color:var(--color-text);font-size:var(--text-xs)}.staff-scorecard-day-grid article small{color:var(--color-primary-dark);font-size:.625rem;font-weight:var(--weight-bold)}.staff-scorecard-formula-grid{margin-top:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.staff-scorecard-formula-grid article{min-height:118px;padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.staff-scorecard-formula-grid svg{color:var(--color-primary);flex:none}.staff-scorecard-formula-grid span,.staff-scorecard-formula-grid strong{display:block}.staff-scorecard-formula-grid span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);text-transform:uppercase}.staff-scorecard-formula-grid strong{color:var(--color-text);font-size:var(--text-lg);margin-top:5px}.staff-scorecard-formula-grid p{color:var(--color-text-muted);margin:6px 0 0;font-size:.625rem;line-height:1.4}.staff-scorecard-notes-heading{margin-bottom:var(--space-3);padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfb;display:flex}.staff-scorecard-notes-heading p{color:var(--color-text-muted);font-size:var(--text-xs);margin:5px 0 0}.staff-scorecard-notes-heading button{height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.staff-scorecard-notes-list{gap:var(--space-2);display:grid}.staff-scorecard-notes-list>article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.staff-scorecard-notes-list article>header{min-height:42px;padding:var(--space-2) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fbfcfb;display:flex}.staff-scorecard-notes-list header span{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.staff-scorecard-notes-list header time{color:var(--color-text-muted);font-size:.625rem}.staff-scorecard-notes-list article>p{padding:var(--space-4);color:var(--color-text);font-size:var(--text-xs);line-height:var(--leading-relaxed);white-space:pre-wrap;margin:0}.staff-scorecard-notes-list article>footer{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fbfcfb;display:flex}.staff-scorecard-notes-list footer small,.staff-scorecard-notes-list footer strong,.staff-scorecard-notes-list footer span{display:block}.staff-scorecard-notes-list footer small{color:var(--color-primary);font-size:.58rem;font-weight:var(--weight-bold);letter-spacing:.04em}.staff-scorecard-notes-list footer strong{color:var(--color-text);font-size:var(--text-xs);margin-top:3px}.staff-scorecard-notes-list footer span{color:var(--color-text-muted);margin-top:2px;font-size:.625rem}.staff-scorecard-notes-list footer select{height:36px;padding:0 32px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.staff-scorecard-dialog{width:min(100%,660px)}.staff-scorecard-dialog-form{padding:var(--space-5)}.staff-scorecard-dialog-form>label{margin-bottom:var(--space-4);gap:var(--space-2);display:grid}.staff-scorecard-dialog-form :is(input,select,textarea){width:100%;min-height:42px;padding:0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--text-sm)}.staff-scorecard-dialog-form textarea{padding-top:var(--space-3);resize:vertical;line-height:var(--leading-relaxed)}.staff-scorecard-dialog-form label>span em{color:var(--color-text-muted);font-style:normal;font-weight:var(--weight-medium);text-transform:none;margin-left:4px}.staff-scorecard-settings-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staff-scorecard-settings-grid label{align-content:start;gap:var(--space-2);display:grid}.staff-scorecard-settings-grid label>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.staff-scorecard-settings-grid label>div:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #176b5a17}.staff-scorecard-settings-grid label>div input{box-shadow:none;border:0;border-radius:0}.staff-scorecard-settings-grid label>div em{padding:0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);font-style:normal}.staff-scorecard-settings-grid label>small{min-height:32px;color:var(--color-text-muted);font-size:.625rem;line-height:1.4}.staff-scorecard-dialog-row{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staff-scorecard-dialog-row label{gap:var(--space-2);display:grid}.staff-scorecard-version{margin:var(--space-4) 0 0;padding:var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-canvas);font-size:var(--text-xs);display:flex}.staff-scorecard-dialog-form>footer{margin:var(--space-5) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));min-height:68px;padding:var(--space-3) var(--space-5);justify-content:flex-end;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fbfcfb;display:flex}.staff-scorecard-dialog-form>footer button{min-width:124px;height:40px;padding:0 var(--space-4);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.staff-scorecard-dialog-form>footer button.secondary{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface)}@media (width<=1180px){.staff-scorecard-filterbar{grid-template-columns:auto 132px 132px minmax(180px,1fr)}.staff-scorecard-filterbar label:nth-of-type(4),.staff-scorecard-clear{grid-row:2}.staff-scorecard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-scorecard-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.staff-scorecard-intro{flex-direction:column;align-items:flex-start}.staff-scorecard-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-scorecard-presets,.staff-scorecard-search,.staff-scorecard-clear{grid-column:1/-1}.staff-scorecard-filterbar label:nth-of-type(4),.staff-scorecard-clear{grid-row:auto}.staff-scorecard-presets button{flex:1}.staff-scorecard-summary-grid{grid-template-columns:1fr}.staff-scorecard-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-scorecard-time-grid>div:nth-child(2){border-right:0}.staff-scorecard-time-grid>div:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}@media (width<=760px){.staff-section-tabs{width:100%;margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.staff-section-tabs button{padding:0 var(--space-2)}.staff-scorecard-intro{min-height:0;padding:var(--space-4)}.staff-scorecard-intro-actions{width:100%}.staff-scorecard-intro-actions button{flex:1;justify-content:center;min-width:0}.staff-scorecard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-scorecard-kpis article{min-height:98px}.staff-scorecard-comparison>header{flex-direction:column;align-items:flex-start}.staff-scorecard-table-wrap{display:none}.staff-scorecard-mobile-list{padding:var(--space-3);gap:var(--space-2);display:grid}.staff-scorecard-mobile-list>button{width:100%;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;padding:0;overflow:hidden}.staff-scorecard-mobile-list header{min-height:62px;padding:var(--space-3);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fbfcfb;grid-template-columns:36px minmax(0,1fr) auto;display:grid}.staff-scorecard-mobile-list header span,.staff-scorecard-mobile-list header strong,.staff-scorecard-mobile-list header small{min-width:0;display:block}.staff-scorecard-mobile-list header strong{color:var(--color-text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-scorecard-mobile-list header small{color:var(--color-text-muted);margin-top:2px;font-size:.625rem}.staff-scorecard-mobile-list header svg{color:var(--color-primary)}.staff-scorecard-mobile-list dl{padding:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.staff-scorecard-mobile-list dt{color:var(--color-text-muted);font-size:.55rem;font-weight:var(--weight-bold);text-transform:uppercase}.staff-scorecard-mobile-list dd{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-bold);margin:3px 0 0}.staff-scorecard-mobile-list footer{padding:var(--space-2) var(--space-3);justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);border-top:1px solid var(--color-border);background:#fbfcfb;font-size:.6rem;display:flex}.staff-scorecard-detail-header{padding:var(--space-4)}.staff-scorecard-detail-tabs{padding:0 var(--space-4);gap:var(--space-4)}.staff-scorecard-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-scorecard-detail-body{padding:var(--space-3)}.staff-scorecard-day-grid{grid-template-columns:repeat(5,minmax(48px,1fr));overflow-x:auto}.staff-scorecard-notes-heading{flex-direction:column;align-items:flex-start}.staff-scorecard-notes-heading button{justify-content:center;width:100%}}@media (width<=520px){.staff-scorecard-intro-actions{flex-direction:column}.staff-scorecard-filterbar{grid-template-columns:1fr}.staff-scorecard-filterbar>*,.staff-scorecard-presets,.staff-scorecard-search,.staff-scorecard-clear{grid-column:1}.staff-scorecard-kpis{grid-template-columns:1fr 1fr}.staff-scorecard-kpis article{padding:var(--space-3);gap:var(--space-2)}.staff-scorecard-kpis article>span{width:30px;height:30px}.staff-scorecard-kpis strong{font-size:var(--text-md)}.staff-scorecard-identity>span{width:42px;height:42px}.staff-scorecard-identity h3{font-size:var(--text-md)}.staff-scorecard-detail-kpis,.staff-scorecard-formula-grid,.staff-scorecard-category-panel>div>article{grid-template-columns:1fr}.staff-scorecard-latest>div>article{grid-template-columns:8px minmax(0,1fr)}.staff-scorecard-latest article>.staff-scorecard-status{grid-column:2;justify-self:start}.staff-scorecard-time-grid{grid-template-columns:1fr}.staff-scorecard-time-grid>div{border-right:0;border-bottom:1px solid var(--color-border);min-height:72px}.staff-scorecard-time-grid>div:last-child{border-bottom:0}.staff-scorecard-mobile-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-scorecard-settings-grid,.staff-scorecard-dialog-row{grid-template-columns:1fr}.staff-scorecard-dialog-form{padding:var(--space-4)}.staff-scorecard-dialog-form>footer{margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);flex-direction:column-reverse}.staff-scorecard-dialog-form>footer button{width:100%}}.audit-page{width:min(100%,1280px);padding:var(--space-6);gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.audit-page>.inline-alert{margin:0}.audit-state{min-height:420px;margin:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.audit-hero{min-height:122px;padding:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(126deg,#fff 0%,#f7faf8 60%,#edf5f1 100%);display:flex;position:relative;overflow:hidden}.audit-hero:after{content:"";pointer-events:none;border:38px solid #176b5a0b;border-radius:50%;width:220px;height:220px;position:absolute;top:-100px;right:-80px}.audit-hero>div:first-child{z-index:1;min-width:0;position:relative}.audit-hero span,.audit-list-panel>header span,.audit-detail-body section>header small,.audit-metadata>header small,.audit-related>header small{color:var(--color-primary);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.075em;text-transform:uppercase}.audit-hero h1{color:var(--color-text);font:var(--weight-semibold) clamp(1.35rem, 2vw, 1.7rem)/var(--leading-tight) var(--font-heading);letter-spacing:-.025em;margin:4px 0 5px}.audit-hero p{max-width:720px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.audit-hero-actions{gap:var(--space-2);z-index:1;display:flex;position:relative}.audit-hero-actions button,.audit-load-more button,.audit-clear{height:40px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-primary-dark);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;background:#ffffffeb;border:1px solid #cbdad5;display:inline-flex}.audit-hero-actions button:hover,.audit-load-more button:hover{border-color:var(--color-primary);background:#fff}.audit-hero-actions button.primary{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.audit-metrics{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.audit-metrics :is(article,button){min-width:0;min-height:102px;padding:var(--space-3);align-items:flex-start;gap:var(--space-3);text-align:left;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.audit-metrics button{cursor:pointer;font:inherit}.audit-metrics button:hover{border-color:#b9d1ca;transform:translateY(-1px)}.audit-metrics :is(article,button)>span{width:34px;height:34px;color:var(--metric-color,var(--color-primary));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--metric-color,var(--color-primary)) 9%, var(--color-surface));flex:none;place-items:center;display:grid}.audit-metrics :is(article,button)>div{min-width:0}.audit-metrics .danger{--metric-color:var(--color-danger)}.audit-metrics .warning{--metric-color:var(--color-warning)}.audit-metrics svg{width:17px;height:17px}.audit-metrics small,.audit-metrics strong,.audit-metrics p{display:block}.audit-metrics small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.audit-metrics strong{color:var(--color-text);font-size:var(--text-lg);margin-top:5px;line-height:1}.audit-metrics p{color:var(--color-text-muted);margin:7px 0 0;font-size:.65rem;line-height:1.35}.audit-views{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);scrollbar-width:none;gap:3px;min-height:50px;padding:4px;display:flex;overflow-x:auto}.audit-views::-webkit-scrollbar{display:none}.audit-views button{min-height:40px;padding:0 var(--space-3);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:1px solid #0000;flex:none}.audit-views button:hover{color:var(--color-primary-dark);background:var(--color-canvas)}.audit-views button.active{color:var(--color-primary-dark);border-color:var(--color-border);background:var(--color-primary-soft)}.audit-filterbar{padding:var(--space-3);gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto 128px 128px minmax(190px,1fr) repeat(3,minmax(125px,.55fr));align-items:end;display:grid}.audit-filterbar label{gap:5px;min-width:0;display:grid}.audit-filterbar label>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.045em;text-transform:uppercase}.audit-filterbar :is(input,select){width:100%;min-width:0;height:40px;padding:0 32px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.audit-filterbar input{padding-right:var(--space-2)}.audit-presets{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);height:40px;padding:3px;display:flex}.audit-presets button{min-width:51px;color:var(--color-text-muted);border-radius:calc(var(--radius-sm) - 3px);cursor:pointer;font-size:.625rem;font-weight:var(--weight-semibold);background:0 0;border:0;padding:0 8px}.audit-presets button:hover{color:var(--color-primary-dark);background:var(--color-surface)}.audit-search>div{position:relative}.audit-search svg{color:var(--color-text-muted);position:absolute;top:12px;left:12px}.audit-search input{padding-left:36px}.audit-clear{color:var(--color-text-muted);border-color:var(--color-border);align-self:end}.audit-list-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.audit-list-panel>header{min-height:72px;padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.audit-list-panel>header h2{color:var(--color-text);font-size:var(--text-md);margin:4px 0 0}.audit-list-panel>header p{color:var(--color-text-muted);font-size:var(--text-2xs);align-items:center;gap:6px;margin:0;display:flex}.audit-table-wrap{overflow-x:auto}.audit-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:1080px}.audit-table-wrap th{height:42px;padding:0 var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-canvas) 45%, var(--color-surface));font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.045em;text-transform:uppercase}.audit-table-wrap td{min-width:110px;height:72px;padding:var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);vertical-align:middle}.audit-table-wrap tbody tr:last-child td{border-bottom:0}.audit-table-wrap tbody tr:hover{background:#f8fbfa}.audit-table-wrap td:first-child{width:150px}.audit-table-wrap td:nth-child(2){min-width:190px}.audit-table-wrap td:nth-child(3){min-width:210px}.audit-table-wrap td:nth-child(4){min-width:160px}.audit-table-wrap td:last-child{width:48px;min-width:48px;padding-left:0}.audit-table-wrap td>strong,.audit-table-wrap td>small,.audit-table-wrap time{display:block}.audit-table-wrap td>strong,.audit-table-wrap time{color:var(--color-text);font-weight:var(--weight-semibold)}.audit-table-wrap td>small{color:var(--color-text-muted);margin-top:4px;font-size:.625rem}.audit-table-wrap td:last-child button{width:32px;height:32px;color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;place-items:center;display:grid}.audit-table-wrap td:last-child button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.audit-person{align-items:center;gap:var(--space-3);display:flex}.audit-person>i{width:34px;height:34px;color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);font-size:.625rem;font-style:normal;font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.audit-person strong,.audit-person small{display:block}.audit-person strong{color:var(--color-text);font-size:var(--text-xs)}.audit-person small{color:var(--color-text-muted);margin-top:3px;font-size:.625rem}.audit-module,.audit-result,.audit-severity{min-height:24px;font-size:.625rem;font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.audit-module{color:var(--color-primary-dark);background:var(--color-primary-soft)}.audit-result.success{color:#24715f;background:#eaf5f1}.audit-result.denied,.audit-result.failure{color:#a63d4d;background:#faedf0}.audit-severity.info{color:#586b66;background:#eef2f1}.audit-severity.standard{color:#246c5d;background:#edf6f3}.audit-severity.sensitive{color:#8a661c;background:#faf4e6}.audit-severity.critical{color:#a63d4d;background:#faedf0}.audit-load-more{padding:var(--space-3);border-top:1px solid var(--color-border);background:#fafcfb;justify-content:center;display:flex}.audit-mobile-list{display:none}.audit-detail-dialog{flex-direction:column;width:min(100%,1040px);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.audit-detail-dialog>header{flex:none}.audit-detail-body{padding:var(--space-4);gap:var(--space-3);background:#f8faf9;display:grid;overflow-y:auto}.audit-detail-status{flex-wrap:wrap;gap:7px;display:flex}.audit-detail-status>span:not(.audit-severity):not(.audit-result){min-height:24px;color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface);font-size:.625rem;font-weight:var(--weight-semibold);border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.audit-detail-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.audit-detail-grid article{min-width:0;min-height:112px;padding:var(--space-3);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.audit-detail-grid article>svg{color:var(--color-primary);flex:none}.audit-detail-grid small,.audit-detail-grid strong,.audit-detail-grid p{display:block}.audit-detail-grid small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold)}.audit-detail-grid strong{color:var(--color-text);font-size:var(--text-sm);text-overflow:ellipsis;margin-top:7px;overflow:hidden}.audit-detail-grid p{overflow-wrap:anywhere;color:var(--color-text-muted);margin:6px 0 0;font-size:.65rem;line-height:1.35}.audit-changes,.audit-technical,.audit-metadata,.audit-related{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.audit-detail-body section>header,.audit-metadata>header,.audit-related>header{min-height:64px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.audit-detail-body section>header svg{color:var(--color-primary)}.audit-detail-body section>header h3,.audit-metadata>header h3,.audit-related>header h3{color:var(--color-text);font-size:var(--text-sm);margin:3px 0 0}.audit-changes>div{display:grid}.audit-changes article{padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:120px 1fr 20px 1fr;display:grid}.audit-changes article:last-child{border-bottom:0}.audit-changes article>strong{color:var(--color-text);font-size:var(--text-xs)}.audit-changes article>svg{color:var(--color-text-muted)}.audit-changes article span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);text-transform:uppercase;margin-bottom:4px;display:block}.audit-changes pre,.audit-metadata pre{overflow-wrap:anywhere;white-space:pre-wrap;color:var(--color-text);font:600 .7rem/1.4 var(--font-body);margin:0}.audit-technical dl,.audit-metadata dl{padding:var(--space-3) var(--space-4);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.audit-technical dl>div,.audit-metadata dl>div{min-width:0;padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-border)}.audit-technical dl>div.wide{grid-column:1/-1}.audit-technical dt,.audit-metadata dt{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);text-transform:uppercase}.audit-technical dd,.audit-metadata dd{overflow-wrap:anywhere;color:var(--color-text);margin:5px 0 0;font-size:.72rem}.audit-related article{min-height:58px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.audit-related article:last-child{border-bottom:0}.audit-related article>span{width:9px;min-height:9px;padding:0}.audit-related strong,.audit-related small{display:block}.audit-related strong{color:var(--color-text);font-size:var(--text-xs)}.audit-related small{color:var(--color-text-muted);margin-top:4px;font-size:.625rem}.audit-integrity-note{padding:var(--space-3);align-items:center;gap:var(--space-2);color:#47655d;border-radius:var(--radius-md);background:#eff7f4;border:1px solid #d4e5df;margin:0;font-size:.7rem;display:flex}.audit-retention-dialog form{padding:var(--space-4);gap:var(--space-3);display:grid}.audit-retention-dialog label{gap:6px;display:grid}.audit-retention-dialog label>span{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.audit-retention-dialog input{height:42px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.audit-retention-dialog label small{color:var(--color-text-muted);font-size:.65rem}.audit-retention-dialog form>footer{padding-top:var(--space-3);justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--color-border);display:flex}.audit-retention-dialog footer button{height:40px;padding:0 var(--space-4);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-weight:var(--weight-semibold)}.audit-retention-dialog footer button.primary{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}@media (width<=1400px){.audit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-hero{flex-direction:column;align-items:flex-start}.audit-hero-actions{width:100%}.audit-filterbar{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-presets,.audit-search{grid-column:span 2}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.audit-page{padding:var(--space-5) var(--space-4)}.audit-hero-actions button{flex:1}.audit-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-presets,.audit-search{grid-column:1/-1}.audit-table-wrap{display:none}.audit-mobile-list{display:grid}.audit-mobile-list>button{padding:var(--space-4);gap:var(--space-3);text-align:left;color:inherit;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;display:grid}.audit-mobile-list>button:last-child{border-bottom:0}.audit-mobile-list header,.audit-mobile-list footer{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.audit-mobile-list header>svg{color:var(--color-primary)}.audit-mobile-list h3{color:var(--color-text);font-size:var(--text-sm);margin:0}.audit-mobile-list p{color:var(--color-text-muted);font-size:var(--text-xs);margin:-5px 0 0}.audit-mobile-list footer{flex-wrap:wrap;justify-content:flex-start}.audit-mobile-list footer>span:first-child{color:var(--color-primary-dark);font-size:.625rem;font-weight:var(--weight-semibold)}.audit-changes article{grid-template-columns:100px 1fr}.audit-changes article>svg{display:none}}@media (width<=560px){.audit-page{padding:1rem .8rem 2rem}.audit-hero{padding:var(--space-4)}.audit-hero-actions{grid-template-columns:repeat(2,1fr);display:grid}.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-metrics :is(article,button){min-height:96px;padding:var(--space-3);gap:var(--space-2)}.audit-filterbar{grid-template-columns:1fr}.audit-presets,.audit-search{grid-column:auto}.audit-presets{overflow-x:auto}.audit-presets button{flex:1}.audit-list-panel>header{align-items:flex-start}.audit-list-panel>header p{display:none}.audit-detail-grid,.audit-technical dl,.audit-metadata dl,.audit-changes article{grid-template-columns:1fr}.audit-detail-dialog{max-height:calc(100vh - 16px)}.panel-dialog-backdrop:has(.audit-detail-dialog){padding:8px}}.platform-page{width:min(100%,1400px);padding:var(--space-6);margin-inline:auto}.platform-page .ui-page-header{margin-bottom:var(--space-5)}.platform-page .ui-page-header>button,.platform-page .ui-page-header>div:last-child>button,.platform-primary-link{min-height:42px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.platform-page button.secondary,.dorm-detail-actions button.secondary,.tenant-support-actions button.secondary,.platform-pagination button.secondary{color:var(--color-primary-dark);border-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-border));background:var(--color-surface)}.platform-page button.secondary:hover:not(:disabled),.dorm-detail-actions button.secondary:hover:not(:disabled),.tenant-support-actions button.secondary:hover:not(:disabled),.platform-pagination button.secondary:hover:not(:disabled){background:var(--color-primary-soft)}.platform-page-state{min-height:320px}.platform-toolbar{min-height:64px;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.platform-toolbar>label{width:min(100%,430px);height:42px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex}.platform-toolbar>label:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent)}.platform-toolbar input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0}.platform-toolbar select,.platform-module-context select{min-width:180px;height:42px;padding:0 36px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.platform-toolbar>strong{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.platform-audit-toolbar>button{min-height:42px;padding-inline:var(--space-4)}.platform-user-list,.platform-request-list,.platform-announcement-list,.tenant-announcement-list{gap:var(--space-3);display:grid}.platform-user-list>article,.platform-request-list>article,.platform-announcement-list>article,.tenant-announcement-list>article{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm)}.platform-user-list>article{padding:var(--space-4)}.platform-user-list article>header{align-items:center;gap:var(--space-3);display:flex}.platform-avatar{width:42px;height:42px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:12px;flex:none;place-items:center;display:grid}.platform-user-list header>div{flex:1;min-width:0}.platform-user-list header strong,.platform-user-list header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.platform-user-list header small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.platform-user-list header>em,.platform-module-context>span,.platform-request-list header>em,.platform-status{color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-canvas);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);text-transform:uppercase;white-space:nowrap;border-radius:99px;padding:4px 9px}.platform-user-list header>em.active,.platform-module-context>span.active,.platform-status.resolved,.platform-status.closed,.platform-request-list header>em.completed{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.platform-request-list header>em.high,.platform-request-list header>em.warning,.platform-status.in_progress,.platform-request-list header>em.in_review{color:#a16207;background:#fffbeb;border-color:#fde68a}.platform-request-list header>em.critical,.platform-request-list header>em.rejected{color:#be123c;background:#fff1f2;border-color:#fecdd3}.platform-user-list dl{margin:var(--space-4) 0;gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.platform-user-list dl div{min-width:0}.platform-user-list dt{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em}.platform-user-list dd{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.platform-user-list article>footer{padding-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);display:flex}.platform-user-list footer>div{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.platform-user-list footer button,.platform-request-list footer button{min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.platform-user-list button.danger-quiet{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 25%, var(--color-border));background:#fff}.platform-warning-chip{color:#a16207;font-size:var(--text-xs);font-weight:var(--weight-semibold);align-items:center;gap:5px;display:inline-flex}.platform-confirm{padding:var(--space-5)}.platform-confirm>p{color:var(--color-text-muted);margin:0;line-height:1.7}.platform-confirm>footer,.platform-dialog-form>footer{margin-top:var(--space-5);justify-content:flex-end;gap:var(--space-2);display:flex}.platform-confirm footer button,.platform-dialog-form footer button{min-height:42px;padding:0 var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--weight-semibold)}.platform-result-summary{margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);align-items:baseline;gap:var(--space-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.platform-result-summary strong{color:var(--color-text);font-size:var(--text-lg)}.platform-result-summary small{margin-left:auto}.platform-audit-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.platform-audit-list details+details{border-top:1px solid var(--color-border)}.platform-audit-list summary{min-height:68px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);cursor:pointer;grid-template-columns:8px minmax(0,1fr) auto 155px;list-style:none;display:grid}.platform-audit-list summary::-webkit-details-marker{display:none}.platform-audit-list summary>i,.platform-audit-preview article>i{background:#64748b;border-radius:50%;width:8px;height:8px}.platform-audit-list summary>i.success,.platform-audit-preview article>i.success{background:var(--color-success)}.platform-audit-list summary>i.denied,.platform-audit-list summary>i.failure,.platform-audit-preview article>i.denied,.platform-audit-preview article>i.failure{background:var(--color-danger)}.platform-audit-list summary strong,.platform-audit-list summary small{display:block}.platform-audit-list summary small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.platform-audit-list summary>em{color:var(--color-text-muted);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-semibold)}.platform-audit-list time{color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.platform-audit-list details>div{padding:0 var(--space-4) var(--space-4) 44px}.platform-audit-list dl{padding:var(--space-3);gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-canvas);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.platform-audit-list dt{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase}.platform-audit-list dd{overflow-wrap:anywhere;font-size:var(--text-xs);margin:3px 0 0}.platform-module-context{margin-bottom:var(--space-4);padding:var(--space-4);align-items:end;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.platform-module-context label{gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:grid}.platform-module-context label select{min-width:300px}.platform-module-context>span{margin-bottom:9px;margin-left:auto}.platform-module-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.platform-module-grid>article{min-height:132px;padding:var(--space-4);align-items:start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:42px minmax(0,1fr) auto;display:grid}.platform-module-icon{width:42px;height:42px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:12px;place-items:center;display:grid}.platform-module-grid strong{font-family:var(--font-heading)}.platform-module-grid p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.6}.platform-module-grid article>button,.platform-announcement-list article>button{min-width:76px;height:34px;color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-canvas);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-bold);border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.platform-module-grid article>button i{background:#94a3b8;border-radius:50%;width:8px;height:8px}.platform-module-grid article>button.active,.platform-announcement-list article>button.active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.platform-module-grid article>button.active i{background:#10b981}.platform-metrics{margin-bottom:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.platform-metric-card{min-height:126px;padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.platform-metric-card.attention{border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-border))}.platform-metric-card>span{width:40px;height:40px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:12px;flex:none;place-items:center;display:grid}.platform-metric-card.attention>span{color:var(--color-warning);background:#fffbeb}.platform-metric-card small,.platform-metric-card strong,.platform-metric-card p{display:block}.platform-metric-card small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.platform-metric-card strong{font:var(--weight-bold) 1.45rem/1.2 var(--font-heading);margin-top:2px}.platform-metric-card p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.platform-system-checklist{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.platform-system-checklist>header{min-height:70px;padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.platform-system-checklist h3{font-family:var(--font-heading);margin:0}.platform-system-checklist header span{color:var(--color-text-muted);font-size:var(--text-xs)}.platform-system-checklist>div{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.platform-system-checklist p{min-height:90px;padding:var(--space-4);gap:var(--space-3);color:var(--color-success);margin:0;display:flex}.platform-system-checklist p+p{border-left:1px solid var(--color-border)}.platform-system-checklist p.warning{color:var(--color-warning)}.platform-system-checklist p span{min-width:0}.platform-system-checklist p strong,.platform-system-checklist p small{display:block}.platform-system-checklist p strong{color:var(--color-text)}.platform-system-checklist p small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:4px;line-height:1.5}.platform-request-list>article{padding:var(--space-4)}.platform-request-list article>header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.platform-request-list header strong,.platform-request-list header small{display:block}.platform-request-list header small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.platform-request-list article>p{margin:var(--space-4) 0;color:var(--color-text-muted);line-height:1.65}.platform-request-list blockquote{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);color:var(--color-text);border-left:3px solid var(--color-primary);background:var(--color-primary-soft)}.platform-request-list article>footer{padding-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);display:flex}.platform-dialog-form{padding:var(--space-5);gap:var(--space-4);display:grid}.platform-dialog-form>label,.platform-dialog-grid>label{gap:var(--space-2);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:grid}.platform-dialog-form input:not([type=checkbox]),.platform-dialog-form select,.platform-dialog-form textarea{width:100%;min-height:42px;padding:10px var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);resize:vertical}.platform-dialog-form input:focus,.platform-dialog-form select:focus,.platform-dialog-form textarea:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 10%, transparent)}.platform-dialog-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.platform-check{grid-template-columns:18px 1fr;align-items:center;display:flex!important}.platform-check input{width:18px;height:18px;accent-color:var(--color-primary)}.platform-tabs{margin-bottom:var(--space-4);gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.platform-tabs>button{min-height:46px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;border:0;display:inline-flex;position:relative}.platform-tabs>button[aria-selected=true]{color:var(--color-primary-dark)}.platform-tabs>button[aria-selected=true]:after{content:"";background:var(--color-primary);height:2px;position:absolute;inset:auto 0 -1px}.platform-tabs button span{background:var(--color-canvas);border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;display:grid}.platform-announcement-list>article{padding:var(--space-4);align-items:start;gap:var(--space-3);grid-template-columns:42px minmax(0,1fr) auto;display:grid}.platform-announcement-icon,.tenant-announcement-list article>span{width:42px;height:42px;color:var(--color-info);background:#f0f9ff;border-radius:12px;place-items:center;display:grid}.platform-announcement-icon.warning,.platform-announcement-icon.maintenance,.tenant-announcement-list article.warning>span,.tenant-announcement-list article.maintenance>span{color:var(--color-warning);background:#fffbeb}.platform-announcement-icon.critical,.tenant-announcement-list article.critical>span{color:var(--color-danger);background:#fff1f2}.platform-announcement-list strong,.platform-announcement-list p,.platform-announcement-list small,.tenant-announcement-list strong,.tenant-announcement-list p,.tenant-announcement-list small{display:block}.platform-announcement-list p,.tenant-announcement-list p{margin:var(--space-2) 0;color:var(--color-text-muted);line-height:1.6}.platform-announcement-list small,.tenant-announcement-list small{color:var(--color-text-muted);font-size:var(--text-xs)}.tenant-announcement-list>article{padding:var(--space-4);gap:var(--space-3);grid-template-columns:42px minmax(0,1fr);display:grid}.tenant-support-actions{gap:var(--space-2);display:flex}.tenant-support-actions>button{min-height:42px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--weight-semibold);display:inline-flex}.platform-dashboard-grid{gap:var(--space-4);grid-template-columns:minmax(0,.75fr) minmax(360px,1.2fr);display:grid}.platform-dashboard-grid .platform-audit-preview{grid-column:1/-1}.platform-compact-clear{min-height:160px}.platform-dorm-overview>div>a{min-height:68px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-4);color:var(--color-text);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;text-decoration:none;display:grid}.platform-dorm-overview>div>a:hover{background:var(--color-primary-soft)}.platform-dorm-overview a span:first-child strong,.platform-dorm-overview a span:first-child small{display:block}.platform-dorm-overview a span:first-child small,.platform-dorm-overview a span:nth-child(2){color:var(--color-text-muted);font-size:var(--text-xs)}.platform-dorm-overview a>em{color:var(--color-text-muted);background:var(--color-canvas);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);text-transform:uppercase;border-radius:99px;padding:4px 8px}.platform-dorm-overview a>em.active{color:#047857;background:#ecfdf5}.platform-audit-preview>div>article{min-height:62px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:8px minmax(0,1fr) 160px;display:grid}.platform-audit-preview article strong,.platform-audit-preview article small{display:block}.platform-audit-preview article small,.platform-audit-preview time{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.platform-audit-preview time{text-align:right}.platform-empty-inline{padding:var(--space-6);color:var(--color-text-muted);text-align:center}.platform-pagination{margin-top:var(--space-4);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.platform-pagination button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.platform-pagination span{color:var(--color-text-muted);font-size:var(--text-xs)}.dorms-mobile-list{display:none}.dorms-toolbar>select{height:40px;padding:0 34px 0 var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dorm-detail-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dorm-detail-actions button{min-height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.dorm-manager-replace{margin-top:var(--space-4);min-height:38px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--weight-semibold);display:inline-flex}.dorm-manager-missing{align-content:center;place-items:center;gap:var(--space-3);min-height:220px;color:var(--color-text-muted);text-align:center;display:grid}.dorm-manager-missing button{min-height:40px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex}.dorm-create-review{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.dorm-create-review>p{margin:0 0 var(--space-4);color:var(--color-text-muted)}.dorm-create-review dl{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.dorm-create-review dt{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase}.dorm-create-review dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:4px 0 0}.dorm-create-review>small{margin-top:var(--space-4);color:var(--color-text-muted);display:block}.panel-field label em{color:var(--color-danger);font-size:9px;font-style:normal;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;margin-left:5px}@media (width<=1050px){.platform-metrics,.platform-user-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-dashboard-grid{grid-template-columns:1fr}.platform-dashboard-grid .platform-audit-preview{grid-column:auto}.platform-system-checklist>div{grid-template-columns:1fr}.platform-system-checklist p+p{border-top:1px solid var(--color-border);border-left:0}}@media (width<=760px){.platform-page{padding:var(--space-4)}.platform-page .ui-page-header{align-items:stretch}.platform-page .ui-page-header>button,.platform-page .ui-page-header>div:last-child,.platform-page .ui-page-header>div:last-child>button{width:100%}.platform-toolbar{flex-direction:column;align-items:stretch}.platform-toolbar>label{width:100%}.platform-toolbar select{width:100%;min-width:0}.platform-toolbar>strong{margin-left:0}.platform-module-grid,.platform-metrics{grid-template-columns:1fr}.platform-module-context{flex-direction:column;align-items:stretch}.platform-module-context label select{width:100%;min-width:0}.platform-module-context>span{align-self:flex-start;margin:0}.platform-user-list article>footer{flex-direction:column;align-items:stretch}.platform-user-list footer>div{justify-content:stretch}.platform-user-list footer button{flex:140px}.platform-audit-list summary{grid-template-columns:8px minmax(0,1fr) auto}.platform-audit-list summary>time{display:none}.platform-audit-list details>div{padding-left:var(--space-4)}.platform-audit-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-dorm-overview>div>a{grid-template-columns:minmax(0,1fr) auto}.platform-dorm-overview a span:nth-child(2){display:none}.platform-audit-preview>div>article{grid-template-columns:8px minmax(0,1fr)}.platform-audit-preview time{display:none}.tenant-support-actions{width:100%}.tenant-support-actions button{flex:1;justify-content:center}.dorms-table-wrap:has(.dorms-table){display:none}.dorms-mobile-list{gap:var(--space-3);display:grid}.dorms-mobile-list>a{padding:var(--space-4);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-decoration:none}.dorms-mobile-list header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.dorms-mobile-list header strong,.dorms-mobile-list header small{display:block}.dorms-mobile-list header small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px}.dorms-mobile-list header em{color:var(--color-text-muted);background:var(--color-canvas);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);text-transform:uppercase;border-radius:99px;padding:4px 8px}.dorms-mobile-list header em.active{color:#047857;background:#ecfdf5}.dorms-mobile-list dl{margin:var(--space-4) 0;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dorms-mobile-list dt{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase}.dorms-mobile-list dd{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.dorm-mobile-detail{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:space-between;align-items:center;display:flex}.dorms-toolbar>select{width:100%}.dorm-detail-actions{justify-content:flex-start}}@media (width<=520px){.platform-page{padding:var(--space-3)}.platform-user-list dl{grid-template-columns:1fr}.platform-user-list footer>div{flex-direction:column}.platform-user-list footer button{flex-basis:auto;width:100%}.platform-module-grid>article{grid-template-columns:42px minmax(0,1fr)}.platform-module-grid article>button{grid-column:1/-1;width:100%}.platform-dialog-grid,.platform-audit-list dl,.dorm-create-review dl{grid-template-columns:1fr}.platform-announcement-list>article{grid-template-columns:42px minmax(0,1fr)}.platform-announcement-list article>button{grid-column:1/-1;width:100%}.platform-request-list article>header,.platform-request-list article>footer{flex-direction:column;align-items:flex-start}.platform-tabs{overflow-x:auto}.platform-tabs>button{flex:none}.tenant-support-actions{flex-direction:column}.platform-confirm>footer,.platform-dialog-form>footer{flex-direction:column-reverse}.platform-confirm footer button,.platform-dialog-form footer button{width:100%}.platform-system-checklist>header{flex-direction:column;align-items:flex-start}.dorms-mobile-list dl{grid-template-columns:1fr}.platform-pagination{justify-content:space-between}}
