@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap";.attendance-app,.attendance-shell{--ops-text:#202938;--ops-muted:#667085;--ops-line:#e4e7ec;--ops-accent:#2858a5;--ops-tint:#f0f5fd;min-height:100dvh;color:var(--ops-text);font:14px/1.5 var(--sans);background:#f7f8fa}:is(.attendance-app,.attendance-shell) :is(h1,h2){font-family:var(--sans);letter-spacing:-.025em;line-height:1.25}:is(.attendance-app,.attendance-shell) :is(button,input,select,a):focus-visible{outline:2px solid var(--ops-accent);outline-offset:3px}.ops-header{background:#fff;border-bottom:1px solid #e4e7ec;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:68px;padding:0 max(24px,50vw - 600px);display:grid}.ops-brand{text-decoration:none}.ops-header .brand-lockup{letter-spacing:.04em;font-size:11px}.ops-header .brand-mark{color:#fff;border-radius:5px;width:28px;height:28px}.ops-header nav{justify-content:flex-end;align-items:center;gap:4px;display:flex}.ops-header nav a,.ops-logout{color:#596273;font:500 14px/1.4 var(--sans);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:10px 12px;text-decoration:none}.ops-header nav a[aria-current=page]{color:#2858a5;background:#f0f5fd}.ops-header nav a:hover,.ops-logout:hover{background:#f3f4f6}.ops-primary,.ops-secondary{min-height:40px;font:500 14px/1.4 var(--sans);border:1px solid var(--ops-line);border-radius:6px;justify-content:center;align-items:center;padding:9px 14px;text-decoration:none;display:inline-flex}.ops-primary{color:#fff;background:var(--ops-accent);border-color:var(--ops-accent)}.ops-primary:hover:not(:disabled){background:#204a8c}.ops-secondary{color:var(--ops-text);background:#fff}.ops-secondary:hover:not(:disabled){background:#f5f6f8}:is(.ops-primary,.ops-secondary):disabled{opacity:.5;cursor:not-allowed}.venue-main{max-width:1248px;margin:auto;padding:28px 24px 48px}.venue-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.venue-heading h1{font-size:26px}.venue-heading p{color:var(--ops-muted);margin:5px 0 0}.venue-menus{border-bottom:1px solid var(--ops-line);gap:24px;display:flex}.venue-menus button{color:var(--ops-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 0;font-weight:500;display:flex}.venue-menus button[aria-current=page]{color:var(--ops-accent);border-bottom-color:var(--ops-accent)}.venue-menus button:hover{color:var(--ops-text)}.venue-menus button span{color:#2858a5;background:#eaf0f9;border-radius:10px;min-width:20px;padding:1px 5px;font-size:11px}.venue-summary{color:var(--ops-muted);gap:24px;padding:16px 0;font-size:13px;display:flex}.venue-summary strong{color:var(--ops-text);font-variant-numeric:tabular-nums;margin-right:3px;font-weight:600}.venue-toolbar{align-items:end;gap:16px;margin:8px 0 20px;display:flex}.venue-field{color:var(--ops-text);gap:6px;margin:0;font-size:13px;font-weight:500;display:grid}.venue-search-field{flex:1;max-width:580px}.venue-field input,.venue-field select{width:100%;min-height:42px;color:var(--ops-text);font:400 14px/1.5 var(--sans);background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:9px 12px}.venue-field input::placeholder{color:#7b8494}.venue-result-count{color:var(--ops-muted);margin-left:auto;padding-bottom:11px;font-size:13px}.venue-workspace{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:20px;display:grid}.venue-room-list,.venue-team-list{border:1px solid var(--ops-line);background:#fff;border-radius:8px;max-height:min(640px,67vh);overflow-y:auto}.venue-list-heading{color:var(--ops-muted);border-bottom:1px solid var(--ops-line);background:#fcfcfd;padding:10px 16px;font-size:12px;font-weight:500}.venue-list-row{text-align:left;border:0;border-bottom:1px solid var(--ops-line);width:100%;color:var(--ops-text);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.venue-list-row:last-child{border-bottom:0}.venue-list-row:hover{background:#fafbfc}.venue-list-row[aria-pressed=true]{background:var(--ops-tint);box-shadow:inset 3px 0 var(--ops-accent)}.venue-row-main{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.venue-row-main strong{font-size:14px;font-weight:600}.venue-row-main small,.venue-row-end small{color:var(--ops-muted);font-size:12px}.venue-row-end{flex-shrink:0;justify-items:end;gap:4px;display:grid}.venue-row-end b{color:#26724f;font-size:12px;font-weight:500}.venue-row-status{color:#86652c;font-size:12px}.venue-row-status.assigned{color:var(--ops-accent)}.venue-row-arrow{color:#98a2b3;font-size:22px}.venue-detail{border:1px solid var(--ops-line);overflow-wrap:anywhere;background:#fff;border-radius:8px;min-width:0;padding:24px}.venue-detail h2{font-size:22px}.venue-detail-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.venue-detail-meta{color:var(--ops-muted);margin:8px 0 20px;font-size:13px;line-height:1.7}.venue-team-code{color:var(--ops-muted);font:12px/1.5 var(--mono);margin:0 0 6px}.venue-tag{color:#576172;white-space:nowrap;background:#f2f4f7;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.venue-tag.available{color:#26724f;background:#edf7f1}.venue-tables{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;font-size:13px;display:table}.venue-tables thead{display:table-header-group}.venue-tables tbody{display:table-row-group}.venue-tables tr{background:0 0;border:0;display:table-row}.venue-tables :is(th,td){width:auto;font-family:var(--sans);letter-spacing:0;text-transform:none;background:0 0;font-size:13px;display:table-cell}.venue-tables td:before{display:none}.venue-tables tbody td{border-bottom:1px solid var(--ops-line)}.venue-tables th,.venue-tables td{border-bottom:1px solid var(--ops-line);text-align:left;vertical-align:middle;padding:10px 12px}.venue-tables thead th{color:var(--ops-muted);background:#f9fafb;font-size:12px;font-weight:500}.venue-tables th:first-child{width:62px}.venue-tables th:last-child{width:90px}.venue-tables tbody th{color:var(--ops-muted);font-weight:500}.venue-tables td strong{overflow-wrap:anywhere;font-weight:500;display:block}.venue-tables td small{color:var(--ops-muted);margin-top:2px;font-size:11px;display:block}.venue-tables tr:last-child :is(th,td){border-bottom:0}.venue-muted{color:#98a2b3}.venue-result{color:#7b6029;background:#fffbf0;border-radius:6px;margin:20px 0;padding:16px;font-size:14px}.venue-result.is-assigned{background:var(--ops-tint);color:#244b83;gap:4px;display:grid}.venue-result>span,.venue-result small{font-size:12px;font-weight:400}.venue-result strong{letter-spacing:-.02em;font-size:22px;font-weight:600}.venue-result strong span{color:#8aa3c7;margin:0 4px}.venue-assignment-form{gap:16px;margin-top:24px;display:grid}.venue-assignment-form .ops-primary{justify-self:start}.venue-help{color:var(--ops-muted);margin:0;font-size:13px}.venue-empty{text-align:center;min-height:280px;color:var(--ops-muted);align-content:center;justify-items:center;display:grid}.venue-empty h2{color:var(--ops-text);font-size:16px;font-weight:500}.venue-empty p{margin:6px 0 0;font-size:13px}.venue-list-empty{color:var(--ops-muted);margin:0;padding:16px}.venue-search-empty{text-align:center;color:var(--ops-muted);padding:64px 16px}.venue-search-empty p{color:var(--ops-text);margin:0 0 6px;font-size:16px}.venue-search-empty small{font-size:13px}.venue-back{display:none}.ops-notice{border-radius:6px;margin:0 0 16px;padding:12px 14px;font-size:13px}.ops-notice.success{color:#246a48;background:#edf7f1}.ops-notice.error{color:#a02e28;background:#fef1f0}.attendance-shell .attendance-main{max-width:1248px;padding:28px 24px 48px}.attendance-shell .attendance-heading{border:0;padding:0}.attendance-shell .attendance-heading h1{font-size:26px}.attendance-shell .attendance-heading .eyebrow{display:none}.attendance-shell .attendance-workspace{background:0 0;border:0;grid-template-columns:340px minmax(0,1fr);align-items:start;gap:20px;height:auto;min-height:0;margin-top:24px}.attendance-shell .attendance-team-directory{border:1px solid var(--ops-line);background:#fff;border-radius:8px;overflow:hidden}.attendance-shell .attendance-section-heading{align-items:center;padding:16px}.attendance-shell .attendance-section-heading>div{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.attendance-shell .attendance-section-heading h2{font-size:15px}.attendance-shell .attendance-section-heading p{margin:0;font-size:12px}.attendance-shell .attendance-search{padding:0 16px 16px}.attendance-shell .attendance-search input,.attendance-shell .attendance-lead-control select{min-height:42px;font:400 14px/1.5 var(--sans);border:1px solid #d0d5dd;border-radius:6px;padding:9px 12px}.attendance-shell .attendance-team-list{border-top:1px solid var(--ops-line);max-height:65vh}.attendance-shell .attendance-team-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 16px}.attendance-shell .attendance-team-row.is-selected{background:var(--ops-tint);box-shadow:inset 3px 0 var(--ops-accent)}.attendance-shell .attendance-team-main strong{font:600 14px/1.4 var(--sans);white-space:normal}.attendance-shell .attendance-team-main small{color:var(--ops-muted);font-size:12px}.attendance-shell .attendance-count{color:var(--ops-muted);font:500 13px/1.4 var(--sans)}.attendance-shell .attendance-count.is-complete{color:#26724f}.attendance-shell .attendance-count small{font-size:11px}.attendance-shell .attendance-detail{border:1px solid var(--ops-line);background:#fff;border-radius:8px;padding:24px;overflow:visible}.attendance-shell .attendance-detail-head{padding-bottom:16px}.attendance-shell .attendance-detail-head h2{font-size:22px}.attendance-shell .attendance-detail-head .eyebrow{font:12px/1.5 var(--mono);text-transform:none;letter-spacing:0;color:var(--ops-muted)}.attendance-shell .attendance-status{color:#596273;font:500 12px/1.4 var(--sans);text-transform:none;letter-spacing:0;background:#f2f4f7;border:0;border-radius:4px;padding:5px 8px}.venue-attendance-panel{border-bottom:1px solid var(--ops-line);margin:0;padding:16px 0}.venue-attendance-panel p{color:var(--ops-muted);margin:12px 0 0;font-size:13px}.venue-attendance-panel small{color:var(--ops-muted);margin-top:6px;font-size:12px;display:block}.venue-mode-toggle{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.venue-mode-toggle legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:500}.venue-mode-toggle label{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:6px;align-items:center;gap:8px;min-height:42px;margin:0;padding:9px 12px;font-size:13px;display:flex}.venue-mode-toggle input{accent-color:var(--ops-accent);margin:0}.venue-mode-toggle label:has(input:checked){color:var(--ops-accent);background:var(--ops-tint);border-color:#91afd8}.venue-mode-toggle:disabled label{cursor:default}.attendance-shell .attendance-controls{border:0;display:block}.attendance-shell .attendance-lead-control label{font:500 13px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--ops-text)}.attendance-shell .attendance-lead-control{max-width:340px}.attendance-shell .attendance-members{border-top:1px solid var(--ops-line);gap:0;margin-top:0}.attendance-shell .attendance-member{border:0;border-bottom:1px solid var(--ops-line);background:#fff;gap:10px;padding:14px 0}.attendance-shell .attendance-member.is-present{border-color:var(--ops-line);background:#fff}.attendance-shell .attendance-member:has(input:disabled){opacity:1}.attendance-shell .attendance-member-copy strong{font:500 14px/1.4 var(--sans)}.attendance-shell .attendance-member-copy small{color:var(--ops-muted);font-size:12px}.attendance-shell .attendance-member-state{font:400 12px/1.4 var(--sans);text-transform:none;letter-spacing:0}.attendance-shell .attendance-member.is-present .attendance-member-state{color:#26724f}.attendance-shell .attendance-check{border-radius:4px;width:20px;height:20px}.attendance-shell .attendance-member.is-present .attendance-check{background:var(--ops-accent);border-color:var(--ops-accent)}.attendance-shell .attendance-meal{font:400 12px/1.4 var(--sans);gap:6px;padding-left:36px}.attendance-shell .attendance-meal button{min-height:36px;font:500 12px/1.4 var(--sans);border:1px solid #d0d5dd;border-radius:5px;padding:6px 12px}.attendance-shell .attendance-meal button[aria-pressed=true]{color:var(--ops-accent);background:var(--ops-tint);border-color:#91afd8}.attendance-shell .button{min-height:40px;font:500 14px/1.4 var(--sans);letter-spacing:0;text-transform:none;border-radius:6px;padding:9px 14px;transition:none}.attendance-shell .button-primary{background:var(--ops-accent);border-color:var(--ops-accent);color:#fff}.attendance-shell .button-primary:hover:not(:disabled){background:#204a8c;transform:none}.attendance-shell .attendance-locked-bar{color:#26724f;font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;background:#edf7f1;border:0;border-radius:6px}.attendance-shell .attendance-edit-button{font:500 13px/1.4 var(--sans);color:#26724f;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #bad7c7;border-radius:5px;min-height:36px}.attendance-shell .attendance-success{color:#26724f;font:400 13px/1.5 var(--sans);background:#edf7f1;border:0;border-radius:6px}.attendance-shell .attendance-empty{text-align:center;justify-items:center;min-height:300px;padding:24px}.attendance-shell .attendance-empty-number{display:none}.attendance-shell .attendance-empty h2{margin:0;font-size:17px}.attendance-shell .attendance-empty p{margin:8px 0 0;font-size:13px}.attendance-shell .attendance-dialog{border:1px solid var(--ops-line);background:#fff;border-radius:10px;box-shadow:0 16px 48px #10182822}.attendance-shell .attendance-dialog h2{font-size:22px}.attendance-shell .attendance-export-button{font:500 13px/1.4 var(--sans);color:#596273;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #e4e7ec;border-radius:6px;min-height:38px}.attendance-shell .attendance-export-button:hover:not(:disabled){background:#f3f4f6;border-color:#d0d5dd}@media (width>=681px){.venue-workspace:has(>.venue-room-list){align-items:stretch}.venue-workspace>.venue-room-list{contain:size;min-height:0;max-height:none}}@media (width<=900px){.venue-workspace,.attendance-shell .attendance-workspace{grid-template-columns:290px minmax(0,1fr);gap:16px}.venue-detail,.attendance-shell .attendance-detail{padding:20px}.ops-header{padding:0 24px}}@media (width<=680px){.ops-header{grid-template-columns:1fr auto;gap:0 12px;padding:12px 16px 0}.ops-header nav{grid-area:2/1/auto/-1;justify-content:start;gap:4px;padding:8px 0}.ops-logout{grid-area:1/2;padding:10px}.ops-header nav a{min-height:42px;padding:10px 12px}.venue-main,.attendance-shell .attendance-main{padding:20px 16px 32px}.venue-heading{margin-bottom:16px}.venue-heading h1,.attendance-shell .attendance-heading h1{font-size:23px}.venue-heading p{font-size:13px}.venue-menus{gap:18px}.venue-menus button{min-height:44px;font-size:12px}.venue-summary{gap:16px;padding:14px 0;font-size:12px}.venue-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px}.venue-search-field{flex-basis:100%}.venue-field input,.venue-field select,.attendance-shell .attendance-search input,.attendance-shell .attendance-lead-control select{min-height:44px;font-size:16px}.venue-workspace,.attendance-shell .attendance-workspace{display:block}.venue-main:has(.detail-open) .venue-toolbar{display:none}.venue-room-list,.venue-team-list,.attendance-shell .attendance-team-list{max-height:none;overflow:visible}.venue-workspace:not(.detail-open) .venue-detail,.attendance-workspace:not(.detail-open) .attendance-detail,.venue-workspace.detail-open :is(.venue-room-list,.venue-team-list),.attendance-workspace.detail-open .attendance-team-directory{display:none}.venue-detail,.attendance-shell .attendance-detail{padding:20px 16px}.venue-back{min-height:44px;color:var(--ops-accent);font:500 13px/1.4 var(--sans);background:0 0;border:0;margin:-4px 0 16px;padding:0;display:inline-block}.venue-detail h2,.attendance-shell .attendance-detail-head h2{font-size:21px}.venue-tables th,.venue-tables td{padding:10px 6px}.venue-tables th:first-child{width:42px}.venue-tables th:last-child{width:74px}.venue-result strong{font-size:20px}.venue-search-empty{padding:48px 12px}.attendance-shell .attendance-workspace{margin-top:20px}.attendance-shell .attendance-member-selection{gap:10px}.attendance-shell .attendance-meal button,.venue-mode-toggle label{min-height:44px}.venue-assignment-form .ops-primary{width:100%}}@media (width<=380px){.venue-menus{gap:12px}.venue-menus button{font-size:11px}.venue-summary{gap:10px}}.ops-landing{color:#202938;background:#f7f8fa;min-height:100dvh;padding:32px max(24px,50vw - 520px)}.ops-landing header{border-bottom:1px solid #e4e7ec;padding-bottom:24px}.ops-landing .brand-mark{color:#fff;border-radius:5px}.ops-landing-heading{margin:64px 0 28px}.ops-landing h1{font:600 30px/1.3 var(--sans);letter-spacing:-.025em}.ops-landing-heading p{color:#667085;margin:8px 0 0}.ops-workspaces{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.ops-workspaces a{background:#fff;border:1px solid #e4e7ec;border-radius:8px;padding:24px;text-decoration:none;display:block}.ops-workspaces a:hover{border-color:#91afd8}.ops-workspaces a:focus-visible{outline-offset:3px;outline:2px solid #2858a5}.ops-workspaces strong{font:600 18px/1.4 var(--sans);justify-content:space-between;gap:12px;display:flex}.ops-workspaces strong span{color:#667085}.ops-workspaces p{color:#667085;margin:10px 0 0;font-size:14px}.auth-shell.attendance-auth-shell{background:#f7f8fa}.attendance-auth-shell .auth-panel{box-shadow:none;border:1px solid #e4e7ec;border-radius:10px;max-width:420px;padding:32px}.attendance-auth-shell .brand-mark{color:#fff;border-radius:5px}.attendance-auth-shell .auth-copy{margin:32px 0 24px}.attendance-auth-shell .auth-copy h1{font:600 26px/1.3 var(--sans);letter-spacing:-.025em}.attendance-auth-shell .auth-copy p{color:#667085;margin-top:8px;font-size:14px}.attendance-auth-shell .auth-form label{font:500 13px/1.4 var(--sans);text-transform:none;letter-spacing:0}.attendance-auth-shell .auth-form input{border:1px solid #d0d5dd;border-radius:6px;min-height:44px;font-size:16px}.attendance-auth-shell .button{min-height:44px;font:500 14px/1.4 var(--sans);text-transform:none;letter-spacing:0;border-radius:6px}.attendance-auth-shell .button-primary{color:#fff;background:#2858a5;border-color:#2858a5}.attendance-auth-shell .button-primary:hover:not(:disabled){background:#204a8c;transform:none}.attendance-auth-shell .attendance-back-link{font:400 13px/1.4 var(--sans);text-transform:none;margin-top:24px}.attendance-auth-shell :is(input,button,a):focus-visible{outline-offset:3px;outline:2px solid #2858a5}@media (width<=680px){.ops-landing{padding:24px 16px}.ops-landing-heading{margin:36px 0 24px}.ops-workspaces{grid-template-columns:1fr;gap:12px}.ops-workspaces a{padding:20px}.attendance-auth-shell .auth-panel{padding:24px}}:root{--base:#fafafa;--surface:#f0f0ec;--surface-alt:#e6e6e1;--text:#0a0a0a;--muted:#63635c;--line:#0a0a0a1f;--line-strong:#8f8f86;--signal:#ff1e1e;--signal-soft:#ff1e1e14;--green:#167044;--container:1380px;--mono:"IBM Plex Mono", monospace;--sans:"IBM Plex Sans", sans-serif}*{box-sizing:border-box}html{background:var(--base);min-width:320px}body{background:var(--base);color:var(--text);font-family:var(--sans);margin:0;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen{min-height:100vh;font:.8rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;place-items:center;display:grid}.auth-shell{background:var(--surface);place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid}.auth-panel{background:var(--base);border:1px solid var(--line-strong);border-top:5px solid var(--signal);width:min(100%,480px);padding:clamp(2rem,5vw,4rem);box-shadow:14px 14px #0a0a0a0f}.brand-lockup{font:600 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;display:flex}.brand-mark{background:var(--signal);width:2rem;height:2rem;font:600 .7rem/1 var(--mono);letter-spacing:-.06em;place-items:center;display:grid}.auth-copy{margin:4.5rem 0 2rem}.eyebrow{color:var(--muted);font:500 .68rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem}h1,h2{font-family:var(--mono);letter-spacing:-.045em;margin:0;font-weight:600;line-height:1.04}.auth-copy h1{white-space:nowrap;max-width:none;font-size:clamp(2rem,6vw,3rem)}.auth-copy p:last-child{max-width:34ch;color:var(--muted);margin:1rem 0 0}.auth-form{gap:1rem;display:grid}.auth-form label{font:600 .72rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:.42rem;display:grid}.auth-form input,.filters input,.filters select{border:1px solid var(--line-strong);width:100%;min-height:2.8rem;color:var(--text);background:#fff;border-radius:0;padding:.7rem .8rem}input:focus,select:focus,button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.button{border:1px solid var(--text);min-height:2.75rem;font:500 .72rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:0;padding:.65rem 1rem;transition:background .16s,color .16s,transform .16s}.button-primary{background:var(--signal);border-color:var(--signal);color:var(--text);justify-content:space-between;align-items:center;gap:1rem;display:inline-flex}.button-primary:hover:not(:disabled){background:#ff4545;transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.6}.button-quiet{background:0 0}.button-quiet:hover{background:var(--text);color:var(--base)}.button-danger{border-color:var(--signal);background:var(--signal);color:var(--text)}.button-danger:hover:not(:disabled){color:#fff;background:#d90000}.form-error{color:#b40000;font:500 .76rem/1.4 var(--mono);margin:0}.auth-footnote{color:var(--muted);font:.68rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:4rem 0 0}.dashboard-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{min-height:4.8rem;padding:1rem max(1.25rem, calc((100vw - var(--container)) / 2));border-top:4px solid var(--signal);border-bottom:1px solid var(--line-strong);background:#fafafaf5;justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar-meta{align-items:center;gap:1.2rem;display:flex}.signed-in{color:var(--muted);font:.7rem/1 var(--mono)}.dashboard-main{width:min(100%, var(--container));flex:1;margin:0 auto;padding:1.75rem 1.25rem 4rem}.dashboard-intro{padding-bottom:1rem}.dashboard-intro h1{font-size:clamp(1.65rem,3vw,2.35rem)}.section-switcher{border:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);display:grid}.section-card-shell{border-right:1px solid var(--line-strong);min-width:0;position:relative}.section-card-shell:last-child{border-right:0}.section-card{width:100%;height:100%;min-height:7rem;color:inherit;text-align:left;background:#fff;border:0;align-content:end;gap:.35rem;padding:1rem;text-decoration:none;transition:background .2s,color .2s;display:grid;position:relative;overflow:hidden}.section-card.has-action{padding-right:7rem}.section-card:after{content:"";background:var(--signal);transform-origin:0;height:4px;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.section-card:hover{background:var(--surface)}.section-card:focus-visible{z-index:2;outline:2px solid var(--signal);outline-offset:-3px;position:relative}.section-card.is-active{background:var(--text);color:var(--base)}.section-card.is-active:after{transform:scaleX(1)}.section-card strong{z-index:1;font:600 clamp(1rem, 2vw, 1.35rem)/1.15 var(--mono);position:relative}.section-card small{z-index:1;color:var(--muted);font:.67rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;position:relative}.section-card.is-active small{color:#bdbdb6}.section-number{color:var(--surface-alt);font:600 2.8rem/1 var(--mono);letter-spacing:-.08em;position:absolute;top:.65rem;right:.85rem}.section-card.is-active .section-number{color:#292929}.section-card-download{z-index:2;color:var(--base);font:700 .6rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:.45rem;padding:.25rem 0;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.section-card-download:hover:not(:disabled){color:var(--signal)}.section-card-download:disabled{cursor:not-allowed;opacity:.45}.mobile-section-picker{display:none}.metrics-grid{border:1px solid var(--line-strong);background:#fff;grid-template-columns:repeat(3,1fr);display:grid}.metric-card{border-right:1px solid var(--line);min-width:0;padding:1.4rem 1.25rem;position:relative}.metric-card:last-child{border-right:0}.metric-card span,.metric-card small{color:var(--muted);font:.65rem/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;display:block}.metric-card strong{font:600 clamp(1.75rem, 4vw, 3.2rem)/1 var(--mono);letter-spacing:-.07em;text-overflow:ellipsis;white-space:nowrap;margin:.7rem 0 .55rem;display:block;overflow:hidden}.metric-card:first-child strong{color:var(--signal)}.hackathon-metrics{grid-template-columns:repeat(4,1fr);margin-bottom:clamp(1.5rem,4vw,2.5rem)}.hackathon-metrics .metric-card:nth-child(2) strong{color:var(--green)}.metric-download{color:var(--text);font:700 .62rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:.5rem;margin-top:.8rem;padding:.25rem 0;transition:color .16s,opacity .16s;display:inline-flex}.metric-download span{color:inherit;font:inherit;display:inline}.metric-download:hover:not(:disabled){color:var(--green)}.metric-download:disabled{cursor:not-allowed;opacity:.4}.overview-page{gap:clamp(1.5rem,4vw,3rem);margin-top:1.5rem;display:grid}.overview-recent .data-heading{margin-bottom:.8rem}.overview-recent .data-heading a{border-bottom:1px solid var(--text);font:600 .7rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.recent-list{border-top:3px solid var(--text);margin:0;padding:0;list-style:none}.recent-list li{border-bottom:1px solid var(--line)}.recent-list a{width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .75rem;text-decoration:none;display:flex}.recent-list a:hover{background:var(--surface)}.recent-list a>span:first-child{gap:.2rem;min-width:0;display:grid}.recent-list strong{font:600 1rem/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.recent-list a>span:last-child{font:600 .65rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;flex:none}.data-section{margin-top:clamp(2.5rem,5vw,4.5rem)}.panel-directory{margin-top:1.5rem}.data-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem;display:flex}.data-heading h2{font-size:clamp(1.55rem,3vw,2.65rem)}.data-heading p:last-child{color:var(--muted);margin:.65rem 0 0;font-size:.9rem}.reset-button,.view-button,.close-button{color:var(--text);background:0 0;border:0}.reset-button{border-bottom:1px solid var(--text);font:500 .7rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:.25rem 0}.directory-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.export-button{border:1px solid var(--text);background:var(--text);color:#fff;min-height:2.9rem;font:700 .7rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;box-shadow:4px 4px 0 var(--accent);justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex}.export-button:hover:not(:disabled){box-shadow:6px 6px 0 var(--accent);transform:translate(-2px,-2px)}.export-button:active:not(:disabled){box-shadow:2px 2px 0 var(--accent);transform:translate(2px,2px)}.export-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}@media (width>=901px){.panel-directory-export{display:none}}.export-error{border-left:3px solid var(--accent);background:var(--accent-soft);color:#8c1111;margin:-.5rem 0 1rem;padding:.8rem 1rem;font-size:.85rem}.filters{background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(240px,1.5fr) minmax(0,3fr);gap:.65rem;margin-bottom:1rem;padding:1rem;display:grid}.filters label{gap:.4rem;min-width:0;display:grid}.filters label>span{color:var(--muted);font:600 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.filters input,.filters select{min-width:0;min-height:2.75rem;font-size:.82rem}.advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.mobile-filter-toggle{display:none}.table-scroll{border-top:3px solid var(--text);overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:1050px}th{background:var(--surface);color:var(--muted);font:600 .66rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.85rem .75rem}td{border-bottom:1px solid var(--line);vertical-align:top;padding:1rem .75rem;font-size:.86rem}tbody tr{transition:background .16s}tbody tr:hover{background:#f0f0ec9e}.cell-name{color:var(--text);font:600 1.08rem/1.25 var(--mono);letter-spacing:-.025em;display:block}.cell-secondary{width:fit-content;color:var(--muted);margin-top:.38rem;font-size:.78rem;display:block}.team-code{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase}td a{text-underline-offset:.2em;text-decoration-thickness:1px}.category-mark,.panel-mark,.track-mark{border:1px solid var(--line-strong);font:.65rem/1.25 var(--mono);padding:.28rem .48rem;display:inline-block}.panel-mark{background:var(--signal-soft);border-color:#ff1e1e73}.track-mark{background:#fff;margin:0 .3rem .3rem 0}.cell-date{color:var(--muted);white-space:nowrap;font:.72rem/1.4 var(--mono)}.action-heading{width:8.5rem}.cell-action{text-align:right}.view-button{font:500 .66rem/1.2 var(--mono);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid #0000;align-items:center;gap:.5rem;padding:.2rem 0;display:inline-flex}.view-button:hover{border-bottom-color:var(--signal);color:var(--signal)}.view-button span{transition:transform .18s}.view-button:hover span{transform:translate(4px)}.table-state{border-top:3px solid var(--text);border-bottom:1px solid var(--line-strong);color:var(--muted);font:.78rem/1.4 var(--mono);text-align:center;padding:4rem 1rem}.table-error{color:#b40000}.setup-section{border:1px solid var(--line-strong);background:linear-gradient(135deg, var(--surface), var(--base) 62%);min-height:25rem;padding:clamp(2rem,6vw,5rem);position:relative;overflow:hidden}.setup-section h2{max-width:12ch;font-size:clamp(2rem,5vw,4.5rem)}.setup-section>p:not(.eyebrow){max-width:48ch;color:var(--muted);margin:1rem 0 2rem}.setup-number{color:#0a0a0a0b;font:600 clamp(10rem, 30vw, 24rem)/1 var(--mono);letter-spacing:-.12em;position:absolute;bottom:-1.5rem;right:2rem}.setup-status{border:1px solid var(--signal);color:var(--signal);font:600 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.45rem .6rem;display:inline-block}.detail-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a0a61;justify-content:flex-end;animation:.2s both backdrop-in;display:flex;position:fixed;inset:0}.detail-drawer{border-left:1px solid var(--text);background:var(--base);width:min(100%,640px);height:100%;padding:clamp(1.5rem,4vw,3rem);animation:.32s cubic-bezier(.22,1,.36,1) both drawer-in;overflow-y:auto;box-shadow:-18px 0 50px #0a0a0a29}.detail-head{border-bottom:3px solid var(--text);border-left:5px solid var(--signal);justify-content:space-between;align-items:flex-start;gap:2rem;padding:.35rem 0 1.5rem 1rem;display:flex}.detail-head h2{overflow-wrap:anywhere;max-width:14ch;font-size:clamp(2.25rem,6vw,3.6rem);line-height:.95}.detail-panel-mark{background:var(--signal-soft);max-width:100%;font:600 .72rem/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;border:1px solid #ff1e1e8c;margin-top:1rem;padding:.38rem .55rem;display:inline-block;overflow:hidden}.close-button{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;font:1.8rem/1 var(--sans);place-items:center;display:grid}.close-button:hover{border-color:var(--signal);color:var(--signal)}.detail-grid{grid-template-columns:1fr 1fr;margin:0;display:grid}.detail-item{border-bottom:1px solid var(--line);min-width:0;padding:1.1rem 1rem 1.1rem 0}.detail-item:nth-child(2n){border-left:1px solid var(--line);padding-left:1rem}.detail-item-wide{grid-column:1/-1;border-left:0!important;padding-left:0!important}.detail-item dt{color:var(--muted);font:600 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem}.detail-item dd{overflow-wrap:anywhere;margin:0;font-size:.9rem}.detail-item-important dd{color:var(--text);font:600 1.08rem/1.35 var(--mono);letter-spacing:-.018em}.detail-item-important dd a{text-underline-offset:.22em;text-decoration-thickness:1.5px}.detail-item-important .panel-mark{padding:.42rem .6rem;font-size:.88rem;font-weight:600}.detail-actions{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.detail-actions-top{border-bottom:1px solid var(--line);justify-content:flex-end;margin:1rem 0;padding-bottom:1rem}.detail-manage-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.detail-save-success{border-left:4px solid var(--green);color:var(--green);font:600 .72rem/1.45 var(--mono);background:#16704414;margin:1rem 0 0;padding:.8rem 1rem}.registration-edit-form{gap:1.25rem;margin-top:1.25rem;display:grid}.edit-notice{border-left:4px solid var(--signal);background:var(--signal-soft);gap:.25rem;padding:.9rem 1rem;display:grid}.edit-notice strong{font:600 .78rem/1.25 var(--mono);text-transform:uppercase}.edit-notice span{color:var(--muted);font-size:.82rem}.edit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.edit-field{min-width:0;color:var(--muted);font:600 .62rem/1.25 var(--mono);letter-spacing:.07em;text-transform:uppercase;align-content:start;gap:.38rem;display:grid}.edit-field-wide{grid-column:1/-1}.edit-field input,.edit-field select,.edit-field textarea{border:1px solid var(--line-strong);resize:vertical;width:100%;min-width:0;min-height:2.8rem;color:var(--text);font:.86rem/1.35 var(--sans);letter-spacing:0;text-transform:none;background:#fff;border-radius:0;padding:.68rem .75rem}.edit-field input:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}.edit-field small{color:#a60000;font:600 .68rem/1.35 var(--sans);letter-spacing:0;text-transform:none}.edit-checkbox{border:1px solid var(--line);background:#fff;align-items:flex-start;gap:.65rem;padding:.75rem;font-size:.86rem;display:flex}.edit-checkbox input{width:1rem;height:1rem;accent-color:var(--signal);margin-top:.15rem}.edit-members{gap:1rem;display:grid}.edit-members-heading{border-bottom:3px solid var(--text);gap:.25rem;padding-bottom:.7rem;display:grid}.edit-members-heading span{font:600 1.05rem/1.2 var(--mono)}.edit-members-heading small{color:var(--muted)}.edit-member{border:1px solid var(--line-strong);margin:0;padding:1rem}.edit-member legend{color:var(--signal);font:600 .7rem/1.2 var(--mono);text-transform:uppercase;padding:0 .45rem}.edit-form-error{color:#8f0000;font:600 .72rem/1.45 var(--mono);background:#a6000012;border-left:4px solid #a60000;margin:0;padding:.75rem .9rem}.edit-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.team-members{margin-top:2rem}.team-members-head{border-bottom:3px solid var(--text);grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-bottom:.85rem;display:grid}.team-members-head .eyebrow{grid-column:1/-1}.team-members-head h3{font:600 clamp(1.4rem, 4vw, 2rem)/1 var(--mono);letter-spacing:-.04em;margin:0}.team-members-head>span{color:var(--signal);font:600 2rem/1 var(--mono)}.team-member-list{display:grid}.team-member-card{border-bottom:1px solid var(--line);padding:1rem 0}.team-member-card>header{grid-template-columns:2.3rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.team-member-card>header>span{color:var(--signal);font:600 .72rem/1.5 var(--mono)}.team-member-card>header div{gap:.2rem;display:grid}.team-member-card>header strong{font:600 1.05rem/1.25 var(--mono)}.team-member-card>header small{color:var(--green);font:600 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.team-member-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:.9rem 0 0 3.05rem;display:grid}.team-member-card dl>div:nth-child(3){grid-column:1/-1}.team-member-card dt{color:var(--muted);font:600 .58rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.team-member-card dd{overflow-wrap:anywhere;margin:.22rem 0 0;font-size:.82rem}@keyframes backdrop-in{0%{opacity:0}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.portal-shell{color:#fafafa;background:#101010;min-height:100vh;padding:1.5rem max(2rem,50vw - 620px);position:relative;overflow:hidden}.portal-grid{opacity:.16;pointer-events:none;background-image:linear-gradient(#ffffff24 1px,#0000 1px),linear-gradient(90deg,#ffffff24 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.portal-topbar,.portal-hero,.portal-choices,.portal-footer{z-index:1;position:relative}.portal-topbar{border-bottom:1px solid #454545;justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.portal-topbar .brand-lockup{color:#fafafa}.portal-status,.portal-footer{color:#a5a5a5;font:.66rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.portal-hero{max-width:760px;padding:clamp(5rem,13vh,10rem) 0 clamp(3rem,8vh,6rem)}.portal-hero .eyebrow{color:#ff6a6a}.portal-hero h1{font-size:clamp(3.1rem,8vw,7rem);line-height:.93}.portal-hero h1 span{color:#ff1e1e}.portal-lede{color:#bcbcb6;max-width:52ch;margin:1.6rem 0 0;font-size:1rem}.portal-choices{border:1px solid #555;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portal-choice{color:#fafafa;border-right:1px solid #555;align-content:end;gap:.65rem;min-height:18rem;padding:1.5rem;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:grid;position:relative}.portal-choice:last-child{border-right:0}.portal-choice:hover{color:#101010;background:#fafafa;transform:translateY(-4px)}.portal-choice-number{color:#444;font:600 4rem/1 var(--mono);letter-spacing:-.08em;position:absolute;top:1rem;right:1.25rem}.portal-choice-kicker{color:#a5a5a5;font:600 .68rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.portal-choice:hover .portal-choice-kicker{color:#63635c}.portal-choice strong{font:600 clamp(1.55rem, 3vw, 2.65rem)/1.05 var(--mono);letter-spacing:-.05em}.portal-choice strong span{color:#ff1e1e}.portal-choice-copy{color:#a5a5a5;max-width:42ch;font-size:.84rem}.portal-choice:hover .portal-choice-copy{color:#63635c}.portal-footer{justify-content:space-between;gap:1rem;padding-top:1rem;display:flex}.attendance-auth-shell{background:#e8e8e2}.attendance-back-link{color:var(--muted);font:.68rem/1.2 var(--mono);text-transform:uppercase;margin-top:2.5rem;text-decoration:none;display:inline-block}.attendance-back-link:hover{color:var(--signal)}.attendance-shell{background:#f7f7f3;min-height:100vh}.attendance-topbar{border-top:4px solid var(--signal);border-bottom:1px solid var(--line-strong);background:#fff;justify-content:space-between;align-items:center;min-height:4.8rem;padding:1rem max(1.5rem,50vw - 720px);display:flex}.attendance-topbar-actions{align-items:center;gap:1.4rem;display:flex}.attendance-export-button{border:1px solid var(--text);background:var(--text);color:#fff;min-height:2.4rem;font:700 .65rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.55rem;padding:.55rem .75rem;display:inline-flex}.attendance-export-button:hover:not(:disabled){background:var(--signal);border-color:var(--signal)}.attendance-export-button:disabled{cursor:wait;opacity:.55}.attendance-live{color:var(--signal);font:600 .65rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}.attendance-live i{background:var(--signal);border-radius:50%;width:.5rem;height:.5rem;margin-right:.45rem;display:inline-block}.attendance-main{width:min(100%,1440px);margin:0 auto;padding:2.5rem 1.5rem 4rem}.attendance-heading{border-bottom:3px solid var(--text);justify-content:space-between;align-items:end;gap:3rem;padding-bottom:2.2rem;display:flex}.attendance-heading h1{font-size:clamp(2.2rem,5vw,4.4rem)}.attendance-heading p:last-child{max-width:55ch;color:var(--muted);margin:.8rem 0 0}.attendance-date{color:var(--muted);font:600 .64rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;flex:0 0 220px;gap:.45rem;display:grid}.attendance-date input,.attendance-search input,.attendance-lead-control select{border:1px solid var(--line-strong);min-height:2.8rem;color:var(--text);background:#fff;border-radius:0;padding:.7rem .8rem}.attendance-workspace{border:1px solid var(--line-strong);background:#fff;grid-template-columns:minmax(400px,.9fr) minmax(560px,1.35fr);height:min(680px,100vh - 250px);min-height:520px;margin-top:2rem;display:grid}.attendance-team-directory{border-right:1px solid var(--line-strong);flex-direction:column;min-height:0;display:flex}.attendance-section-heading,.attendance-detail-head{justify-content:space-between;align-items:end;gap:1rem;padding:1.25rem 1.25rem 1rem;display:flex}.attendance-section-heading h2{font-size:1.55rem}.attendance-section-heading p{color:var(--muted);margin:.45rem 0 0;font-size:.78rem}.attendance-search{padding:0 1.25rem 1rem;display:block}.attendance-search input{width:100%}.attendance-team-list{border-top:3px solid var(--text);min-height:0;overflow-y:auto}.attendance-person-table{min-width:860px}.attendance-person-header,.attendance-person-row{grid-template-columns:minmax(190px, 1.4fr) minmax(150px, 1fr) minmax(150px, 1fr) 130px repeat(var(--attendance-date-count), minmax(100px, 1fr));align-items:center;gap:.75rem;display:grid}.attendance-person-header{z-index:1;background:var(--surface);min-height:2.75rem;color:var(--muted);font:600 .62rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:.75rem 1.25rem;position:sticky;top:0}.attendance-person-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:4.2rem;color:var(--text);text-align:left;background:#fff;padding:.7rem 1.25rem;font-size:.76rem}.attendance-person-row:hover{background:var(--surface)}.attendance-person-name{gap:.25rem;min-width:0;display:grid}.attendance-person-name strong{font:600 .84rem/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-person-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-person-code{font:.68rem/1.2 var(--mono)}.attendance-person-status{color:var(--muted);font:600 .62rem/1.2 var(--mono);text-transform:uppercase}.attendance-person-status.is-present{color:#a30f0f}.attendance-person-status.is-absent{color:#63635c}.attendance-team-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;grid-template-columns:5.7rem minmax(0,1fr) 3.5rem 1.2rem;align-items:center;gap:.8rem;padding:1rem 1.25rem;display:grid}.attendance-team-row:hover,.attendance-team-row.is-selected{background:var(--surface)}.attendance-team-row.is-selected{box-shadow:inset 4px 0 0 var(--signal)}.attendance-team-id{color:var(--muted);font:600 .65rem/1.2 var(--mono);letter-spacing:.04em}.attendance-team-main{gap:.3rem;min-width:0;display:grid}.attendance-team-main strong{font:600 .9rem/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-team-main small,.attendance-count small{color:var(--muted);font-size:.7rem}.attendance-count{color:var(--signal);font:600 .82rem/1 var(--mono);justify-items:end;display:grid}.attendance-count.is-complete{color:#a30f0f}.attendance-chevron{color:var(--muted);font-size:1.1rem}.attendance-detail{min-height:0;padding:1.25rem 1.5rem 1.5rem;overflow-y:auto}.attendance-detail-head{border-bottom:1px solid var(--line);align-items:start;padding:0 0 1.25rem}.attendance-detail-head h2{overflow-wrap:anywhere;font-size:clamp(1.8rem,4vw,3.3rem)}.attendance-detail-head p:last-child{color:var(--muted);margin:.6rem 0 0;font-size:.82rem}.attendance-status{color:#a30f0f;font:600 .65rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:#ff1e1e0f;border:1px solid #ff1e1e80;flex:none;padding:.45rem .6rem}.attendance-controls{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);align-items:end;gap:1rem;display:grid}.attendance-history-control{padding:1rem 0}.attendance-history-control label{color:var(--muted);font:600 .63rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:.4rem;display:grid}.attendance-history-control select{border:1px solid var(--line-strong);min-height:2.6rem;color:var(--text);background:#fff;border-radius:0;padding:.6rem .7rem}.attendance-lead-control{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) 1fr;align-items:end;gap:1rem;padding:1.25rem 0;display:grid}.attendance-controls .attendance-lead-control{border-bottom:0;padding:1rem 0;display:block}.attendance-lead-control label{color:var(--muted);font:600 .63rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:.4rem;display:grid}.attendance-lead-control p{color:var(--muted);margin:0;font-size:.76rem}.attendance-members{gap:.6rem;margin-top:1.25rem;display:grid}.attendance-member{border:1px solid var(--line);background:#fff;gap:.8rem;min-height:4.3rem;padding:.75rem 1rem;display:grid}.attendance-member-selection{cursor:pointer;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;display:grid}.attendance-member-selection:has(input:disabled){cursor:default}.attendance-member input:focus-visible+.attendance-check{outline:2px solid var(--text);outline-offset:3px}.attendance-meal{font:500 .72rem/1.4 var(--mono);flex-wrap:wrap;align-items:center;gap:.5rem;padding-left:2.3rem;display:flex}.attendance-meal>span{color:var(--muted);margin-right:.25rem}.attendance-meal button{border:1px solid var(--line-strong);min-height:2rem;color:var(--text);font:inherit;background:#fff;padding:.35rem .65rem}.attendance-meal button[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}.attendance-meal button:disabled{cursor:default}.attendance-meal small{color:var(--muted)}.attendance-member:hover{border-color:var(--line-strong)}.attendance-member:has(input:disabled){cursor:default;opacity:.62}.attendance-member:has(input:disabled):hover{border-color:var(--line)}.attendance-member input{opacity:0;pointer-events:none;position:absolute}.attendance-check{border:1px solid var(--line-strong);color:#0000;place-items:center;width:1.5rem;height:1.5rem;font-weight:700;display:grid}.attendance-member.is-present{background:#ff1e1e0f;border-color:#ff1e1e73}.attendance-member.is-present .attendance-check{border-color:var(--signal);background:var(--signal);color:#fff}.attendance-member-copy{gap:.25rem;display:grid}.attendance-member-copy strong{font:600 .92rem/1.2 var(--mono)}.attendance-member-copy small{color:var(--muted);font-size:.73rem}.attendance-member-state{color:var(--muted);font:600 .62rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}.attendance-member.is-present .attendance-member-state{color:#a30f0f}.attendance-save{width:100%;margin-top:1.25rem}.attendance-dialog-backdrop{z-index:40;background:#0a0a0a7a;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.attendance-dialog{border:1px solid var(--text);border-top:5px solid var(--signal);background:var(--base);width:min(100%,440px);padding:1.5rem;box-shadow:10px 10px #0a0a0a2e}.attendance-dialog h2{font-size:clamp(1.7rem,4vw,2.5rem)}.attendance-dialog>p:not(.eyebrow){color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.attendance-dialog-actions{justify-content:flex-end;gap:.65rem;margin-top:1.5rem;display:flex}.attendance-locked-bar{color:#a30f0f;min-height:3.1rem;font:700 .72rem/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#ff1e1e17;border:1px solid #ff1e1e61;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:.65rem 1rem;display:flex}.attendance-edit-button{color:#a30f0f;min-height:2rem;font:700 .66rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:1px solid #a30f0f;padding:.45rem .75rem}.attendance-edit-button:hover{color:#fff;background:#a30f0f}.attendance-error,.attendance-success{margin:1rem 0 0}.attendance-success{border-left:4px solid var(--signal);color:#a30f0f;font:600 .72rem/1.4 var(--mono);background:#ff1e1e14;padding:.75rem 1rem}.attendance-empty{align-content:center;justify-items:start;min-height:520px;padding:2rem;display:grid}.attendance-empty-number{color:var(--surface-alt);font:600 8rem/1 var(--mono);letter-spacing:-.1em}.attendance-empty h2{margin-top:-1rem;font-size:2rem}.attendance-empty p{max-width:34ch;color:var(--muted)}@media (width<=900px){.portal-shell{padding-inline:1.25rem}.portal-topbar,.portal-footer{flex-direction:column;align-items:flex-start;gap:1rem}.portal-choices{grid-template-columns:1fr}.portal-choice{border-bottom:1px solid #555;border-right:0}.portal-choice:last-child{border-bottom:0}.attendance-heading{flex-direction:column;align-items:flex-start;gap:1.5rem}.attendance-date{flex-basis:auto;width:260px}.attendance-workspace{grid-template-columns:1fr}.attendance-team-directory{border-right:0;border-bottom:1px solid var(--line-strong)}}@media (width<=1050px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:1fr}}@media (width<=760px){.topbar{min-height:4rem;padding-block:.7rem}.topbar-meta{margin-left:auto}.dashboard-main{padding-top:1.15rem}.dashboard-intro{padding-bottom:.8rem}.dashboard-intro h1{font-size:1.65rem}.filters{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:.75rem}.mobile-filter-toggle{border:1px solid var(--text);min-height:2.75rem;color:var(--text);font:600 .68rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#fff;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem .8rem;display:inline-flex}.mobile-filter-toggle[aria-expanded=true]{background:var(--text);color:var(--base)}.mobile-filter-toggle span{font-size:1rem;transition:transform .18s}.mobile-filter-toggle[aria-expanded=true] span{transform:rotate(180deg)}.advanced-filters{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:.15rem;display:none}.advanced-filters.is-open{display:grid}.section-switcher{display:none}.mobile-section-picker{z-index:10;border:1px solid var(--line-strong);border-top:4px solid var(--signal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fafafaf5;gap:.4rem;margin-bottom:1rem;padding:.7rem;display:grid;position:sticky;top:.65rem;box-shadow:0 8px 24px #0a0a0a1a}.mobile-section-picker>span{color:var(--muted);font:600 .61rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.mobile-section-control{border:1px solid var(--text);background:#fff;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;min-height:3rem;display:grid;position:relative}.mobile-section-control strong{border-right:1px solid var(--text);background:var(--text);height:100%;color:var(--base);font:600 .78rem/1 var(--mono);place-items:center;display:grid}.mobile-section-control select{appearance:none;width:100%;min-width:0;height:100%;color:var(--text);font:600 .78rem/1.25 var(--mono);background:0 0;border:0;border-radius:0;padding:.7rem 2.6rem .7rem .8rem}.mobile-section-control select:focus{outline:2px solid var(--signal);outline-offset:-2px}.mobile-section-control i{border-right:2px solid var(--text);border-bottom:2px solid var(--text);pointer-events:none;width:.55rem;height:.55rem;position:absolute;right:1rem;transform:rotate(45deg)translateY(-25%)}.data-heading{flex-direction:column;align-items:flex-start;gap:1rem}.directory-actions{justify-content:space-between;width:100%}.export-button{flex:1;max-width:13rem}.hackathon-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hackathon-metrics .metric-card:nth-child(2){border-right:0}.hackathon-metrics .metric-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.table-scroll{border-top:0;overflow:visible}table,tbody,tr,td{width:100%;display:block}table{min-width:0}thead{display:none}tbody{gap:.55rem;display:grid}tbody tr{border:1px solid var(--line-strong);border-left:4px solid var(--signal);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem .75rem;padding:.7rem .8rem;display:grid}td{border-bottom:1px solid var(--line);grid-template-columns:8.5rem minmax(0,1fr);gap:.75rem;padding:.75rem 0;display:grid}td:before{content:attr(data-label);color:var(--muted);font:600 .62rem/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase}td[data-label=Name]{border:0;min-width:0;padding:0;display:block}td[data-label=Name]:before{display:none}td[data-label=Name] .cell-name{color:var(--text);font:600 1rem/1.25 var(--mono);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}td[data-label=Name] .cell-secondary,td[data-label=Type],td[data-label=Organisation],td[data-label=Registered]{display:none}td[data-label=Panel],td[data-label=Challenge],td[data-label=Sector]{border:0;padding:0;display:block}td[data-label=Panel]:before,td[data-label=Challenge]:before,td[data-label=Sector]:before{display:none}td[data-label=Panel] .panel-mark,td[data-label=Challenge] .panel-mark,td[data-label=Sector] .panel-mark{text-overflow:ellipsis;white-space:nowrap;max-width:11.5rem;font-size:.6rem;overflow:hidden}.hackathon-table td[data-label=Category],.hackathon-table td[data-label=Solution],.hackathon-table td[data-label=Registered]{display:none}td[data-label=Actions]{border-top:1px solid var(--line);text-align:right;border-bottom:0;grid-column:1/-1;padding:.5rem 0 0;display:block}td[data-label=Actions]:before{display:none}td:last-child{border-bottom:0}.cell-action{text-align:left}}@media (width<=560px){.auth-panel{padding:2rem 1.25rem}.auth-copy{margin-top:3.5rem}.dashboard-main{padding-inline:.9rem}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border-right:1px solid var(--line);border-bottom:0;min-height:5.25rem;padding:.7rem .6rem}.metric-card:nth-child(2n){border-right:1px solid var(--line)}.metric-card:last-child{border-right:0;grid-column:auto}.hackathon-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hackathon-metrics .metric-card{min-height:5.5rem}.metric-card span{min-height:2.2em;font-size:.53rem;line-height:1.15}.metric-card strong{margin:.38rem 0 0;font-size:clamp(1.4rem,7vw,1.9rem)}.metric-card small{display:none}.metric-download{margin-top:.35rem;font-size:.5rem}.data-section{margin-top:1.5rem}.advanced-filters{grid-template-columns:1fr}td{grid-template-columns:7rem minmax(0,1fr)}.detail-drawer{padding:1rem}.detail-head{gap:.75rem;padding:.25rem 0 1.15rem .75rem}.detail-head h2{font-size:clamp(2.35rem,12vw,3.25rem)}.detail-panel-mark{margin-top:.75rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-item{padding:.8rem .65rem .8rem 0}.detail-item:nth-child(2n){padding:.8rem 0 .8rem .65rem}.detail-item-wide{grid-column:1/-1;padding:.8rem 0!important}.detail-item-important dd{font-size:.96rem}.detail-actions{flex-direction:column-reverse}.detail-actions .button{width:100%}.detail-manage-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.detail-manage-actions .button{min-width:0;padding-inline:.65rem;font-size:.68rem}.edit-form-grid{grid-template-columns:1fr}.edit-field-wide{grid-column:auto}.edit-form-actions{display:grid}.edit-form-actions .button{width:100%}.team-member-card dl{grid-template-columns:1fr;margin-left:0}.team-member-card dl>div:nth-child(3){grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.dashboard-shell{--text:#202938;--muted:#667085;--line:#e4e7ec;--line-strong:#d0d5dd;--surface:#f7f8fa;--base:#fff;--signal:#2858a5;--signal-soft:#f0f5fd;color:var(--text);background:#f7f8fa;font-size:14px}.dashboard-shell h1,.dashboard-shell h2{font-family:var(--sans);letter-spacing:-.025em;line-height:1.3}.dashboard-shell .dashboard-main{max-width:1380px;padding:32px 24px 48px}.dashboard-shell .dashboard-intro{padding-bottom:20px}.dashboard-shell .dashboard-intro h1{font-size:28px}.dashboard-shell .ops-header .brand-mark{background:#ff1e1e}.admin-tabs{border-bottom:1px solid var(--line);gap:28px;display:flex;overflow-x:auto}.admin-tabs a{color:var(--muted);border-bottom:2px solid #0000;flex-shrink:0;padding:12px 0;font-weight:500;text-decoration:none}.admin-tabs a:hover{color:var(--text)}.admin-tabs a[aria-current]{color:var(--signal);border-bottom-color:var(--signal)}.dashboard-shell :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--signal);outline-offset:3px}.dashboard-shell .overview-page{gap:28px;margin-top:24px}.dashboard-shell .metrics-grid{background:0 0;border:0;gap:16px}.dashboard-shell .hackathon-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}.dashboard-shell .metric-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px}.dashboard-shell .metric-card :is(span,small){min-height:0;font:400 13px/1.4 var(--sans);letter-spacing:0;text-transform:none}.dashboard-shell .metric-card strong{color:var(--text);font:600 30px/1.2 var(--sans);letter-spacing:-.03em;margin:10px 0 6px}.dashboard-shell .metric-download{font:500 13px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--signal);border:0}.dashboard-shell .data-heading{align-items:center;gap:16px;margin-bottom:18px}.dashboard-shell .data-heading h2{font-size:20px}.dashboard-shell .data-heading .eyebrow{display:none}.dashboard-shell .data-heading p:last-child{margin-top:4px;font-size:13px}.dashboard-shell .overview-recent{border:1px solid var(--line);background:#fff;border-radius:8px;padding:24px}.dashboard-shell .recent-list{border-top:1px solid var(--line)}.dashboard-shell .recent-list a{padding:16px 0}.dashboard-shell .recent-list strong{font:500 15px/1.4 var(--sans)}.dashboard-shell .recent-list a>span:last-child{font:400 12px/1.4 var(--sans);letter-spacing:0;text-transform:capitalize;color:var(--muted)}.dashboard-shell .recent-list li:last-child{border-bottom:0}.dashboard-shell .panel-directory{margin-top:24px}.dashboard-shell :is(.button,.export-button,.reset-button,.view-button,.mobile-filter-toggle){font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;box-shadow:none;border-radius:6px;transform:none}.dashboard-shell :is(.button,.export-button,.mobile-filter-toggle){min-height:40px;padding:9px 14px}.dashboard-shell .export-button{color:var(--text);border-color:var(--line-strong);background:#fff;display:inline-flex}.dashboard-shell .export-button:hover:not(:disabled),.dashboard-shell .button-quiet:hover{background:var(--surface);color:var(--text);box-shadow:none;transform:none}.dashboard-shell .reset-button{color:var(--muted);border:0}.dashboard-shell .button-primary{background:var(--signal);color:#fff;border-color:var(--signal)}.dashboard-shell .button-primary:hover:not(:disabled){background:#214a8d;transform:none}.dashboard-shell .button-danger{color:#b42318;background:#fff;border-color:#f0cdcd}.dashboard-shell .button-danger:hover:not(:disabled){color:#b42318;background:#fff1f0}.dashboard-shell .view-button{color:var(--signal);white-space:nowrap;min-height:36px}.dashboard-shell .filters{background:#fff;border-radius:8px;gap:12px;padding:16px}.dashboard-shell .filters label>span,.dashboard-shell .edit-field{font:500 12px/1.4 var(--sans);letter-spacing:0;text-transform:none}.dashboard-shell :is(.filters input,.filters select,.edit-field input,.edit-field select,.edit-field textarea){border-radius:6px;font-size:14px}.dashboard-shell .table-scroll{border:1px solid var(--line);background:#fff;border-radius:8px}.dashboard-shell th{font:500 12px/1.4 var(--sans);letter-spacing:0;text-transform:none;background:#f9fafb;padding:14px 16px}.dashboard-shell td{padding:16px}.dashboard-shell .cell-name{font:600 14px/1.4 var(--sans);letter-spacing:0}.dashboard-shell :is(.category-mark,.panel-mark,.track-mark){color:#475467;font:400 12px/1.4 var(--sans);background:#f2f4f7;border:0;border-radius:4px}.dashboard-shell .cell-date{font:400 12px/1.5 var(--sans)}.dashboard-shell .table-state{border:1px solid var(--line);font:400 14px/1.5 var(--sans);background:#fff;border-radius:8px;padding:48px 20px}.dashboard-shell .setup-section{border-color:var(--line);background:#fff;border-radius:8px;min-height:250px;margin-top:24px;padding:32px}.dashboard-shell .setup-section h2{max-width:none;font-size:24px}.dashboard-shell :is(.setup-number,.setup-section .eyebrow){display:none}.dashboard-shell .setup-status{color:var(--muted);font:400 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;background:#f2f4f7;border:0;border-radius:4px}.dashboard-shell .detail-drawer{border-color:var(--line);padding:28px;box-shadow:-8px 0 32px #10182815}.dashboard-shell .detail-head{border:0;border-bottom:1px solid var(--line);gap:16px;padding:0 0 20px}.dashboard-shell .detail-head h2{max-width:none;font-size:26px;line-height:1.3}.dashboard-shell .eyebrow{font:400 12px/1.5 var(--sans);text-transform:none;letter-spacing:0}.dashboard-shell .detail-panel-mark{white-space:normal;font:400 13px/1.5 var(--sans);color:var(--muted);background:0 0;border:0;margin-top:8px;padding:0}.dashboard-shell .close-button{border-color:var(--line);border-radius:6px;flex-shrink:0}.dashboard-shell .detail-item dt{font:400 12px/1.4 var(--sans);text-transform:none;letter-spacing:0}.dashboard-shell .detail-item dd{font:500 14px/1.5 var(--sans);letter-spacing:0}.dashboard-shell .detail-item:nth-child(2n){border-left:0}.dashboard-shell :is(.team-members-head,.edit-members-heading){border-bottom:1px solid var(--line)}.dashboard-shell .team-members-head .eyebrow{display:none}.dashboard-shell :is(.team-members-head h3,.edit-members-heading span){font:600 18px/1.4 var(--sans);letter-spacing:0}.dashboard-shell .team-members-head>span{font:500 14px/1.4 var(--sans);color:var(--muted)}.dashboard-shell .team-member-card :is(strong,dt,dd,small){font-family:var(--sans);text-transform:none;letter-spacing:0}.dashboard-shell .edit-notice{border:1px solid var(--line);background:var(--surface);border-radius:6px}.dashboard-shell .edit-notice strong{font:500 14px/1.4 var(--sans);text-transform:none}.dashboard-shell .edit-member{border-radius:8px;min-width:0}.dashboard-shell .edit-member legend{font:500 13px/1.4 var(--sans);text-transform:none}@media (width<=760px){.dashboard-shell .dashboard-main{padding:24px 16px 32px}.dashboard-shell .dashboard-intro h1{font-size:24px}.admin-tabs{gap:20px;font-size:13px}.dashboard-shell .metrics-grid{gap:10px}.dashboard-shell .hackathon-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell .metric-card{padding:14px}.dashboard-shell .metric-card strong{font-size:26px}.dashboard-shell .overview-recent{padding:16px}.dashboard-shell .table-scroll{background:0 0;border:0}.dashboard-shell tbody tr{border:1px solid var(--line);border-radius:8px;padding:16px}.dashboard-shell td{min-width:0;padding:8px 0}.dashboard-shell td[data-label=Name] .cell-name{font:600 15px/1.4 var(--sans);white-space:normal}.dashboard-shell td[data-label=Name] .cell-secondary{overflow-wrap:anywhere;font-size:11px;display:block}.dashboard-shell td[data-label=Members]{grid-column:1/-1;grid-template-columns:auto 1fr}.dashboard-shell td:before{font:400 12px/1.4 var(--sans);letter-spacing:0;text-transform:none}.dashboard-shell .detail-drawer{padding:20px}.dashboard-shell .filters input,.dashboard-shell .filters select,.dashboard-shell .edit-field input,.dashboard-shell .edit-field select,.dashboard-shell .edit-field textarea{font-size:16px}}@media (width<=420px){.dashboard-shell .overview-page .metrics-grid{grid-template-columns:1fr}.dashboard-shell .overview-page .metric-card{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.dashboard-shell .overview-page .metric-card strong{grid-area:1/2/3;margin:0}.dashboard-shell .overview-page .metric-card small{display:block}.dashboard-shell .detail-manage-actions{grid-template-columns:1fr}}.dashboard-shell .dashboard-main,.dashboard-shell .data-section{min-width:0}.dashboard-shell .table-scroll{position:relative;overflow-x:auto}@media (width<=760px){.dashboard-shell .table-scroll{overflow:visible}.dashboard-shell .data-heading{align-items:flex-start}}
