@font-face{font-family:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roll-call-font-0.woff)format("woff")}@font-face{font-family:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roll-call-font-1.woff)format("woff")}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/roll-call-font-2.woff)format("woff")}@font-face{font-family:Bitter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roll-call-font-3.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roll-call-font-4.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roll-call-font-5.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/roll-call-font-6.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roll-call-font-7.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111214;--panel:#191a1e;--border:#2c2e35;--muted:#9a9da7;--text:#ebedf2;--accent:#c6dc88;--green:#99d5af;--yellow:#ead290;--orange:#edb18d;--red:#ec9a9a;--purple:#bca9e5;--academic:#f47ab9;--blue:#9dbddf;--gray:#a9adb7}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}:is(button:focus-visible,a:focus-visible){outline:2px solid var(--accent)}button{cursor:pointer;border:1px solid var(--border);background:var(--skin-subtle);color:var(--text);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--skin-hover);border-color:var(--border)}button:disabled{opacity:.45;cursor:wait}.primary{color:var(--muted);background:var(--accent);border-color:var(--accent);font-weight:650}.primary:hover:not(:disabled){background:var(--skin-hover);border-color:var(--border)}.small{padding:6px 10px;font-size:12px}.danger{background:var(--skin-hover);color:var(--text);border-color:var(--border)}.danger:hover:not(:disabled){background:var(--skin-hover)}.icon{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:7px}.icon:hover:not(:disabled){background:var(--skin-hover);color:var(--text);border:0}.text-button{color:var(--muted);background:0 0;border:0;padding:0}.text-button:hover:not(:disabled){color:var(--text);background:0 0;border:0}.muted{color:var(--muted);font-size:12px}a{color:var(--accent)}h1,h2,h3,h4,p{margin:0}h2{letter-spacing:-.3px;font-size:17px;font-weight:600}h3{font-size:16px;font-weight:600}input,textarea,select{border:1px solid var(--border);background:var(--skin-input);width:100%;color:var(--text);border-radius:6px;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,textarea:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}textarea{resize:vertical;min-height:78px}label{font-size:13px;font-weight:500;display:block}label>input,label>textarea,label>select{margin-top:7px;display:block}svg{flex-shrink:0}.app-shell{min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;width:238px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--text);letter-spacing:-.5px;align-items:center;gap:11px;padding:0 8px;font-size:20px;font-weight:650;text-decoration:none;display:flex}.brand-icon{background:var(--skin-hover);width:38px;height:38px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.brand-sub{color:var(--muted);letter-spacing:.1px;margin-top:1px;font-size:10px;font-weight:400;display:block}.workspace-label,.recent-label{color:var(--muted);letter-spacing:1.5px;font-size:10px;font-weight:650}.workspace-label{margin:42px 10px 13px}.nav{width:100%;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:flex-start;gap:11px;margin-bottom:5px;padding:11px 12px;font-size:13px;display:flex}.nav-count{color:var(--muted);background:var(--skin-subtle);border-radius:5px;margin-left:auto;padding:0 6px;font-size:11px}.nav.active{background:var(--skin-subtle);color:var(--text);border-color:var(--border)}.nav.active .nav-count{background:var(--skin-hover);color:var(--text)}.recent-label{margin:32px 10px 12px}.recent{text-align:left;white-space:normal;width:100%;color:var(--muted);background:0 0;border:0;align-items:flex-start;gap:11px;padding:10px 12px;line-height:1.3;display:flex}.recent-dot{background:var(--skin-hover);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:6px}.recent small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.recent.selected{background:var(--skin-subtle);color:var(--text)}.side-empty{padding:2px 12px;font-size:11px;line-height:1.6}.side-bottom{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;margin-top:auto;padding:22px 10px 0;font-size:11px;display:flex}.side-bottom small{color:var(--muted);margin-top:1px;font-size:10px;display:block}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:67px;padding:0 38px;display:flex}.crumb{color:var(--muted);align-items:center;gap:11px;font-size:12px;display:flex}.crumb span{color:var(--muted)}.save-indicator{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.status-dot,.pulse{background:var(--skin-hover);border-radius:50%;width:6px;height:6px}.status-dot.bad{background:var(--red)}.failed{color:var(--red)}.pulse{animation:1s infinite pulse}main{max-width:1580px;margin:auto;padding:35px 38px 30px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--muted);letter-spacing:1.5px;margin-bottom:10px;font-size:10px;font-weight:600}.eyebrow span{color:var(--muted);margin:0 6px}.page-heading p{color:var(--muted);margin-top:9px;font-size:13px}.page-heading p>span{color:var(--muted);margin:0 7px}.overview{border:1px solid var(--border);background:var(--panel);border-radius:9px;gap:25px;margin-bottom:32px;padding:18px 22px;display:flex}.overview>div{color:var(--muted);flex:1;align-items:center;gap:12px;display:flex}.overview>div+div{border-left:1px solid var(--border);padding-left:24px}.overview span{color:var(--muted);font-size:12px}.overview strong{color:var(--text);margin-right:5px;font-size:19px;font-weight:600}.section-title{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.section-title .search-box{width:240px}.search-box{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:6px;align-items:center;gap:9px;min-width:220px;padding:0 11px;display:flex}.search-box input{background:0 0;border:0;outline:0;margin:0;padding:9px 0;font-size:12px}.search-box:focus-within{outline:1px solid var(--accent)}.search-box .icon{padding:3px}.events-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.event-card{text-align:left;white-space:normal;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:22px;display:block}.event-card:hover:not(:disabled){background:var(--skin-subtle);border-color:var(--border)}.event-card-top{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.calendar-badge{color:var(--muted);background:var(--skin-subtle);border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.tag{background:var(--skin-subtle);color:var(--muted);border-radius:4px;padding:3px 8px;font-size:10px}.tag.complete{background:var(--skin-subtle);color:var(--muted)}.event-card h3{color:var(--text);line-height:1.4}.event-card p{color:var(--muted);margin-top:6px;font-size:11px}.card-progress{background:var(--skin-hover);border-radius:9px;height:4px;margin:25px 0 11px;overflow:hidden}.card-progress>div{background:var(--skin-hover);height:100%}.card-footer{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.card-footer>span:last-child{color:var(--text);align-items:center;display:flex}.empty-state{text-align:center;min-height:340px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:30px;display:flex}.empty-state h2,.empty-state h3{color:var(--text)}.empty-state p{max-width:440px;font-size:13px;line-height:1.7}.empty-state .text-button{margin-top:3px;font-size:12px}.empty-state.bordered{border:1px dashed var(--border);background:var(--panel);border-radius:9px}.empty-icon{background:var(--skin-subtle);border:1px solid var(--border);color:var(--muted);border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:5px;display:grid}.back{margin-bottom:21px;font-size:11px}.heading-actions{gap:9px;display:flex}.edit-title{vertical-align:middle;margin-left:10px}.stats-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);text-align:left;white-space:normal;--tone:var(--gray);border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:15px 14px;display:flex}.present{--tone:var(--green)}.bit-late{--tone:var(--yellow)}.tardy{--tone:var(--orange)}.absent{--tone:var(--red)}.work{--tone:var(--purple)}.other{--tone:var(--blue)}.total{--tone:var(--accent)}.stat>span{color:var(--tone);white-space:nowrap;align-items:center;gap:5px;min-height:17px;font-size:10px;font-weight:500;display:flex}.stat i{background:var(--tone);border-radius:50%;flex-shrink:0;width:4px;height:4px}.stat strong{letter-spacing:-1px;color:var(--text);margin:9px 0 3px;font-size:29px;font-weight:550;line-height:1.3}.stat small{color:var(--muted);font-size:9px}.stat.chosen{border-color:var(--border)}.stat.total{background:var(--skin-subtle)}.progress-strip{align-items:center;gap:15px;margin:18px 0 23px;display:flex}.progress-track{background:var(--skin-subtle);border-radius:20px;flex:1;height:3px;overflow:hidden}.progress-track span{background:var(--skin-hover);height:100%;display:block}.progress-strip>span{color:var(--muted);font-size:10px}.event-note{border:1px solid var(--border);background:var(--panel);border-radius:7px;margin-bottom:24px}.event-note>summary{cursor:pointer;color:var(--text);align-items:center;gap:9px;padding:12px 15px;font-size:12px;list-style:none;display:flex}.event-note>summary>svg:last-child{margin-left:auto}.note-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:65%;overflow:hidden}.event-note .note-editor{padding:4px 16px 15px}.event-edit-history{color:var(--muted);padding:0 16px 15px;font-size:12px}.roll-call-panel,.roster-panel{border:1px solid var(--border);background:var(--panel);border-radius:9px;overflow:hidden}.roll-call-top{justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.roll-call-top h2>span{color:var(--muted);background:var(--skin-subtle);border-radius:5px;margin-left:9px;padding:3px 7px;font-size:10px;font-weight:400}.toolbar{justify-content:space-between;align-items:center;gap:18px;padding:4px 20px 14px;display:flex}.toolbar .search-box{flex:1;max-width:340px}.checkbox{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:400;display:flex}.checkbox input{width:13px;height:13px;accent-color:var(--accent);margin:0}.checkbox>span{background:var(--skin-subtle);color:var(--muted);border-radius:4px;padding:0 6px;font-size:10px}.filter-bar{flex-wrap:wrap;gap:5px;padding:0 20px 17px;display:flex}.filter{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 9px;font-size:10px}.filter.selected{background:var(--skin-subtle);border-color:var(--border);color:var(--text)}.table-label{background:var(--skin-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.8px;grid-template-columns:225px 1fr 67px;gap:12px;padding:11px 20px;font-size:9px;font-weight:600;display:grid}.table-label small{color:var(--muted);letter-spacing:0;margin-left:12px;font-weight:400}.attendance-row{border-bottom:1px solid var(--border);--tone:#697383}.attendance-row:last-child{border-bottom:0}.row-main{grid-template-columns:225px 1fr 67px;align-items:center;gap:12px;min-height:81px;padding:14px 20px;display:grid}.attendance-row:hover{background:var(--panel)}.person-cell{align-items:flex-start;gap:13px;min-width:0;display:flex}.person-number{color:var(--muted);min-width:16px;padding-top:3px;font-size:10px}.person-cell strong{color:var(--text);font-size:13px;font-weight:550;display:block}.pronunciation{color:var(--muted);margin-top:2px;font-size:10px;display:block}.row-time{color:var(--muted);margin-top:3px;font-size:9px;display:block}.marked .row-time{color:var(--muted)}.duplicate{color:var(--muted);background:var(--skin-subtle);vertical-align:middle;border-radius:3px;margin-left:7px;padding:0 5px;font-size:9px;font-weight:400;display:inline-block}.status-options{flex-wrap:wrap;gap:5px;display:flex}.status-button{background:var(--skin-subtle);border:1px solid var(--border);min-height:30px;color:var(--muted);border-radius:5px;flex-shrink:0;gap:4px;padding:5px 9px;font-size:10px}.status-button.checked{border-color:var(--tone);color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,var(--panel))}.status-button:hover:not(:disabled){border-color:var(--tone);color:var(--tone);background:var(--skin-subtle)}.row-tools{justify-content:flex-end;align-items:center;gap:1px;display:flex}.row-tools .icon{padding:6px;position:relative}.row-tools .remove-icon{color:var(--muted)}.row-tools .has-note{color:var(--text)}.has-note i{background:var(--skin-hover);border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:4px}.row-details{background:var(--skin-input);border-top:1px solid var(--border);grid-template-columns:minmax(210px,1fr) minmax(260px,1.25fr);gap:28px;padding:17px 24px 20px 48px;display:grid}.note-editor label{color:var(--muted);font-size:11px}.note-editor textarea{min-height:74px;font-size:12px}.note-save{justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.note-save>span{color:var(--muted);font-size:9px}.history h4{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:500;display:flex}.history h4>span{background:var(--skin-hover);border-radius:3px;padding:0 5px;font-size:9px}.history .muted{font-size:11px}.history-entry{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:3px 12px;padding:9px 0;font-size:10px;display:flex}.history-entry>span{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}.history-entry time{color:var(--muted);white-space:nowrap;font-size:9px}.history-entry b{color:var(--muted);font-weight:500}.arrow{color:var(--muted);margin:0 3px}.inline-confirm{color:var(--text);background:var(--skin-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:9px;padding:12px 20px;font-size:11px;display:flex}.inline-confirm>span{flex:1;min-width:200px}.panel-footer{border-top:1px solid var(--border);color:var(--muted);background:var(--panel);justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;font-size:9px;display:flex}.panel-footer .text-button{white-space:nowrap;font-size:10px}.empty-state.compact{gap:9px;min-height:200px}.empty-state.compact p{font-size:11px}.bottom-note{color:var(--muted);align-items:center;gap:7px;margin-top:18px;font-size:9px;display:flex}.bottom-note>span{margin-left:auto}.inline-add{background:var(--panel);border:1px solid var(--border);border-radius:7px;margin-bottom:20px;padding:17px 20px}.inline-add>div{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.inline-add p{margin-right:auto}.inline-add textarea{min-height:95px}.removed-section{margin-top:18px;font-size:11px}.removed-row{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.removed-row small{color:var(--muted);font-size:10px;display:block}.roster-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.roster-tabs button{background:var(--panel);color:var(--muted);border-color:var(--border);padding:11px 15px;font-size:12px}.roster-tabs button.selected{background:var(--skin-subtle);color:var(--text);border-color:var(--border)}.roster-tabs button>span{background:var(--skin-hover);color:var(--muted);border-radius:4px;padding:0 6px;font-size:10px}.roster-head{justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.roster-head h2{align-items:center;gap:6px;display:flex}.roster-head p{margin-top:4px;font-size:11px}.roster-table-head,.roster-person-main,.roster-edit{grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) 150px;align-items:center;gap:20px;padding:12px 20px;display:grid}.roster-table-head{color:var(--muted);letter-spacing:1px;background:var(--skin-subtle);border-block:1px solid var(--border);font-size:9px}.roster-person{border-bottom:1px solid var(--border)}.roster-person-main strong{font-size:13px;font-weight:500}.roster-person-main>div,.roster-edit>div{justify-content:flex-end;gap:7px;display:flex}.roster-person-main>.pronunciation{margin:0;font-size:12px}.roster-edit input{font-size:12px}.roster-panel>.inline-add{margin:0 20px 20px}.roster-panel .toolbar{margin-top:6px}.rename-form{align-items:center;gap:7px;display:flex}.rename-form input{font-size:16px}dialog{border:1px solid var(--border);width:calc(100% - 32px);max-width:560px;color:var(--text);background:var(--panel);box-shadow:0 24px 100px var(--skin-shadow);border-radius:13px;padding:25px}dialog::backdrop{background:var(--skin-input);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}dialog form>label{margin-top:17px}dialog .muted{margin-top:14px;font-size:11px;line-height:1.7}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;margin-top:25px;padding-top:18px;display:flex}.form-two{grid-template-columns:1fr 1.4fr;gap:15px;margin-top:17px;display:grid}.optional{color:var(--muted);margin-left:5px;font-size:10px}.modal-description{color:var(--muted);margin-bottom:18px;font-size:12px;line-height:1.8}.export-option{text-align:left;background:var(--skin-subtle);border-color:var(--border);white-space:normal;width:100%;color:var(--muted);justify-content:flex-start;margin-top:11px;padding:17px 13px;display:flex}.export-option>span{flex:1;margin-left:4px}.export-option strong{color:var(--text);font-size:13px;font-weight:550;display:block}.export-option small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.5;display:block}.error-banner{border:1px solid var(--border);background:var(--skin-subtle);color:var(--text);border-radius:7px;align-items:center;gap:15px;margin-bottom:24px;padding:12px 15px;font-size:12px;display:flex}.error-banner>span{flex:1}.error-banner a{color:var(--text)}.form-error{color:var(--text);margin-top:16px;font-size:12px}.toast{border:1px solid var(--border);background:var(--skin-subtle);color:var(--text);box-shadow:0 8px 30px var(--skin-shadow);z-index:100;border-radius:9px;align-items:center;gap:9px;padding:12px 20px;font-size:12px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.25}}@media (min-width:1600px){.row-main,.table-label{grid-template-columns:260px 1fr 67px}.status-button{padding:6px 12px;font-size:11px}.stat>span{font-size:11px}.stat small{font-size:10px}}@media (max-width:1350px){.sidebar{width:210px;padding:26px 14px}.main-shell{margin-left:210px}main{padding:30px 26px}.topbar{padding:0 26px}.stats-grid{gap:7px}.stat{padding:13px 9px}.stat>span{gap:4px;font-size:9px}.stat i{display:none}.row-main,.table-label{grid-template-columns:190px 1fr 64px;gap:8px;padding-inline:16px}.status-button{padding:5px 7px;font-size:9px}.status-options{gap:4px}.desktop-label{display:none}.person-number{font-size:9px}.person-cell{gap:9px}.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1050px){.sidebar{width:180px;padding:25px 10px}.brand{gap:8px;padding:0 4px;font-size:18px}.brand-sub{font-size:8px}.brand-icon{border-radius:8px;width:32px;height:32px}.main-shell{margin-left:180px}main{padding:25px 20px}.topbar{padding:0 20px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:12px 15px}.stat>span{font-size:11px}.stat strong{margin:6px 0;font-size:25px}.stat i{display:block}.row-main,.table-label{grid-template-columns:165px 1fr 62px}.row-details{grid-template-columns:1fr;padding:15px 20px}.status-options{max-width:400px}.status-button{padding:5px 8px;font-size:10px}.table-label small{display:none}.event-heading h1{font-size:27px}.event-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.phonetic-note{display:none}.roster-table-head,.roster-person-main,.roster-edit{grid-template-columns:1fr 1fr 120px;gap:10px}.overview{gap:15px;padding:16px 18px}.overview>div+div{padding-left:15px}.overview svg{display:none}.roster-head{flex-wrap:wrap}}@media (max-width:760px){.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:auto;padding:14px 17px;position:static}.brand{padding:0}.brand-sub,.workspace-label,.recent-label,.recent-list,.side-bottom{display:none}.sidebar nav{gap:5px;display:flex}.nav{gap:6px;width:auto;margin:0;padding:8px 10px;font-size:11px}.nav svg{width:15px}.nav-count{display:none}.main-shell{margin-left:0}.topbar{height:45px;padding:0 18px}.crumb,.save-indicator{font-size:10px}main{padding:25px 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}h1{font-size:28px}.page-heading p{font-size:11px}.page-heading .primary{padding:9px 10px;font-size:11px}.eyebrow{letter-spacing:1px;font-size:8px}.overview{gap:10px;padding:14px 12px}.overview span{font-size:9px}.overview strong{font-size:18px;display:block}.overview>div+div{padding-left:10px}.section-title .search-box{width:175px;min-width:0}.section-title h2{font-size:14px}.events-grid{grid-template-columns:1fr}.event-card{padding:18px}.event-heading{flex-wrap:wrap}.event-heading .heading-actions{justify-content:flex-start}.stats-grid{gap:6px}.stat{padding:10px}.stat>span{font-size:9px}.stat i{display:none}.stat strong{font-size:23px}.stat small{font-size:8px}.progress-strip{margin:14px 0 18px}.event-note{margin-bottom:18px}.roll-call-top{padding:14px 12px}.roll-call-top h2{font-size:14px}.roll-call-top h2>span{margin-left:5px;font-size:9px}.roll-call-top .small{padding:6px;font-size:9px}.toolbar{flex-wrap:wrap;gap:10px;padding:3px 12px 12px}.toolbar .search-box{min-width:150px;max-width:none}.checkbox{font-size:10px}.filter-bar{gap:4px;padding:0 12px 13px}.filter{padding:5px 7px;font-size:9px}.table-label{display:none}.row-main{grid-template-columns:1fr 62px;gap:10px;padding:13px 12px}.person-cell{grid-area:1/1}.row-tools{grid-area:1/2}.status-options{grid-area:2/1/auto/-1;gap:5px;max-width:none;padding-left:24px}.status-button{padding:6px 9px;font-size:10px}.person-cell strong{font-size:13px}.pronunciation{font-size:10px}.row-time{font-size:9px}.row-details{gap:18px;padding:16px}.inline-confirm{padding:12px;font-size:10px}.panel-footer{gap:10px;padding:12px;font-size:9px}.bottom-note{align-items:flex-start;font-size:8px}.bottom-note>span{display:none}.event-heading h1{font-size:26px}.note-preview{max-width:45%;font-size:10px}.roster-head{padding:17px 14px}.roster-head .heading-actions{justify-content:flex-start}.roster-tabs button{padding:9px 11px;font-size:11px}.roster-table-head,.roster-person-main,.roster-edit{grid-template-columns:1fr 1fr 94px;gap:8px;padding:12px}.roster-person-main strong{font-size:12px}.roster-person-main>.pronunciation{font-size:10px}.roster-edit{flex-wrap:wrap;display:flex}.roster-edit input{flex:1;min-width:125px}.roster-edit>div{width:100%}.roster-person-main>div{gap:3px}.roster-person-main .small{padding:5px 7px}.roster-person-main .duplicate{padding:0 3px;font-size:7px}.roster-panel .toolbar>.muted{font-size:9px}.form-two{grid-template-columns:1fr}.overview{margin-bottom:25px}dialog{padding:20px}.modal-head h2{font-size:19px}.export-option small{font-size:9px}.toast{white-space:nowrap;max-width:90%;bottom:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.csv-input{margin-top:18px}.csv-format{border:1px solid var(--border);background:var(--skin-subtle);border-radius:6px;margin-bottom:15px;padding:12px 14px}.csv-format strong{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:550;display:block}.csv-format code{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;display:block}.csv-format p{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.6}.csv-textarea{tab-size:2;white-space:pre;min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.7;overflow:auto}.csv-help{color:var(--muted);margin-top:13px;font-size:10px;line-height:1.6}.csv-preview{border:1px solid var(--border);background:var(--panel);border-radius:6px;margin-top:13px;overflow:hidden}.csv-preview-title{color:var(--muted);align-items:center;gap:7px;padding:9px 12px;font-size:11px;display:flex}.csv-preview-title>span{color:var(--muted);margin-left:auto;font-size:9px}.csv-preview-table{border-top:1px solid var(--border)}.csv-preview-row{border-bottom:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;grid-template-columns:1fr 1fr;gap:15px;padding:8px 12px;font-size:11px;display:grid}.csv-preview-row>span:last-child{color:var(--muted);font-size:10px}.csv-preview-row small{color:var(--muted);font-size:9px;display:block}.csv-preview-head{letter-spacing:.3px;background:var(--skin-subtle);font-size:9px}.csv-preview-head>span:last-child{font-size:9px}.csv-more{color:var(--muted);padding:7px 12px;font-size:10px}.roster-csv-editor{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:0 20px 22px;padding:18px}.csv-editor-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.csv-editor-head h3{font-size:15px}.csv-editor-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;margin-top:18px;padding-top:15px;display:flex}.csv-replace-info{border-left:2px solid var(--border);color:var(--muted);margin-top:17px;padding:0 12px}.csv-replace-info strong{font-size:11px;font-weight:500}.csv-replace-info p{margin-top:3px;font-size:10px;line-height:1.6}.roster-fields-edit{background:var(--skin-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:17px 20px;display:grid}.roster-fields-edit label{color:var(--muted);font-size:10px}.roster-fields-edit input{font-size:12px}.roster-fields-actions{justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.preferred-name{color:var(--muted);margin-top:3px;font-size:10px;display:block}.roster-pronunciations{color:var(--muted);flex-wrap:wrap;gap:5px 9px;font-size:11px;display:flex}.roster-pronunciations>span+span{border-left:1px solid var(--border);padding-left:9px}.given-name{color:var(--muted);margin-top:2px;font-size:9px;display:block}.roster-person-main>div:first-child{display:block}.roster-person-main>.roster-pronunciations{justify-content:flex-start}.roster-person-main strong{overflow-wrap:anywhere}dialog:has(.csv-input){max-width:690px;max-height:90vh;overflow:auto}@media (max-width:760px){.roster-csv-editor{margin:0 12px 18px;padding:13px}.roster-fields-edit{gap:12px;padding:15px 12px}.csv-format code,.csv-preview-row{font-size:10px}.csv-textarea{font-size:11px}.csv-editor-head h3{font-size:13px}.roster-pronunciations{font-size:10px}.csv-preview-title{padding:9px;font-size:10px}.csv-preview-title>span{font-size:8px}.roster-table-head{letter-spacing:.3px;font-size:8px}.roster-head .heading-actions{gap:6px}.roster-head .heading-actions button{padding:8px 10px;font-size:10px}.roster-person-main>div:first-child,.roster-person-main>.roster-pronunciations{display:block}.roster-pronunciations>span+span{border-left:0;margin-top:2px;padding:0;display:block}.roster-fields-actions{grid-column:1/-1}}.topbar-private{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.save-dock{border:1px solid var(--border);background:var(--skin-subtle);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted);z-index:90;box-shadow:0 4px 18px var(--skin-shadow);pointer-events:none;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:10px;display:flex;position:fixed;bottom:18px;right:20px}.save-dock.save-error{border-color:var(--border);background:var(--skin-subtle);color:var(--text);pointer-events:auto;flex-wrap:wrap;max-width:540px}.save-dock strong{font-size:11px;font-weight:550;display:block}.save-dock small{white-space:normal;max-width:280px;font-size:9px;line-height:1.5;display:block}.save-dock .small{padding:5px 8px;font-size:10px}.bottom-note{padding-bottom:45px}.filter-hint{color:var(--muted);align-self:center;margin-left:auto;padding-left:10px;font-size:9px}.filter{gap:4px}.person-cell strong{overflow-wrap:anywhere;font-size:13px;line-height:1.5}.person-cell .pronunciation{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.6}.status-options{gap:9px 8px;max-width:none}.status-button{min-height:34px;padding:7px 11px;font-size:10px}.status-button.excused-cycle{min-width:89px}.roll-call-actions{align-items:center;gap:7px;display:flex}.icon-history{min-height:31px;font-size:10px}.mark-dropdown{position:relative}.mark-dropdown>summary{border:1px solid var(--border);background:var(--skin-subtle);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:31px;padding:7px 10px;font-size:11px;list-style:none;display:flex}.mark-dropdown>summary::-webkit-details-marker{display:none}.mark-dropdown>summary[aria-disabled=true]{opacity:.4;cursor:default}.mark-dropdown[open]>summary{border-color:var(--border);background:var(--skin-subtle);color:var(--text)}.mark-menu{z-index:20;background:var(--skin-subtle);border:1px solid var(--border);width:205px;box-shadow:0 12px 40px var(--skin-shadow);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 7px);right:0}.mark-menu>div{color:var(--muted);padding:7px 8px 8px;font-size:9px}.mark-menu>button{width:100%;color:var(--tone);background:0 0;border:0;justify-content:flex-start;padding:9px;font-size:11px}.mark-menu>button:hover:not(:disabled){background:var(--skin-hover);border:0}.mark-menu i{background:var(--tone);border-radius:50%;width:5px;height:5px;margin-right:3px}.batch-confirm{background:var(--skin-subtle);border-color:var(--border);color:var(--text)}.roster-person-main>div:first-child strong{line-height:1.55}.toast{bottom:70px}@media (max-width:1350px){.row-main,.table-label{grid-template-columns:minmax(235px,1.1fr) minmax(330px,1.6fr) 62px;gap:12px}.status-button{padding:7px 9px;font-size:10px}.status-options{gap:9px 7px}}@media (max-width:1050px){.row-main,.table-label{grid-template-columns:minmax(220px,1.1fr) minmax(250px,1.5fr) 62px;gap:10px}.status-button{padding:7px 10px;font-size:10px}.roll-call-top{gap:10px}.filter-hint,.icon-history span{display:none}.icon-history{padding:7px}}@media (max-width:760px){.row-main{grid-template-columns:1fr 62px;gap:11px}.person-cell{grid-area:1/1}.row-tools{grid-area:1/2}.status-options{grid-area:2/1/auto/-1;gap:9px 8px;padding-left:24px}.status-button{min-height:33px;padding:7px 11px;font-size:10px}.status-button.excused-cycle{min-width:90px}.mark-dropdown>summary{gap:5px;padding:6px 8px;font-size:9px}.roll-call-actions{gap:5px}.icon-history{min-height:30px;padding:6px}.roll-call-top h2>span{display:none}.save-dock{max-width:calc(100% - 24px);padding:8px 10px;font-size:9px;bottom:12px;right:12px}.save-dock.save-error{max-width:calc(100% - 24px)}.save-dock small{max-width:220px}.person-cell strong{font-size:13px}.filter-bar{gap:6px}.filter{padding:6px 8px}.table-label{display:none}}.status-options .status-button{flex:0 0 72px;width:72px;padding:7px 8px}.recent-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.recent-add{border:1px solid var(--border);background:var(--skin-subtle);width:24px;height:24px;color:var(--muted);border-radius:5px;place-items:center;padding:3px;display:grid}.recent-add:hover:not(:disabled){background:var(--skin-hover);border-color:var(--border);color:var(--text)}.row-main,.table-label{grid-template-columns:minmax(240px,1fr) minmax(330px,1.8fr) 122px 67px;gap:13px}.timestamp-button{color:var(--muted);white-space:normal;text-align:center;background:0 0;border:0;justify-content:center;padding:6px 3px;font-size:9px;line-height:1.6}.timestamp-button time{white-space:normal}.timestamp-button:hover:not(:disabled){background:var(--skin-subtle);color:var(--text);border:0}.history{max-height:none;overflow:visible}.history-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-right:8px;position:relative;overflow:hidden auto}.history-scroll .history-entry{font-size:10px}.history-scroll:focus-visible{outline:1px solid var(--border);outline-offset:3px;border-radius:3px}.report-builder{min-width:0}.report-presets{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:17px;display:flex}.report-presets>span{color:var(--muted);margin-right:3px;font-size:10px}.report-presets .small{padding:6px 8px;font-size:10px}.report-layout{grid-template-columns:270px minmax(0,1fr);gap:20px;height:min(57vh,570px);display:grid}.report-options{scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-right:10px;overflow-y:auto}.report-options details{border:1px solid var(--border);background:var(--panel);border-radius:7px;margin-bottom:10px;padding:0 12px 12px}.report-options details:not([open]){padding-bottom:0}.report-options summary{color:var(--text);cursor:pointer;padding:10px 0;font-size:11px;font-weight:550}.report-options details>label:not(.report-check){color:var(--muted);margin-top:11px;font-size:10px}.report-options input,.report-options select,.report-options textarea{padding:7px 9px;font-size:11px}.report-options .report-check{color:var(--text);align-items:center;gap:8px;margin:8px 0;font-size:10px;font-weight:400;line-height:1.5;display:flex}.report-check input{accent-color:#c6dc88;flex-shrink:0;width:13px;height:13px;margin:0}.report-status-actions{gap:13px;margin-bottom:9px;display:flex}.report-status-actions button{color:var(--muted);font-size:9px}.report-preview{border:1px solid var(--border);background:var(--panel);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.report-preview-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.report-preview-heading span{color:var(--muted);font-size:9px}.report-preview textarea{resize:none;background:var(--panel);width:100%;min-height:0;color:var(--text);white-space:pre-wrap;border:0;border-radius:0;outline:0;flex:1;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.8;overflow:auto}.report-preview-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;font-size:9px;display:flex}.report-preview-footer button{font-size:9px}.report-footer{border-top:1px solid var(--border);align-items:center;gap:9px;margin-top:18px;padding-top:15px;display:flex}.report-footer>span{color:var(--muted);flex:1;font-size:10px;line-height:1.6}.report-footer button{font-size:11px}dialog:has(.report-builder){width:calc(100% - 40px);max-width:1030px;max-height:92vh;overflow:auto}main{padding-bottom:65px}@media (max-width:1350px){.row-main,.table-label{grid-template-columns:minmax(210px,1fr) minmax(300px,1.7fr) 112px 62px;gap:10px}}@media (max-width:1050px){.row-main,.table-label{grid-template-columns:minmax(160px,1fr) minmax(240px,1.5fr) 94px 60px;gap:9px}.timestamp-button{font-size:8px}.report-layout{grid-template-columns:235px minmax(0,1fr);gap:14px}.report-preview-heading{padding:11px}.report-preview-heading h3{font-size:12px}}@media (max-width:760px){.recent-label{display:none}.row-main{grid-template-columns:1fr 62px;gap:10px}.person-cell{grid-area:1/1/auto/-1}.status-options{grid-area:2/1/auto/-1}.timestamp-button{text-align:right;grid-area:3/1;justify-self:end;padding:3px 5px;font-size:9px}.row-tools{grid-area:3/2}.table-label{display:none}.report-layout{grid-template-columns:1fr;gap:15px;height:auto}.report-options{max-height:36vh;padding-right:6px}.report-preview{height:42vh}.report-footer{flex-wrap:wrap;justify-content:flex-end}.report-footer>span{flex-basis:100%;font-size:9px}.report-presets{gap:6px}.report-presets>span{font-size:9px}.report-presets .small{padding:5px 7px;font-size:9px}dialog:has(.report-builder){width:calc(100% - 20px);max-height:94vh;padding:17px}.report-options details{margin-bottom:8px}.report-preview textarea{padding:12px;font-size:10px}.report-preview-footer,.report-preview-heading span{font-size:8px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sortable-list{position:relative}.sortable-item{background:var(--panel);will-change:auto;position:relative}.sortable-list.sorting .sortable-item{will-change:transform}.sortable-list.sorting .sortable-item:not(.dragging){transition:transform .17s cubic-bezier(.2,.8,.2,1)}.sortable-item.dragging{background:var(--skin-subtle);box-shadow:0 7px 28px var(--skin-shadow),0 0 0 1px var(--skin-shadow);cursor:grabbing;border-radius:5px;transition:none}.drag-handle{width:22px;height:24px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:6;background:0 0;border:0;padding:2px;position:absolute;top:18px;left:10px}.drag-handle:hover:not(:disabled){background:var(--skin-hover);color:var(--text);border:0}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{opacity:.2;cursor:default}.drag-handle:focus-visible{outline:1px solid var(--border)}.sortable-item .attendance-row{background:0 0}.people-list .sortable-item{border-bottom:1px solid var(--border)}.people-list .sortable-item:last-child,.people-list .attendance-row{border-bottom:0}.row-tools{justify-content:center}.inline-person-note{resize:none;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border:1px solid var(--border);background:var(--panel);width:100%;height:46px;min-height:46px;max-height:46px;color:var(--text);border-radius:5px;padding:6px 8px;font-size:10px;line-height:1.55;overflow:auto}.inline-person-note::placeholder{color:var(--muted)}.inline-person-note:focus{outline:1px solid var(--border);background:var(--skin-subtle)}.row-details{grid-template-columns:1fr;padding:14px 24px 18px 44px}.row-details .history{width:100%;max-width:760px;margin-left:auto}.sortable-item .roster-person-main,.sortable-item .roster-fields-edit{padding-left:44px}.sortable-item .roster-person{border-bottom:1px solid var(--border)}.sortable-item.dragging .roster-person{background:0 0}@media (max-width:1350px){.row-main,.table-label{grid-template-columns:minmax(150px,1fr) 115px minmax(265px,1.6fr) 90px 26px;gap:8px;padding-left:43px;padding-right:14px}.person-cell{gap:7px}.person-cell .person-number{min-width:13px;font-size:8px}.inline-person-note{font-size:9px}}@media (max-width:1050px){.row-main,.table-label{grid-template-columns:minmax(150px,1fr) 140px 90px 26px;gap:10px}.person-cell{grid-area:1/1}.inline-person-note{grid-area:1/2}.timestamp-button{grid-area:1/3}.row-tools{grid-area:1/4}.status-options{grid-area:2/1/auto/-1;max-width:none;padding-left:20px}.table-label{grid-template-columns:1fr 140px 90px 26px}.table-label>span:nth-child(3){display:none}.table-label>span:nth-child(4){grid-column:3}.table-label>span:nth-child(5){grid-column:4}.inline-person-note{font-size:10px}}@media (max-width:760px){.row-main{grid-template-columns:1fr 28px;gap:10px;padding-left:40px;padding-right:12px}.person-cell{grid-area:1/1/auto/-1}.inline-person-note{grid-area:2/1/auto/-1;width:calc(100% - 20px);max-width:220px;margin-left:20px}.status-options{grid-area:3/1/auto/-1;gap:8px;padding-left:20px}.timestamp-button{grid-area:4/1;justify-self:end}.row-tools{grid-area:4/2}.table-label{display:none}.row-details{padding:13px 15px 17px 40px}.drag-handle{top:16px;left:9px}.sortable-item .roster-person-main,.sortable-item .roster-fields-edit{padding-left:37px}}@media (prefers-reduced-motion:reduce){.sortable-list.sorting .sortable-item{transition:none!important}}:is(.roll-call-panel:has(.sortable-list.sorting),.roster-panel:has(.sortable-list.sorting)){overflow:visible}.recent-search{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:5px;align-items:center;gap:7px;margin:2px 10px 10px;padding:0 8px;display:flex}.recent-search input{background:0 0;border:0;outline:none;min-width:0;margin:0;padding:7px 0;font-size:10px}.recent-search:focus-within{outline:1px solid var(--border)}.recent-list{scrollbar-width:thin;min-height:0;max-height:calc(100vh - 365px);overflow-y:auto}.stat{height:107px}.stat.breakdown{padding-top:8px;padding-bottom:8px}.stat.breakdown strong{margin:1px 0 0;line-height:1.08}.stat-breakdown{width:100%;margin-top:4px}.stat .stat-breakdown small{white-space:nowrap;color:var(--muted);justify-content:space-between;align-items:center;gap:3px;font-size:7.8px;line-height:1.35;display:flex}.stat-breakdown b{color:var(--text);font-weight:500}.stat-breakdown small:first-child b{color:var(--muted)}.status-button.excused-cycle:disabled{cursor:not-allowed}@media (max-width:1050px){.stat .stat-breakdown small{font-size:8px}.stat.breakdown strong{font-size:25px}}@media (max-width:760px){.recent-search{display:none}.stat{height:107px}.stat.breakdown strong{margin:2px 0 1px;font-size:23px}.stat .stat-breakdown small{font-size:7.5px}}@media (max-width:1050px){.stat{height:101px}.stat.breakdown{padding-top:6px;padding-bottom:6px}}@media (max-width:760px){.stat{height:93px}.stat.breakdown{padding-top:4px;padding-bottom:4px}}.row-main,.table-label{grid-template-columns:150px minmax(160px,1fr) minmax(0,340px) 74px 24px;gap:7px;padding-left:42px;padding-right:12px}.person-cell,.inline-person-note,.status-options,.timestamp-button,.row-tools{grid-area:auto;min-width:0}.status-options{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-wrap:nowrap;gap:6px;max-width:100%;padding-left:0;display:flex;overflow-x:auto}.status-options .status-button{flex:0 0 56px;width:56px;min-width:56px;padding:7px 4px;font-size:10px}.status-options .status-button.excused-cycle{flex-basis:92px;width:92px;min-width:92px}.inline-person-note{width:100%;max-width:none;margin-left:0;font-size:10px}.table-label>span:nth-child(3){display:block}.table-label>span:nth-child(4),.table-label>span:nth-child(5){grid-column:auto}.table-label small{display:none}@media (min-width:1351px){.row-main,.table-label{grid-template-columns:190px minmax(180px,1fr) minmax(0,340px) 90px 28px;gap:10px;padding-left:44px;padding-right:16px}}@media (max-width:950px){.row-main,.table-label{grid-template-columns:minmax(130px,1fr) minmax(160px,1.4fr) 74px 24px}.person-cell{grid-area:1/1}.inline-person-note{grid-area:1/2}.timestamp-button{grid-area:1/3}.row-tools{grid-area:1/4}.status-options{grid-area:2/1/auto/-1;padding-left:20px}.table-label>span:nth-child(3){display:none}.table-label>span:nth-child(4){grid-column:3}.table-label>span:nth-child(5){grid-column:4}}@media (max-width:760px){.row-main{grid-template-columns:1fr 28px;gap:10px;padding-left:40px;padding-right:12px}.person-cell{grid-area:1/1/auto/-1}.inline-person-note{grid-area:2/1/auto/-1;width:calc(100% - 20px);margin-left:20px}.status-options{grid-area:3/1/auto/-1;gap:6px;padding-left:20px}.timestamp-button{grid-area:4/1}.row-tools{grid-area:4/2}.table-label{display:none}}.person-cell strong{line-height:1.25}.person-cell .pronunciation{margin-top:1px;line-height:1.25}.row-main{--attendance-control-height:32px}.inline-person-note{height:var(--attendance-control-height);min-height:var(--attendance-control-height);max-height:var(--attendance-control-height);padding:5px 8px;line-height:20px}.status-options .status-button{height:var(--attendance-control-height);min-height:var(--attendance-control-height);line-height:16px}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.stat.breakdown strong{margin:1px 0 0;font-size:27px;line-height:1.05}.stat.breakdown>small{font-size:9px;line-height:1.3}.stat-breakdown{margin-top:3px}.stat .stat-breakdown small{color:var(--muted);gap:5px;font-size:10.5px;line-height:1.25}.stat-breakdown b{color:var(--text)}@media (max-width:1050px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat.breakdown strong{font-size:25px}}@media (max-width:760px){.stat.breakdown strong{font-size:23px}.stat .stat-breakdown small{font-size:10px}}.stat.breakdown.unexcused-summary{padding-top:5px;padding-bottom:5px}.stat.unexcused-summary strong{margin:0;font-size:25px;line-height:1}.stat.unexcused-summary .stat-breakdown{margin-top:2px}.stat.unexcused-summary .stat-breakdown small{line-height:1.15}@media (max-width:760px){.stat.unexcused-summary strong{font-size:21px}.stat.breakdown.unexcused-summary{padding-top:3px;padding-bottom:3px}}.academic{--tone:var(--academic)}.stat.breakdown.excuse-summary{padding-top:5px;padding-bottom:5px}.stat.excuse-summary strong{margin:0;font-size:25px;line-height:1}.stat.excuse-summary .stat-breakdown{margin-top:2px}.stat.excuse-summary .stat-breakdown small{line-height:1.15}@media (max-width:760px){.stat.excuse-summary strong{font-size:21px}.stat.breakdown.excuse-summary{padding-top:3px;padding-bottom:3px}}.recent-title{align-items:center;gap:7px;min-width:0;display:flex}.event-title-unsaved{color:var(--orange);animation:1.5s ease-in-out infinite unsaved-title-pulse}@keyframes unsaved-title-pulse{0%,to{color:var(--orange)}50%{color:inherit}}@media (prefers-reduced-motion:reduce){.event-title-unsaved{animation:none}}.workspace-label,.recent-label{text-transform:uppercase}.choice-removal-body{max-width:520px;padding:0 22px 22px}.choice-removal-body p{line-height:1.5}.default-sort-field{gap:6px;margin:12px 0;display:grid}.default-sort-controls{align-items:stretch;gap:8px;max-width:420px;display:flex}.default-sort-controls>.app-select-trigger{flex:1;min-width:0;height:38px;min-height:38px}.default-sort-controls>.sort-direction{justify-content:center;align-items:center;gap:6px;min-width:86px;height:38px;padding:0 10px;display:inline-flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe5;--panel:#fffdf8;--border:#d7cdbd;--text:#20344b;--muted:#627080;--accent:#243e58;--skin-input:#fffcf6;--skin-subtle:#eee6d8;--skin-hover:#e5dbc9;--skin-shadow:#20344b12;--skin-primary-ink:#fff9ee;--skin-danger:#943d4c;--skin-danger-bg:#fae9e6;--skin-danger-border:#d9a3a7;--skin-sidebar:#1d3046;--skin-sidebar-text:#f4ecdf;--skin-sidebar-muted:#b9c2cc;--skin-status:#20354c;--skin-status-hover:#2c425a;--skin-status-text:#fff7e9;--skin-status-muted:#c0c9d3}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101c2a;--panel:#192a3d;--border:#35485d;--text:#f1eadd;--muted:#b4bfcb;--accent:#dcc9a8;--skin-input:#142336;--skin-subtle:#203247;--skin-hover:#2c4056;--skin-shadow:#0003;--skin-primary-ink:#1d3046;--skin-danger:#f0b0b9;--skin-danger-bg:#482f3d;--skin-danger-border:#805365;--skin-sidebar:#0d1927;--skin-sidebar-text:#f4ecdf;--skin-sidebar-muted:#b9c2cc;--skin-status:#20354c;--skin-status-hover:#2c425a;--skin-status-text:#fff7e9;--skin-status-muted:#c0c9d3}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif}h1,h2,h3,h4,.brand{letter-spacing:-.025em;font-family:Bitter,Georgia,serif}h1{font-weight:600}.brand-sub,.eyebrow,.workspace-label,.recent-label,.roll-call-top h2>span,.history h4>span,button,input,textarea,select{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.sidebar{background:var(--skin-sidebar);border-color:var(--skin-sidebar)}.brand{color:var(--skin-sidebar-text)}.brand-icon{color:#20344b;background:#e7d9bf}.brand-sub,.workspace-label,.recent-label,.recent small,.side-empty,.side-bottom small{color:var(--skin-sidebar-muted)}.sidebar .nav,.sidebar .recent{color:var(--skin-sidebar-text)}.sidebar .nav.active{color:#20344b;background:#e7d9bf;border-color:#e7d9bf}.sidebar .nav-count{color:#e8dfce;background:#31465d}.sidebar .nav.active .nav-count{color:#20344b;background:#d7c7ac}.sidebar .nav:hover:not(:disabled),.sidebar .recent:hover:not(:disabled),.sidebar .recent.selected{color:#fff7e9;background:#30465d;border-color:#0000}.sidebar .nav.active:hover:not(:disabled){color:#20344b;background:#eddfc4;border-color:#eddfc4}.recent-dot{background:#cfbfa1}.side-bottom{color:var(--skin-sidebar-text);border-color:#35465a}.recent-search{color:#c3cdd8;background:#142539;border-color:#425268}.recent-search input{color:#f2eadb}.recent-search input::placeholder{color:#b2bfce}.recent-add{color:#a4dfbd;background:#284d43;border-color:#496e5d}.recent-add:hover:not(:disabled){color:#b5edca;background:#34614f;border-color:#65947b}.topbar{background:var(--panel);border-color:var(--border)}.topbar-actions{align-items:center;gap:16px;display:flex}.theme-toggle{background:var(--skin-subtle);border-color:var(--border);color:var(--text);padding:6px 9px;font-size:10px}.primary{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink);filter:brightness(1.1)}.nav,.event-card,.roll-call-panel,.roster-panel,dialog{box-shadow:0 2px 8px var(--skin-shadow)}.calendar-badge,.empty-icon{background:var(--skin-subtle);color:var(--accent);border-color:var(--border)}.tag,.tag.complete{background:var(--skin-subtle);color:var(--text)}.card-progress>div,.progress-track span{background:var(--accent)}.filter.selected,.roster-tabs button.selected{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.filter.selected:not(:first-child){background:var(--skin-status);border-color:var(--tone);color:var(--tone)}.stat,.stat:hover:not(:disabled){background:var(--skin-status);box-shadow:0 2px 6px var(--skin-shadow);border-color:#344a61}.stat strong{color:var(--skin-status-text)}.stat .stat-breakdown small b{color:var(--skin-status-text)}.status-button.checked,.status-button:hover:not(:disabled){background:var(--skin-status);border-color:var(--tone);color:var(--tone)}.status-button.checked:hover:not(:disabled){background:var(--skin-status-hover)}.mark-menu{background:var(--skin-status);border-color:#40536a}.mark-menu>div{color:var(--skin-status-muted)}.mark-menu>button:hover:not(:disabled){background:var(--skin-status-hover)}.mark-dropdown[open]>summary{background:var(--skin-subtle);color:var(--text);border-color:var(--accent)}.sortable-item.dragging{background:var(--skin-hover);box-shadow:0 7px 28px var(--skin-shadow),0 0 0 1px var(--accent)}.danger,.error-banner,.save-dock.save-error,.inline-confirm:not(.batch-confirm){color:var(--skin-danger);background:var(--skin-danger-bg);border-color:var(--skin-danger-border)}.danger:hover:not(:disabled){background:var(--skin-danger);border-color:var(--skin-danger);color:var(--panel)}.form-error,.error-banner a{color:var(--skin-danger)}.save-dock,.toast{background:var(--panel);border-color:var(--border);color:var(--text)}.save-dock>svg{color:var(--accent)}.report-options .report-check input,.checkbox input{accent-color:var(--accent)}dialog::backdrop{background:#10223599}::selection{background:var(--accent);color:var(--skin-primary-ink)}@media (max-width:760px){.topbar-actions{gap:8px}.theme-toggle{padding:4px 7px;font-size:9px}.topbar-private{font-size:9px}}:root:not([data-theme=dark]){--bg:#f5ece5;--panel:#fefcfb;--border:#3d3b39;--text:#3d3b39;--muted:#536375;--accent:#003865;--skin-input:#fff;--skin-subtle:#e6ddd6;--skin-hover:#e0d5cb;--skin-sidebar:#003865;--skin-sidebar-text:#fff;--skin-sidebar-muted:#bfd0df;--skin-status:#003865;--skin-status-hover:#064a7b}button,input,textarea,select,dialog,.brand-icon,.nav-count,.recent,.recent-search,.overview,.search-box,.event-card,.calendar-badge,.tag,.empty-state.bordered,.empty-icon,.stat,.event-note,.roll-call-panel,.roster-panel,.roll-call-top h2>span,.checkbox>span,.filter,.duplicate,.status-button,.history h4>span,.inline-add,.roster-tabs button>span,.export-option,.error-banner,.toast,.csv-format,.csv-preview,.roster-csv-editor,.save-dock,.mark-dropdown>summary,.mark-menu,.report-options details,.report-preview,.sortable-item.dragging,.inline-person-note{border-radius:0}.nav,.event-card,.roll-call-panel,.roster-panel,dialog,.stat,.stat:hover:not(:disabled){box-shadow:none}.sidebar{border-right:1px solid var(--skin-sidebar);background:var(--skin-sidebar)}.sidebar .nav,.sidebar .recent{font-size:14px;font-weight:500}.sidebar .nav.active,.sidebar .nav.active:hover:not(:disabled){color:#fff;background:#00325b;border-color:#0000 #0000 #0000 #f5ece5;border-left-style:solid;border-left-width:4px;padding-left:9px}.sidebar .nav-count,.sidebar .nav.active .nav-count{color:#fff;background:#174e78}.sidebar .nav:hover:not(:disabled),.sidebar .recent:hover:not(:disabled),.sidebar .recent.selected{color:#fff;background:#00325b}.brand{letter-spacing:-.025em;font-size:22px;font-weight:700}.brand-icon{color:#fff;background:#00325b;border:1px solid #a2b8cb}.brand-sub{letter-spacing:0;font-weight:400}.recent-search{background:#00325b;border-color:#7191ab}.topbar{background:var(--skin-subtle)}.topbar-leading{align-items:center;gap:13px;min-width:0;display:flex}.sidebar-toggle{border:1px solid var(--border);color:var(--accent);background:0 0;flex-shrink:0;padding:6px}:root[data-sidebar=hidden] .sidebar{display:none}:root[data-sidebar=hidden] .main-shell{margin-left:0}h1{letter-spacing:-.025em;font-size:clamp(32px,3.25vw,54px);font-weight:700;line-height:1.12}h2{font-size:24px;font-weight:700;line-height:1.2}h3{font-size:21px;font-weight:700;line-height:1.25}h4{font-weight:700}.eyebrow{letter-spacing:1.2px;color:var(--accent);font-size:11px;font-weight:700}.page-heading p{font-size:14px}.roll-call-top h2,.roster-head h2,.section-title h2{font-size:24px}.event-card h3{font-size:23px}.event-card p,.card-footer{font-size:12px}.roll-call-panel,.roster-panel,.event-card,.overview{border-width:2px}.roll-call-top,.roster-head{background:var(--skin-subtle);border-bottom:1px solid var(--border)}.table-label,.roster-table-head{background:var(--bg);letter-spacing:.2px;font-size:10px;font-weight:600}.person-cell strong,.roster-person-main strong{font-size:14px;font-weight:600}.person-cell .pronunciation,.roster-pronunciations{font-size:11px}.inline-person-note{font-size:12px}.status-options .status-button{font-size:11px;font-weight:500}.timestamp-button{font-size:10px}.filter,.checkbox{font-size:12px}.search-box input{font-size:13px}.stat>span{letter-spacing:0;font-size:12px;font-weight:600}.stat strong{font-family:Bitter,Georgia,serif;font-weight:700}.stat.chosen{box-shadow:inset 0 0 0 1px var(--tone)}.stat .stat-breakdown small{font-size:10.5px}.modal-head h2{font-size:26px}.report-preview-heading h3{font-size:18px}.primary{font-weight:600}@media (max-width:1050px){.event-heading h1{font-size:36px}.sidebar .nav,.sidebar .recent{font-size:12px}.brand{font-size:20px}}@media (max-width:760px){h1,.event-heading h1{font-size:30px}.roll-call-top h2,.roster-head h2,.section-title h2{font-size:20px}.sidebar .nav{font-size:11px}.brand{font-size:19px}.topbar-leading{gap:8px}.sidebar-toggle{padding:4px}.topbar-private{display:none}.page-heading p{font-size:12px}.stat>span,.stat .stat-breakdown small{font-size:10px}.filter,.checkbox{font-size:11px}.modal-head h2{font-size:23px}}:root{--status-ink:color-mix(in srgb,var(--tone,var(--muted)) 30%,#18212b)}:root[data-theme=dark]{--status-ink:color-mix(in srgb,var(--tone,var(--text)) 40%,#fff)}.status-button,.filter,.stat{--status-ink:color-mix(in srgb,var(--tone,var(--muted)) 30%,#18212b)}:root[data-theme=dark] .status-button,:root[data-theme=dark] .filter,:root[data-theme=dark] .stat{--status-ink:color-mix(in srgb,var(--tone,var(--text)) 40%,#fff)}.status-button,.status-button:hover:not(:disabled),.status-button.checked,.status-button.checked:hover:not(:disabled){background:color-mix(in srgb,var(--tone) 15%,var(--panel));color:var(--status-ink);border-color:color-mix(in srgb,var(--tone) 55%,var(--border))}.status-button.checked,.status-button.checked:hover:not(:disabled){background:color-mix(in srgb,var(--tone) 29%,var(--panel));border-color:var(--status-ink);box-shadow:inset 0 0 0 1px var(--status-ink)}.stat,.stat:hover:not(:disabled){background:color-mix(in srgb,var(--tone) 8%,var(--panel));border-color:var(--border);color:var(--status-ink)}.stat:hover:not(:disabled){background:color-mix(in srgb,var(--tone) 16%,var(--panel))}.stat strong,.stat .stat-breakdown small b{color:var(--text)}.stat small,.stat .stat-breakdown small{color:var(--muted)}.stat.chosen{border-color:var(--status-ink);box-shadow:inset 0 0 0 1px var(--status-ink)}.stat.excuse-summary .academic-stat span,.stat.excuse-summary .academic-stat b{color:#864e72}:root[data-theme=dark] .stat.excuse-summary .academic-stat span,:root[data-theme=dark] .stat.excuse-summary .academic-stat b{color:#f47ab9}.attendance-toolbar{align-items:center;gap:16px;min-width:0;padding:14px 20px;display:flex}.attendance-toolbar .filter-bar{scrollbar-width:thin;flex-wrap:nowrap;flex:1;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.attendance-toolbar .filter{white-space:nowrap;flex:none;gap:7px}.filter-count{opacity:.85;font-variant-numeric:tabular-nums;border:1px solid;min-width:20px;padding:0 3px;font-size:10px;line-height:16px}.attendance-toolbar .search-box{flex:0 0 185px;width:185px;min-width:0;max-width:185px;margin-left:auto}.filter.selected:not(:first-child){background:color-mix(in srgb,var(--tone,var(--muted)) 20%,var(--panel));color:var(--status-ink);border-color:var(--status-ink)}:is(.inline-person-note:focus,.inline-person-note:focus-visible){outline-offset:0;box-shadow:none;border:2px solid var(--border);background:var(--skin-subtle);outline:none;padding:4px 7px}.attendance-table-scroll{scrollbar-width:thin;overflow-x:auto}.attendance-table-scroll .people-list,.attendance-table-scroll .table-label{min-width:1030px}.attendance-table-scroll .row-main,.attendance-table-scroll .table-label{grid-template-columns:180px minmax(180px,1fr) 340px 155px 28px;gap:10px;padding-left:44px;padding-right:16px;display:grid}.attendance-table-scroll .row-main{align-items:center;height:81px;min-height:81px}.attendance-table-scroll .person-cell,.attendance-table-scroll .inline-person-note,.attendance-table-scroll .status-options,.attendance-table-scroll .timestamp-button,.attendance-table-scroll .row-tools{grid-area:auto}.attendance-table-scroll .person-cell{align-items:center;max-height:60px;overflow:auto}.attendance-table-scroll .person-number{flex-shrink:0;padding-top:0}.attendance-table-scroll .inline-person-note{width:100%;max-width:none;margin:0}.attendance-table-scroll .status-options{gap:6px;padding-left:0}.attendance-table-scroll .drag-handle{top:40.5px;transform:translateY(-50%)}.timestamp-button,.timestamp-button time,.history-entry time{white-space:nowrap}.attendance-table-scroll .timestamp-button{text-align:center;justify-self:stretch;font-size:10px}.attendance-table-scroll .table-label>span:nth-child(3){display:block}.attendance-table-scroll .table-label>span:nth-child(4),.attendance-table-scroll .table-label>span:nth-child(5){grid-column:auto}.history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-heading h4{margin:0}.history-heading{margin-bottom:10px}@media (max-width:760px){.attendance-toolbar{gap:10px;padding:12px}.attendance-toolbar .search-box{flex-basis:140px;width:140px}.attendance-table-scroll .row-main{padding-top:14px;padding-bottom:14px}}.stat>span{color:var(--status-ink)}.status-button:not(.checked),.status-button:not(.checked):hover:not(:disabled){background:var(--skin-subtle);color:var(--muted);border-color:var(--border);box-shadow:none}.status-button:not(.checked):hover:not(:disabled){background:var(--skin-hover)}.attendance-toolbar{--filter-height:32px}.attendance-toolbar .filter{height:var(--filter-height);box-sizing:border-box;padding-block:0}.attendance-toolbar .filter-bar{flex:0 auto;width:max-content;padding-block:0}.attendance-toolbar .search-box{height:var(--filter-height);box-sizing:border-box;flex:1 0 150px;width:auto;min-width:150px;max-width:none}.attendance-toolbar .search-box input{width:100%;min-width:0;height:100%;padding:0;line-height:normal}.editable-event-title{-webkit-text-stroke:.35px currentColor;font-family:Bitter,Georgia,serif;font-weight:700}.editable-event-title>[contenteditable]{cursor:text;min-width:1ch;box-shadow:none;overflow-wrap:anywhere;white-space:normal;background:0 0;border:0;padding:0;display:block;outline:none!important}.stats-grid .stat{grid-template-rows:24px 16px auto;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:3px 6px;padding:10px 12px;display:grid}.stats-grid .stat>span{letter-spacing:-.025em;white-space:nowrap;align-self:center;min-height:0;font-family:Bitter,Georgia,serif;font-size:15px;font-weight:700;line-height:1.15}.stats-grid .stat>strong{letter-spacing:-.5px;grid-area:1/2;place-self:center end;margin:0;font-size:27px;line-height:1}.stats-grid .stat>small{grid-area:2/1/auto/-1;margin:0;font-size:10px;line-height:16px}.stats-grid .stat .stat-breakdown{grid-area:3/1/auto/-1;width:100%;margin:0}.stats-grid .stat .stat-breakdown small{font-size:11px;line-height:1.35}.recent-label{justify-content:space-between;align-items:center;display:flex}.sidebar .recent-add,.sidebar .recent-add:hover:not(:disabled){box-shadow:none;color:#fff;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar .recent{padding-inline:8px}.recent-content{width:100%;min-width:0}.sidebar .recent-meta{white-space:nowrap;letter-spacing:-.2px;align-items:center;gap:5px;width:100%;font-size:9px;display:flex}.recent-meta time{flex:none}.recent-progress{background:#ffffff30;flex:1;min-width:15px;max-width:45px;height:4px;display:block;overflow:hidden}.recent-progress>span{background:#fff;height:100%;display:block}.recent-percent{color:#fff;font-variant-numeric:tabular-nums;flex:none;font-size:9px}@media (min-width:1051px) and (max-width:1350px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat>span{font-size:14px}.stats-grid .stat>strong{font-size:24px}.stats-grid .stat{height:auto;min-height:112px}.attendance-toolbar .search-box{flex-basis:140px;min-width:140px}.sidebar .recent-meta{font-size:8px}}.stats-grid .stat{grid-template-rows:24px 14px auto;row-gap:2px;padding-block:8px}.stats-grid .stat>small{line-height:14px}.stats-grid .stat .stat-breakdown small{line-height:1.2}:root{--sidebar-width:238px;--scroll-thumb:#315c7d;--scroll-track:#d8e0e5;--scroll-hover:#003865}:root[data-theme=dark]{--scroll-thumb:#456b89;--scroll-track:#14283b;--scroll-hover:#638ca9}.sidebar{width:min(var(--sidebar-width),calc(100vw - 48px));border-right:1px solid var(--skin-sidebar);z-index:30;border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;height:100dvh;padding:25px 14px;position:fixed;inset:0 auto 0 0;overflow:visible}.main-shell{margin-left:min(var(--sidebar-width),calc(100vw - 48px))}.sidebar .brand{flex-shrink:0;align-items:center;gap:10px;padding:0}.sidebar .brand-icon{flex-shrink:0}.sidebar .recent-label{flex-shrink:0;width:100%;margin:28px 0 12px;display:flex}.sidebar .recent-search{box-sizing:border-box;flex-shrink:0;width:100%;margin:0 0 10px;display:flex}.sidebar .recent-list{flex:1;min-height:0;display:block;overflow-y:auto}.sidebar .workspace-label{display:block}.sidebar .side-bottom{flex-shrink:0;margin-top:auto;padding:16px 0 0;display:flex}.sidebar .theme-toggle{color:#fff;background:0 0;border-color:#7191ab}.sidebar .theme-toggle:hover:not(:disabled){color:#fff;background:#00325b}.sidebar .recent-meta{gap:7px}.recent-meta time{margin-right:auto}.sidebar .recent-progress{flex:0 38%;min-width:20px;max-width:none;margin-left:5px}.sidebar .recent-percent{text-align:right;min-width:25px}.sidebar-resizer{top:0;bottom:0;left:calc(min(var(--sidebar-width),100vw - 48px) - 4px);z-index:40;cursor:col-resize;touch-action:none;outline:none;width:8px;position:fixed}.sidebar-resizer:hover,:root[data-sidebar-resizing=true] .sidebar-resizer{background:#7191ab80}.sidebar-resizer:focus-visible{background:#7191ab80}:root[data-sidebar=hidden] .sidebar-resizer{display:none}:root[data-sidebar=hidden][data-sidebar-resizing=true] .sidebar-resizer{display:block;left:0}:root[data-sidebar-resizing=true],:root[data-sidebar-resizing=true] *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.sidebar-reopen{background:var(--skin-sidebar);color:#fff;z-index:31;border:0;padding:8px 5px;position:fixed;top:16px;left:0}.sidebar-reopen:hover:not(:disabled){color:#fff;background:#00325b}.event-heading{align-items:flex-end}.event-heading .heading-actions{align-self:flex-end}.stats-grid .stat{grid-template-rows:24px minmax(0,1fr) auto;align-content:stretch}.stats-grid .stat>small{grid-area:3/1/auto/-1;align-self:end}.stats-grid .stat.breakdown>small{grid-row:2;align-self:end}*{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}html{scrollbar-width:auto}::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:0}::-webkit-scrollbar-corner{background:var(--scroll-track);border-radius:0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.inline-person-note,.status-options,.attendance-toolbar .filter-bar,.attendance-table-scroll,.sidebar .recent-list,.history-scroll,.person-cell{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}.inline-person-note::-webkit-scrollbar{width:5px;height:5px}.attendance-toolbar .filter-bar::-webkit-scrollbar{width:5px;height:5px}@media (max-width:1050px){:root{--sidebar-width:210px}}@media (max-width:760px){:root{--sidebar-width:220px}.sidebar{padding:22px 14px}.sidebar nav{display:block}.sidebar .nav{width:100%;font-size:13px}.sidebar .recent-label,.sidebar .workspace-label,.sidebar .recent-search,.sidebar .recent-list,.sidebar .side-bottom{display:flex}.sidebar .recent-list{display:block}.sidebar .brand{font-size:20px}.sidebar .recent{font-size:12px}.sidebar .recent-meta{font-size:9px}.main-shell{margin-left:0}main{padding-top:28px}.sidebar .nav-count{display:inline-flex}}@supports selector(::-webkit-scrollbar){html,html body *{scrollbar-width:auto!important}}.sidebar .recent-list{max-height:none}@supports selector(::-webkit-scrollbar){html,html body *{scrollbar-width:auto!important;scrollbar-color:auto!important}html::-webkit-scrollbar{width:12px;height:12px}body::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:0}::-webkit-scrollbar-corner{background:var(--scroll-track);border-radius:0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:0;border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.inline-person-note::-webkit-scrollbar{width:5px;height:5px}.attendance-toolbar .filter-bar::-webkit-scrollbar{width:5px;height:5px}}.attendance-table-scroll .table-label>span:nth-child(4){text-align:center}.sidebar .workspace-label{width:100%;margin-left:0;margin-right:0}input[type=checkbox]{-webkit-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);vertical-align:middle;cursor:pointer;border-radius:0;flex:none;place-content:center;width:15px;min-width:15px;height:15px;margin:0;padding:0;display:inline-grid}input[type=checkbox]:checked{background:#003865 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");border-color:#003865}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.copy-report{justify-content:center;width:145px;min-width:145px}.report-presets .preset-chip{border:1px solid var(--border);align-items:stretch;gap:0;padding:0;display:inline-flex}.preset-chip .small{background:var(--skin-subtle);border:0}.preset-delete{border:0;border-left:1px solid var(--border);background:var(--skin-subtle);padding:0 6px}.preset-editor{align-items:flex-end;gap:8px;margin:12px 0;display:flex}.preset-editor label{flex:1;margin:0}.preset-editor input{margin-bottom:0}.recent-event-menu{color:#fff;background:#00325b;border:1px solid #7191ab;flex-direction:column;gap:6px;padding:8px;display:flex}.recent-event-menu button{color:#fff;background:0 0;border-color:#7191ab;padding:7px;font-size:11px}.recent-event-menu button:hover:not(:disabled){color:#fff;background:#174e78}.recent-event-menu p{margin:0 0 5px;font-size:11px;line-height:1.5}.archived-event{border:2px solid var(--border);background:var(--panel);margin-bottom:16px;padding:20px}.archive-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.archive-heading h2{font-size:23px}.archive-heading p,.archive-heading small{color:var(--muted);font-size:12px}.archive-person{border-top:1px solid var(--border);grid-template-columns:1fr 180px 1fr;gap:15px;padding:10px 0;font-size:12px;display:grid}.archived-event summary{cursor:pointer;margin-top:12px;font-size:13px}@media (max-width:760px){.archive-heading{flex-direction:column;align-items:flex-start}.archive-person{grid-template-columns:1fr}.preset-editor{flex-wrap:wrap}}.attendance-table-scroll .row-main,.attendance-table-scroll .table-label{grid-template-columns:180px minmax(180px,1fr) 340px 155px 52px}.attendance-table-scroll .row-tools{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:2px;display:flex}.row-tools .person-flag,.row-tools .remove-icon{width:24px;height:28px;color:var(--muted);flex:none;padding:4px}.row-tools .person-flag.flagged,.row-tools .person-flag.flagged:hover:not(:disabled){color:#d73745}.row-tools .person-flag.complete,.row-tools .person-flag.complete:hover:not(:disabled){color:#24834a}:root[data-theme=dark] .row-tools .person-flag.flagged{color:#ff6876}:root[data-theme=dark] .row-tools .person-flag.complete{color:#67cf8c}.app-tooltip{z-index:10000;pointer-events:none;color:#fff;white-space:normal;text-align:center;background:#003865;border:1px solid #7891a5;border-radius:0;max-width:min(260px,100vw - 16px);padding:7px 10px;font:500 11px/1.4 Inter,sans-serif;position:fixed;box-shadow:0 3px 10px #10223525}.sortable-item{cursor:grab;touch-action:pan-y}.sortable-item.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.sortable-item :is(button,input,textarea,select,a,[contenteditable]){cursor:auto}.sortable-item button{cursor:pointer}.sortable-item input,.sortable-item textarea,[contenteditable]{cursor:text}.sortable-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.attendance-table-scroll .row-main,.attendance-table-scroll .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 155px 52px;gap:10px;padding-left:12px;padding-right:12px}.attendance-table-scroll .row-main>.person-number,.attendance-table-scroll .table-label>span:first-child{text-align:center;font-variant-numeric:tabular-nums}.attendance-table-scroll .table-label>span:nth-child(4){text-align:left;grid-column:auto}.attendance-table-scroll .table-label>span:nth-child(5){text-align:center;grid-column:auto}.attendance-table-scroll .person-cell{grid-area:auto}.roster-table-head,.sortable-item .roster-person-main{grid-template-columns:28px minmax(160px,1fr) minmax(150px,1fr) 120px;gap:10px;padding-left:12px;padding-right:12px}.roster-table-head>span:first-child,.roster-person-main>.person-number{text-align:center}.sortable-item .roster-person-main>.roster-full-name{text-align:left;display:block}.sortable-item .roster-fields-edit{padding-left:12px}@media (max-width:760px){.roster-table-head,.sortable-item .roster-person-main{grid-template-columns:24px minmax(100px,1fr) minmax(80px,1fr) 84px;gap:6px}}.roster-navigation{align-items:flex-start;gap:16px;min-width:0;margin-bottom:22px;display:flex}.roster-navigation>.roster-tabs{flex-wrap:nowrap;flex:1;min-width:0;margin:0;padding-bottom:4px;overflow-x:auto}.roster-navigation>.roster-tabs>button,.roster-navigation>.primary{flex-shrink:0;justify-content:center;align-items:center;height:40px;min-height:40px;padding-block:0;display:inline-flex}.roster-rows-scroll{overflow-x:auto}.roster-rows-scroll>.roster-table-head,.roster-rows-scroll>.sortable-list,.roster-inline-fields{min-width:780px}.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(160px,1fr) minmax(150px,1fr) 64px;gap:10px;height:56px;min-height:56px;padding:8px 12px}.roster-rows-scroll .roster-table-head{grid-template-columns:28px minmax(160px,1fr) minmax(150px,1fr) 64px}.roster-person-main .roster-full-name,.roster-person-main .roster-pronunciations{overflow:hidden}.roster-person-main .roster-full-name strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.roster-inline-fields{background:var(--panel);grid-template-columns:28px minmax(0,1fr) 64px;align-items:center;gap:10px;height:56px;margin:0;padding:8px 12px;display:grid}.roster-rows-scroll>.roster-inline-fields{border-bottom:1px solid var(--border);background:var(--skin-subtle)}.roster-inputs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-width:0;display:grid}.roster-inputs input{min-width:0;height:32px;margin:0;padding:5px 7px;font-size:11px}.roster-inline-actions{justify-content:flex-end;gap:2px;display:flex}.roster-inline-fields .person-number{justify-content:center;display:flex}.event-list-toolbar{--event-filter-height:32px;flex-wrap:wrap;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.event-list-filters{flex-wrap:wrap;gap:5px;display:flex}.event-list-toolbar>.search-box{flex:1;min-width:260px;max-width:none;margin-left:auto}.event-list-toolbar .filter,.event-list-toolbar>.search-box{height:var(--event-filter-height);min-height:var(--event-filter-height);align-items:center;padding-block:0;display:flex}.event-list-toolbar>.search-box input{height:100%;padding-block:0;line-height:normal}.stats-grid .stat{grid-template-rows:24px minmax(0,1fr)}.stats-grid .stat .stat-breakdown{grid-row:2;align-self:end}.stat-breakdown .work-line,.stat-breakdown .excused-line{--line-tone:var(--purple)}.stat-breakdown .academic-line{--line-tone:#f47ab9}.stat-breakdown .other-line{--line-tone:var(--blue)}.stat-breakdown .late-line{--line-tone:var(--yellow)}.stat-breakdown .tardy-line{--line-tone:var(--orange)}.stat-breakdown .absent-line,.stat-breakdown .unexcused-line{--line-tone:var(--red)}.stats-grid .stat .stat-breakdown small:not(.stat-total),.stats-grid .stat .stat-breakdown small:not(.stat-total) b{color:color-mix(in srgb,var(--line-tone) 45%,#18212b)}:root[data-theme=dark] .stats-grid .stat .stat-breakdown small:not(.stat-total),:root[data-theme=dark] .stats-grid .stat .stat-breakdown small:not(.stat-total) b{color:color-mix(in srgb,var(--line-tone) 80%,#b7bdc5)}.stats-grid .stat .stat-total{color:var(--muted);margin-top:2px}.stats-grid .stat .stat-total b{color:var(--muted)}button,a[href],summary,select,[role=button],input:is([type=button],[type=submit],[type=reset],[type=checkbox],[type=radio],[type=file],[type=color],[type=range]){cursor:pointer}label:has(input:is([type=checkbox],[type=radio])){cursor:pointer}input,textarea,[contenteditable=true],[contenteditable=plaintext-only]{cursor:text}.sortable-item :is(button,a[href],summary,select,[role=button]),.sortable-item input:is([type=button],[type=submit],[type=reset],[type=checkbox],[type=radio],[type=file],[type=color],[type=range]){cursor:pointer}.sortable-item[data-reorder-disabled=true]{cursor:default}button:disabled,input:disabled,textarea:disabled,select:disabled,[role=button][aria-disabled=true],summary[aria-disabled=true],.sortable-item :is(button,input,textarea,select):disabled{cursor:not-allowed}label:has(input:is([type=checkbox],[type=radio]):disabled){cursor:not-allowed}.sortable-item.dragging,.sortable-item.dragging *{cursor:grabbing}.event-note-tools{align-items:stretch;gap:10px;margin-bottom:24px;display:flex}.inline-event-note{border:1px solid var(--border);background:var(--panel);flex:1;align-items:center;gap:10px;min-width:0;height:42px;padding:0 14px;display:flex}.event-note-label{white-space:nowrap;font-size:12px;font-weight:600}.inline-event-note [contenteditable]{white-space:nowrap;min-width:30px;box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:5px 0;font-size:12px;overflow-x:auto}.inline-event-note [contenteditable]:empty:before{content:attr(data-placeholder);color:var(--muted)}.overview-toggle{flex-shrink:0;height:42px;font-size:12px}.subevent-heading{flex:1;align-items:center;gap:6px;min-width:0;margin-right:12px;display:flex}.subevent-heading h2{white-space:nowrap;flex-shrink:0;margin-left:8px}.subevent-tabs{flex:0 auto;gap:5px;min-width:0;padding-block:3px;display:flex;overflow-x:auto}.subevent-tabs button{text-overflow:ellipsis;flex-shrink:0;max-width:220px;display:block;overflow:hidden}.subevent-tabs .selected{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.roll-call-top>.roll-call-actions{flex-shrink:0}.roll-call-panel{max-height:var(--record-table-max-height);flex-direction:column;display:flex;overflow:hidden}.roll-call-panel:has(.sortable-list.sorting){overflow:hidden}.roll-call-panel>.roll-call-top,.roll-call-panel>.attendance-toolbar,.roll-call-panel>.panel-footer,.roll-call-panel>.batch-confirm{flex-shrink:0}.roll-call-panel>.attendance-table-scroll{overscroll-behavior-y:contain;flex:auto;min-height:140px;overflow:auto}.attendance-table-scroll>.table-label{z-index:10;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0}.footer-people{align-items:center;gap:12px;display:flex}.footer-people .small{height:26px;padding:2px 7px;font-size:11px}.attendance-overview{border:1px solid var(--border);background:var(--panel);padding:18px}.overview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.comparison-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:16px;display:flex}.comparison-selection{flex-wrap:wrap;gap:12px 18px;max-height:150px;margin-top:16px;display:flex;overflow:auto}.comparison-summary{color:var(--muted);margin:12px 0;font-size:12px}.comparison-table-scroll{max-height:65dvh;overflow:auto}.comparison-table-scroll table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.comparison-table-scroll th,.comparison-table-scroll td{border-bottom:1px solid var(--border);white-space:nowrap;text-align:left;padding:12px}.comparison-table-scroll thead th{background:var(--skin-subtle);z-index:2;position:sticky;top:0}.comparison-table-scroll th small{color:var(--muted);font-weight:400;display:block}.comparison-table-scroll td{color:color-mix(in srgb,var(--tone,var(--text)) 45%,#18212b)}:root[data-theme=dark] .comparison-table-scroll td{color:var(--tone,var(--text))}@media (max-width:760px){.roll-call-top{gap:6px;padding:10px}.subevent-heading{gap:3px;margin-right:0}.subevent-heading h2{margin-left:2px;font-size:14px}.roll-call-actions{gap:4px}.roll-call-actions .small{padding:4px}.event-note-tools{flex-wrap:wrap;gap:6px}.inline-event-note{flex-basis:60%}.overview-toggle{flex:1}.subevent-heading>.icon{padding:3px}}.subevent-heading h2{margin-left:0;margin-right:8px}.subevent-inline-editor{border:1px solid var(--border);background:var(--skin-subtle);color:var(--text);white-space:pre;flex-shrink:0;align-items:center;margin:0;padding:6px 10px;font-size:12px;line-height:1.5;display:inline-grid;position:relative}.subevent-inline-editor>span{visibility:hidden;min-width:1ch}.subevent-inline-editor>input{width:100%;height:100%;font:inherit;line-height:inherit;color:inherit;box-shadow:none;background:0 0;border:0;outline:none;margin:0;padding:6px 10px;position:absolute;inset:0}.subevent-inline-editor.selected{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.subevent-tabs button{max-width:none}.roster-head h2.editable-event-title{min-width:0;display:block}.roster-head>div:first-child{flex:1;min-width:0}.roster-head .editable-event-title>[contenteditable]{overflow-wrap:anywhere;min-width:1ch}dialog form input:not([type=checkbox]):not([type=radio]):not([type=range]),dialog form select{box-sizing:border-box;height:42px;min-height:42px}dialog form input[type=date]{padding-block:8px;line-height:24px}.attendance-toolbar .filter{align-items:center;gap:4px;padding-inline:7px}.attendance-toolbar .filter-count{justify-content:center;align-items:center;min-width:16px;height:16px;margin:0;padding:0 3px;font-size:9px;line-height:1;display:inline-flex}.save-dock{background:var(--panel);-webkit-backdrop-filter:none;top:14px;bottom:auto;right:16px}.status-options .status-button.checked:hover:not(:disabled){color:var(--status-ink);border-color:var(--status-ink);background:color-mix(in srgb,var(--tone) 29%,var(--panel))}.segmented-progress,.recent-progress{display:flex!important}.segmented-progress>span,.recent-progress>span{border-radius:0;display:block}.confirm-clear-history{color:#fff!important;background:#a32e38!important;border-color:#a32e38!important}.filter.person-flag.flagged{color:var(--red);--tone:var(--red)}.filter.person-flag.complete{color:var(--green);--tone:var(--green)}.subevent-tabs button.selected:hover:not(:disabled),.subevent-tabs button.selected:active{background:var(--accent);color:var(--skin-primary-ink);border-color:var(--accent)}.attendance-overview{max-height:var(--record-table-max-height);flex-direction:column;padding:0;display:flex;overflow:hidden}.attendance-overview>.overview-heading{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:18px 20px 14px}.attendance-overview .overview-heading h2{min-width:0;font-size:16px;line-height:1.3}.comparison-controls{flex-wrap:nowrap;flex-shrink:0;align-items:flex-start;gap:12px;min-width:0;margin:0;padding:4px 20px 14px;display:flex}.overview-heading>select{flex:0 0 150px;width:150px;height:32px;min-height:32px;margin:0 0 0 auto;padding:4px 8px;font-size:11px}.comparison-selection{flex-wrap:nowrap;flex:1;justify-content:flex-start;align-items:flex-start;gap:8px;min-width:0;max-height:none;margin:0;padding:0 0 4px;display:flex;overflow:auto hidden}.comparison-selection>.checkbox{border:1px solid var(--border);background:var(--skin-subtle);flex-shrink:0;gap:6px;height:32px;padding:5px 8px}.comparison-controls>.search-box{flex:0 220px;width:185px;min-width:120px;height:32px;margin-left:auto}.comparison-controls>.search-box input{height:30px;padding-block:4px}.comparison-selection input:focus{box-shadow:none;outline:none}.comparison-selection>.checkbox:has(input:focus-visible){background:var(--skin-hover)}:root[data-theme=dark] input[type=checkbox]:not(:checked){background:#eee6d8;border-color:#dcc9a8}.attendance-overview>.comparison-summary{flex-shrink:0;margin:8px 0;padding:0 20px;font-size:10px}.comparison-table-scroll{overscroll-behavior-y:contain;border-top:1px solid var(--border);flex:1;min-height:140px;max-height:none}.comparison-table-scroll thead th{letter-spacing:.8px;text-transform:uppercase;background:var(--panel);color:var(--muted);padding:11px 20px;font-size:9px;font-weight:600}.comparison-table-scroll thead th small{letter-spacing:0;text-transform:none;font-size:9px}.comparison-table-scroll tbody th,.comparison-table-scroll tbody td{background:var(--panel);height:81px;padding:14px 20px;font-size:12px}.comparison-table-scroll tbody th{color:var(--text);font-size:13px;font-weight:550}.comparison-table-scroll th:not(:first-child),.comparison-table-scroll td{text-align:center}.attendance-toolbar .filter.person-flag,.attendance-toolbar .filter.person-flag:is(:hover,:focus,:focus-visible,:active){box-shadow:none;background:0 0;border-color:#0000;outline:none}.attendance-toolbar .filter.person-flag.flagged,.attendance-toolbar .filter.person-flag.flagged:hover{color:#d73745}.attendance-toolbar .filter.person-flag.complete,.attendance-toolbar .filter.person-flag.complete:hover{color:#24834a}:root[data-theme=dark] .attendance-toolbar .filter.person-flag.flagged,:root[data-theme=dark] .attendance-toolbar .filter.person-flag.flagged:hover{color:#ff6876}:root[data-theme=dark] .attendance-toolbar .filter.person-flag.complete,:root[data-theme=dark] .attendance-toolbar .filter.person-flag.complete:hover{color:#67cf8c}@media (max-width:760px){.comparison-controls{gap:6px;padding-inline:10px}.attendance-overview>.overview-heading{gap:8px;padding:12px 10px 10px}.overview-heading>select{flex-basis:110px;width:110px}.comparison-controls>.search-box{flex-basis:130px;min-width:100px}}.progress-track.segmented-progress,.card-progress.segmented-progress,.recent-progress{overflow:visible}.attendance-segment{cursor:help;transform-origin:50%;transition:filter .15s,transform .15s;position:relative}.attendance-segment:after{content:"";position:absolute;inset:-6px 0}:is(.attendance-segment:hover,.attendance-segment:focus-visible){filter:brightness(.78);z-index:1;outline:none;transform:scaleY(2)}.attendance-row>.row-details{text-align:left;padding:16px 20px;display:block}.attendance-row>.row-details>.history{grid-column:1/-1;width:100%;max-width:none;max-height:none}.comparison-table-scroll tbody th,.comparison-table-scroll tbody td{height:44px;padding:10px 20px}.sort-heading,.sort-heading:hover:not(:disabled){color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;justify-content:flex-start;gap:4px;min-width:0;padding:0;display:inline-flex}.comparison-table-scroll th:not(:first-child) .sort-heading,.table-label>.sort-heading:nth-child(5){justify-content:center}.roster-panel>.toolbar{justify-content:flex-end}.roster-panel>.toolbar>.search-box{flex:1;min-width:185px;max-width:420px;height:32px;margin-left:auto}.roster-panel>.toolbar>.search-box input{height:30px;padding-block:4px}.csv-dropdown>summary{height:40px;font-size:13px}.csv-dropdown .mark-menu>button{color:var(--text)}:is(.attendance-segment:hover,.attendance-segment:focus-visible){filter:brightness(1.18);transform:scaleY(2)}.save-dock{gap:0;transition:padding .25s}.save-dock .saved-label{opacity:1;white-space:nowrap;max-width:180px;margin-left:8px;transition:max-width .3s,opacity .2s,margin .3s;display:inline-block;overflow:hidden}.save-dock.compact .saved-label{opacity:0;max-width:0;margin-left:0}.save-dock:not(.compact)>span+span,.save-dock.save-error>*+*{margin-left:8px}:root:not([data-theme=dark]) .present{--status-ink:#147548}:root:not([data-theme=dark]) .bit-late{--status-ink:#946300}:root:not([data-theme=dark]) .tardy{--status-ink:#b24a0a}:root:not([data-theme=dark]) .absent{--status-ink:#bb3042}:root:not([data-theme=dark]) .work{--status-ink:#8050b0}:root:not([data-theme=dark]) .academic{--status-ink:#b62f79}:root:not([data-theme=dark]) .other{--status-ink:#246bb3}:root:not([data-theme=dark]) .stat>span,:root:not([data-theme=dark]) .filter.selected:not(:first-child),:root:not([data-theme=dark]) .comparison-table-scroll td[class]{color:var(--status-ink,var(--text))}:root:not([data-theme=dark]) .stat-breakdown .work-line,:root:not([data-theme=dark]) .stat-breakdown .excused-line{--line-ink:#8050b0}:root:not([data-theme=dark]) .stat-breakdown .academic-line{--line-ink:#b62f79}:root:not([data-theme=dark]) .stat-breakdown .other-line{--line-ink:#246bb3}:root:not([data-theme=dark]) .stat-breakdown .late-line{--line-ink:#946300}:root:not([data-theme=dark]) .stat-breakdown .tardy-line{--line-ink:#b24a0a}:root:not([data-theme=dark]) .stat-breakdown .absent-line,:root:not([data-theme=dark]) .stat-breakdown .unexcused-line{--line-ink:#bb3042}:root:not([data-theme=dark]) .stats-grid .stat .stat-breakdown small:not(.stat-total),:root:not([data-theme=dark]) .stats-grid .stat .stat-breakdown small:not(.stat-total) b{color:var(--line-ink)}@media (prefers-reduced-motion:reduce){.save-dock,.save-dock .saved-label{transition:none}}.table-label,.roster-table-head{text-transform:uppercase}.roster-panel>.toolbar>.search-box{width:100%;max-width:none;margin-left:0}.recent-event-menu{z-index:150;width:220px;box-shadow:0 8px 28px var(--skin-shadow);max-height:calc(100dvh - 16px);position:fixed;overflow:auto}:root:not([data-theme=dark]) .mark-menu,:root:not([data-theme=dark]) .recent-event-menu{color:#20344b;background:#eee6d8;border-color:#c3b7a4}:root:not([data-theme=dark]) .mark-menu>button,:root:not([data-theme=dark]) .recent-event-menu button{color:#20344b;background:0 0;border-color:#c3b7a4}:root:not([data-theme=dark]) .mark-menu>button:hover:not(:disabled),:root:not([data-theme=dark]) .recent-event-menu button:hover:not(:disabled){color:#20344b;background:#ddd1be}:root:not([data-theme=dark]) .mark-menu>button[class]{color:var(--status-ink,#20344b)}.mobile-view-switch{gap:6px;padding:0 12px 10px;display:flex}.mobile-view-switch button{flex:1;min-height:36px}.mobile-view-switch button.selected{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.mobile-roll-call{min-width:0;padding:0 14px 12px;overflow:hidden}.mobile-deck-nav{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.mobile-deck-nav>.icon{min-width:44px;min-height:44px}.mobile-card-stage{padding-bottom:6px;position:relative}.mobile-swipe-cues{justify-content:space-between;padding:0 5px 12px;font-size:12px;font-weight:600;display:flex}.mobile-swipe-cues span{color:var(--status-ink,var(--tone))}.mobile-person-card{border:1px solid var(--border);background:var(--panel);box-shadow:0 5px 0 var(--skin-subtle);touch-action:pan-y;will-change:transform;-webkit-user-select:none;user-select:none;padding:16px;transition:transform .18s,border-color .15s;position:relative}.mobile-person-card.swiping-present{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.mobile-person-card.swiping-absent{border-color:var(--red);box-shadow:0 0 0 2px var(--red)}.mobile-person-card.leaving{opacity:.3;transition:transform .16s,opacity .16s}.mobile-card-top{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.mobile-card-top .person-flag{min-width:44px;min-height:44px}.mobile-card-top .person-flag.flagged{color:#d73745}.mobile-card-top .person-flag.complete{color:#24834a}:root[data-theme=dark] .mobile-card-top .person-flag.flagged{color:#ff6876}:root[data-theme=dark] .mobile-card-top .person-flag.complete{color:#67cf8c}.mobile-card-name{text-align:center;flex-direction:column;justify-content:center;min-height:95px;margin-bottom:14px;display:flex}.mobile-card-name h3{overflow-wrap:anywhere;font-family:Bitter,serif;font-size:25px;line-height:1.25}.mobile-card-name p{color:var(--muted);margin-top:6px;font-size:13px}.mobile-note-label{color:var(--muted);-webkit-user-select:text;user-select:text;font-size:12px}.mobile-note-label .inline-person-note{resize:vertical;touch-action:pan-y;-webkit-user-select:text;user-select:text;width:100%;height:56px;min-height:44px;margin-top:5px;padding:9px;font-size:16px;display:block}.mobile-excuses{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;margin:16px 0 12px;padding:0;display:grid}.mobile-excuses legend{width:100%;color:var(--text);margin-bottom:8px;padding:0;font-size:12px;font-weight:600}.mobile-excuses legend span{color:var(--muted);margin-left:6px;font-size:10px;font-weight:400}.mobile-excuses .status-button{justify-content:center;min-width:0;min-height:44px;padding:5px;font-size:12px}.mobile-status-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-status-actions .status-button{justify-content:center;gap:9px;min-height:50px;padding:8px;font-size:14px}.mobile-excuse-only{width:100%;min-height:44px;margin-top:8px;font-size:12px}.mobile-last-mark{text-align:center;min-height:22px;color:var(--muted);margin-top:12px;font-size:11px}.mobile-deck-done{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:260px;padding:30px 8px;display:flex}.mobile-deck-done p{color:var(--muted);font-size:13px}@media (max-width:760px){body{overflow-x:hidden}.main-shell{margin-left:0}main{max-width:100%;padding:64px 12px 24px}.mobile-menu-toggle{z-index:100;background:var(--panel);min-height:40px;box-shadow:0 2px 8px var(--skin-shadow);padding:7px 10px;position:fixed;top:10px;left:10px}.mobile-sidebar-backdrop{z-index:29;background:#0007;border:0;border-radius:0;position:fixed;inset:0}.sidebar{padding-top:65px}.sidebar-reopen,.sidebar-resizer{display:none!important}.event-heading{margin-bottom:18px}.event-heading h1{font-size:27px}.eyebrow{line-height:1.7}.roll-call-panel.mobile-swipe-panel{max-height:none}.roll-call-top{flex-wrap:wrap;gap:10px;padding:12px}.subevent-heading{flex-basis:100%;margin:0}.roll-call-actions{justify-content:flex-end;width:100%}.attendance-toolbar{--filter-height:40px;flex-wrap:wrap;gap:8px;padding:6px 12px 12px}.attendance-toolbar .filter-bar{flex-basis:100%;min-width:0}.attendance-toolbar>.search-box{width:100%;max-width:none;height:var(--filter-height);flex-basis:100%}.attendance-toolbar .search-box input{height:100%;font-size:16px}.attendance-toolbar .filter{min-height:40px;padding-inline:9px;font-size:11px}.event-list-toolbar{--event-filter-height:40px}.event-list-toolbar>.search-box input{font-size:16px}.panel-footer{flex-wrap:wrap;gap:10px;padding:12px}.panel-footer .footer-people{gap:8px;font-size:11px}.panel-footer button{min-height:40px}.panel-footer .text-button{font-size:12px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat{min-height:120px}.event-note-tools{flex-direction:column}.inline-event-note,.overview-toggle{flex:none;width:100%}.save-dock{max-width:calc(100vw - 110px);top:10px;right:10px}.save-dock small{max-width:180px}dialog{max-height:calc(100dvh - 24px);overflow:auto}dialog input,dialog textarea,dialog select{font-size:16px}}@media (prefers-reduced-motion:reduce){.mobile-person-card,.mobile-person-card.leaving{transition:none}}@media (max-width:760px){.stats-grid.mobile-stats-collapsed{display:none}.mobile-stats-toggle{justify-content:space-between;width:100%;min-height:40px;font-size:12px}.progress-strip{margin:12px 0 16px}.mobile-swipe-panel .roll-call-actions button,.mobile-swipe-panel .mark-dropdown>summary{min-height:40px}.mobile-view-switch button.selected:hover{background:var(--accent);color:var(--skin-primary-ink)}}.event-heading .eyebrow{text-transform:uppercase}.comparison-controls>.search-box{flex:360px;width:360px;min-width:240px}.comparison-controls>.comparison-selection{flex:220px}.mobile-note-label{width:100%;min-width:0;margin:12px 0 0;padding:0;display:block}.mobile-note-label .inline-person-note{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:5px 0 0;padding:9px}@media (max-width:760px){.comparison-controls{flex-wrap:wrap}.comparison-controls>.comparison-selection{flex:1;min-width:0}.comparison-controls>.search-box{flex:1 0 100%;width:100%;min-width:0}.mobile-card-name{min-height:150px}.mobile-person-card{padding:16px}}.roll-call-panel>.roll-call-top{--roll-tool-height:32px;flex-wrap:nowrap;align-items:flex-start;gap:10px}.roll-call-top>.subevent-heading{flex:1 1 0;align-items:flex-start;min-width:0;margin:0}.roll-call-top>.roll-call-actions{width:auto;height:var(--roll-tool-height);flex:none;align-self:flex-start;align-items:center;gap:5px}.subevent-tabs{overscroll-behavior-x:contain;flex:1 1 0;align-items:flex-start;min-width:0;padding:0 0 4px;overflow-x:auto}.roll-call-top .subevent-heading>h2{height:var(--roll-tool-height);align-items:center;line-height:1.2;display:flex}.roll-call-top .roll-call-actions>.mark-dropdown{height:var(--roll-tool-height);margin:0}.roll-call-top .subevent-tabs>button,.roll-call-top .subevent-inline-editor,.roll-call-actions>.small,.roll-call-actions .mark-dropdown>summary{box-sizing:border-box;height:32px;min-height:32px;padding:5px 8px;font-size:11px;line-height:20px}.subevent-tabs>button{justify-content:center;align-items:center;display:inline-flex}.mobile-card-stack{--swipe-x:0px;--swipe-turn:0deg;--swipe-tone:var(--green);--swipe-strength:0%;--swipe-reveal:0;isolation:isolate;padding-bottom:12px;position:relative}.mobile-card-stack>.mobile-front-card{z-index:2;transform:translate3d(var(--swipe-x),0,0) rotate(var(--swipe-turn));border-color:color-mix(in srgb,var(--swipe-tone) var(--swipe-strength),var(--border));box-shadow:0 4px 14px var(--skin-shadow);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s;position:relative}.mobile-card-stack[data-dragging=true]>.mobile-front-card{transition:none}.mobile-card-stack[data-leaving=true]>.mobile-front-card{transition:transform .26s cubic-bezier(.25,.6,.5,1),border-color .2s}.mobile-card-stack>.mobile-next-card{z-index:1;pointer-events:none;transform:translate3d(0,calc(10px * (1 - var(--swipe-reveal))),0) scale(calc(.965 + var(--swipe-reveal) * .035));transform-origin:bottom;box-shadow:0 4px 8px var(--skin-shadow);will-change:transform;transition:transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 0 12px;overflow:hidden}.mobile-card-stack[data-dragging=true]>.mobile-next-card{transition:none}.mobile-card-stack[data-leaving=true]>.mobile-next-card{transition:transform .26s}.mobile-preview-excuses{margin:16px 0 12px;font-size:12px}.mobile-preview-excuses strong{margin-bottom:8px;display:block}.mobile-preview-excuses>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mobile-preview-excuses span{border:1px solid var(--border);background:var(--skin-subtle);min-height:44px;color:var(--muted);justify-content:center;align-items:center;display:flex}.mobile-preview-note{border:1px solid var(--border);background:var(--skin-input);width:100%;height:56px;margin-top:5px;padding:9px;font-size:16px;overflow:hidden}@media (max-width:760px){.roll-call-top .subevent-heading h2{margin-right:3px;font-size:13px}.roll-call-panel>.roll-call-top{gap:4px;padding:10px 7px}.roll-call-top .roll-call-actions{gap:3px}.roll-call-actions .icon-history>span{display:none}.roll-call-top .subevent-tabs>button,.roll-call-actions>.small,.roll-call-actions .mark-dropdown>summary{padding:5px;font-size:10px}.roll-call-top .subevent-heading>.icon{padding:3px}.roll-call-top .mark-dropdown>summary{gap:3px}.mobile-roll-call{padding-bottom:20px}}@media (prefers-reduced-motion:reduce){.mobile-card-stack>.mobile-front-card,.mobile-card-stack>.mobile-next-card{transition:none!important}}.subevent-tabs>.subevent-add{flex:0 0 28px;width:28px;padding-inline:3px}.subevent-tabs>.subevent-add:hover:not(:disabled){border-color:#0000}.mobile-card-stack[data-history-preparing=true]>.mobile-front-card,.mobile-card-stack[data-history-preparing=true]>.mobile-next-card{transition:none}.mobile-deck-tools{align-items:center;gap:3px;display:flex}.mobile-deck-tools>.icon{min-width:40px;min-height:44px}.shake-undo.enabled{color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--panel))}@media (max-width:760px){.roll-call-panel>.roll-call-top{--roll-tool-height:32px}.roll-call-panel .roll-call-top .subevent-tabs>button,.roll-call-panel .roll-call-top .subevent-inline-editor,.roll-call-panel .roll-call-top .roll-call-actions>button,.roll-call-panel .roll-call-top .mark-dropdown>summary{height:var(--roll-tool-height);min-height:var(--roll-tool-height);max-height:var(--roll-tool-height);justify-content:center;align-items:center;padding-block:5px;line-height:20px;display:inline-flex}:is(.mobile-stats-toggle:focus,.mobile-stats-toggle:focus-visible){box-shadow:none;outline:none}.mobile-stats-toggle:focus-visible{background:var(--skin-hover)}.mobile-stats-toggle+.stats-grid:not(.mobile-stats-collapsed){margin-top:12px}.stats-grid .stat{grid-template-rows:24px auto;row-gap:6px;height:auto;min-height:0;padding:8px 10px}.stats-grid .stat .stat-breakdown{grid-row:2;align-self:end}}.auth-landing{background:var(--bg);min-height:100dvh;color:var(--text)}.auth-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:22px 36px;display:flex}.auth-brand{color:var(--text);align-items:center;gap:10px;font-family:Bitter,Georgia,serif;font-size:23px;font-weight:700;text-decoration:none;display:flex}.auth-landing .theme-toggle{color:var(--text);background:var(--panel);border:1px solid var(--border);padding:7px 10px;font-size:11px}.auth-main{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:36px 64px;max-width:1240px;margin:auto;padding:42px 36px 48px;display:grid}.auth-story h1{letter-spacing:-1.5px;font-family:Bitter,Georgia,serif;font-size:clamp(36px,4vw,50px);font-weight:750;line-height:1.1}.auth-features{grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:28px;display:grid}.auth-features>div{align-items:flex-start;gap:10px;display:flex}.auth-features svg{color:var(--accent);margin-top:2px}.auth-features strong{font-size:12px;font-weight:650;display:block}.auth-features small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.5;display:block}.auth-card{background:var(--panel);border:1px solid var(--border);box-shadow:5px 5px 0 var(--skin-subtle);padding:25px}.auth-card h2{margin-bottom:18px;font-family:Bitter,Georgia,serif;font-size:24px}.auth-providers{flex-direction:column;gap:9px;display:flex}.auth-providers a{border:1px solid var(--border);min-height:46px;color:var(--text);background:var(--panel);align-items:center;gap:10px;padding:12px;font-size:12px;text-decoration:none;display:flex}.auth-providers a>svg:last-child{margin-left:auto}.auth-providers a:hover{background:var(--skin-subtle)}.auth-providers a.auth-chatgpt:hover{filter:brightness(1.1)}.auth-provider-symbol{text-align:center;width:18px;min-width:18px;font-size:17px;font-weight:700}.microsoft-symbol{grid-template-columns:1fr 1fr;gap:2px;height:16px;padding:1px;display:grid}.microsoft-symbol i{background:var(--text)}.auth-card .auth-error{border:1px solid var(--red);color:var(--text);background:color-mix(in srgb,var(--red) 8%,var(--panel));margin-bottom:14px;padding:10px 12px;font-size:12px}.landing-preview{grid-column:1/-1;min-width:0;margin:0}.landing-preview>figcaption{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:10px;font-weight:600}.landing-preview-frame{background:var(--bg);border:1px solid var(--border);box-shadow:5px 5px 0 var(--skin-subtle);min-width:0;padding:20px;overflow-x:auto}.landing-preview-event small{letter-spacing:1px;color:var(--muted);font-size:8px}.landing-preview-event h2{margin:3px 0 16px;font-size:24px;font-weight:750}.landing-preview-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-width:0;display:grid}.landing-preview-stat{border:1px solid var(--border);background:var(--panel);flex-direction:column;justify-content:space-between;gap:10px;min-height:105px;padding:9px 10px;display:flex}.landing-preview-stat header{justify-content:space-between;align-items:center;gap:6px;display:flex}.landing-preview-stat header strong{color:var(--status-ink,var(--tone));font-family:Bitter,Georgia,serif;font-size:12px;font-weight:700}.landing-preview-stat header b{font-size:23px;font-weight:550;line-height:1}.landing-preview-stat small{color:var(--muted);white-space:nowrap;justify-content:space-between;gap:6px;font-size:9px;line-height:1.6;display:flex}.landing-preview-stat .preview-stat-total{border-top:1px solid var(--border);margin-top:3px;padding-top:3px}.landing-preview-progress{align-items:center;gap:12px;margin:12px 0 18px;display:flex}.landing-preview-progress>div{background:var(--skin-hover);flex:1;height:4px;display:flex}.landing-preview-progress span{height:100%}.landing-preview-progress small{color:var(--muted);white-space:nowrap;font-size:9px}.landing-preview-table{border:1px solid var(--border);background:var(--panel);min-width:0}.landing-preview-toolbar{background:var(--skin-subtle);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:10px 14px;display:flex}.landing-preview-toolbar>strong{white-space:nowrap;margin-right:6px;font-family:Bitter,Georgia,serif;font-size:15px}.preview-tab{border:1px solid var(--border);white-space:nowrap;padding:4px 8px;font-size:10px}.preview-tab.selected{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.preview-tools{color:var(--muted);align-items:center;gap:12px;margin-left:auto;display:flex}.preview-tools>span{white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.landing-preview-desktop{min-width:950px}.preview-filters{align-items:center;gap:6px;padding:10px 14px;display:flex}.preview-filter{color:var(--muted);align-items:center;gap:4px;padding:4px 7px;font-size:9px;display:flex}.preview-filter small{background:var(--skin-hover);padding:0 3px;font-size:8px;line-height:13px}.preview-filter.selected{border:1px solid var(--border);background:var(--skin-subtle);color:var(--text)}.preview-search{border:1px solid var(--border);min-width:160px;color:var(--muted);align-items:center;gap:7px;margin-left:auto;padding:5px 8px;font-size:9px;display:flex}.preview-columns,.landing-preview-row{grid-template-columns:22px minmax(150px,1fr) minmax(110px,.8fr) 340px 128px 22px;align-items:center;gap:10px;padding:10px 14px;display:grid}.preview-columns{background:var(--skin-subtle);border-block:1px solid var(--border);text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:8px}.preview-columns>span:nth-last-child(2){text-align:center}.landing-preview-row{border-bottom:1px solid var(--border);min-height:62px}.preview-number{color:var(--muted);font-size:9px}.preview-name strong{font-size:11px;font-weight:550;line-height:1.4;display:block}.preview-name small{color:var(--muted);margin-top:1px;font-size:9px;display:block}.preview-note{border:1px solid var(--border);background:var(--skin-input);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-size:10px;display:block;overflow:hidden}.preview-statuses{align-items:center;gap:5px;display:flex}.preview-statuses .status-button{cursor:default;white-space:nowrap;justify-content:center;align-items:center;min-height:27px;padding:4px 7px;font-size:9px;line-height:16px;display:inline-flex}.preview-time{text-align:center;white-space:nowrap;color:var(--muted);font-size:9px}.preview-flag{color:var(--green);justify-content:center;display:flex}.landing-preview-row:nth-of-type(5) .preview-flag{color:var(--red)}.landing-preview-footer{color:var(--muted);justify-content:space-between;padding:9px 14px;font-size:9px;display:flex}.landing-preview-phone{display:none}@media (max-width:1000px){.auth-main{grid-template-columns:minmax(0,1fr) 310px;column-gap:32px}.auth-features{gap:16px 12px}.landing-preview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.auth-header{padding:18px 20px}.auth-brand{font-size:21px}.auth-landing .theme-toggle{font-size:10px}.auth-main{flex-direction:column;align-items:stretch;gap:26px;padding:28px 20px 36px;display:flex}.auth-story h1{font-size:38px}.auth-features{gap:17px 12px;margin-top:23px}.auth-features small{font-size:10px}.auth-card{padding:20px}.auth-card h2{margin-bottom:14px;font-size:22px}.auth-providers a{min-height:48px}.landing-preview-frame{padding:14px;overflow:hidden}.landing-preview-event h2{margin-bottom:10px;font-size:21px}.landing-preview-event small{font-size:7px}.landing-preview-stats,.landing-preview-desktop{display:none}.landing-preview-toolbar{gap:4px;padding:10px 9px}.landing-preview-toolbar>strong{margin-right:3px;font-size:12px}.preview-tab{padding:4px 6px;font-size:9px}.preview-tools{gap:6px}.preview-tools>span{display:none}.landing-preview-phone{padding:12px;display:block}.preview-phone-nav,.preview-phone-cues{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;display:flex}.preview-phone-cues>span,.preview-phone-card>.present{color:var(--status-ink,var(--tone))}.preview-phone-stack{isolation:isolate;padding-bottom:9px;position:relative}.preview-phone-stack:before{content:"";z-index:-1;background:var(--panel);border:1px solid var(--border);position:absolute;inset:9px 4px 0}.preview-phone-card{background:var(--panel);border:1px solid var(--border);padding:14px;position:relative}.preview-phone-card>small{font-size:10px}.preview-phone-card>svg{color:var(--muted);position:absolute;top:14px;right:14px}.preview-phone-card>div:first-of-type{text-align:center;padding:25px 0}.preview-phone-card h3{font-size:23px;font-weight:650;line-height:1.25}.preview-phone-card p{color:var(--muted);margin-top:4px;font-size:10px}.preview-phone-card>strong{margin-bottom:7px;font-size:10px;font-weight:550;display:block}.preview-phone-excuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:14px;display:grid}.preview-phone-excuses>span{border:1px solid var(--border);background:var(--skin-subtle);color:var(--muted);text-align:center;padding:9px 0;font-size:9px}.preview-phone-card>.preview-note{height:38px;padding:9px}}.sidebar .account-footer{flex-direction:column;align-items:stretch;gap:12px;display:flex}.account-footer>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.account-email{white-space:nowrap;text-overflow:ellipsis;color:var(--skin-sidebar-muted);font-size:10px;display:block;overflow:hidden}.sign-out-link{color:var(--skin-sidebar-text);text-underline-offset:3px;white-space:nowrap;font-size:11px}.events-grid .event-card{min-height:0;padding:16px}.events-grid .event-card-top{margin-bottom:9px}.events-grid .calendar-badge{width:30px;height:30px}.events-grid .event-card h3{margin-bottom:4px;font-size:19px;line-height:1.3}.events-grid .event-card p{margin-top:0;font-size:11px}.event-card-progress-row{align-items:center;gap:12px;margin-top:16px;display:flex}.event-card-progress-row>.card-progress{flex:1;min-width:24px;height:4px;margin:0}.event-card-progress-row>span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.stat-breakdown>.stat-total{border-top:1px solid var(--border);margin-top:4px;padding-top:5px}.landing-demo{grid-column:1/-1;min-width:0}.landing-demo-caption{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.landing-demo-caption h2{font-size:20px}.landing-demo-caption>span{color:var(--muted);font-size:11px}.demo-roll-call{border:2px solid var(--border);background:var(--bg);min-width:0;min-height:0;padding:20px;display:block}.demo-roll-call>.main-shell{width:100%;min-width:0;margin:0!important}.demo-roll-call .event-heading{margin-bottom:20px}.demo-roll-call .roll-call-panel{max-height:650px}.demo-roll-call .timestamp-button:disabled{opacity:1;cursor:default}@media (max-width:760px){.demo-roll-call{padding:12px}.demo-roll-call .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-demo-caption{align-items:flex-start}.landing-demo-caption>span{text-align:right;max-width:110px;font-size:9px}.demo-roll-call .roll-call-panel{max-height:none}}.auth-story h1{white-space:nowrap;letter-spacing:-1.2px;font-size:clamp(22px,3.2vw,42px);line-height:1.2}.auth-story h1>span:first-child{color:var(--green)}.auth-story h1>span:last-child{color:var(--orange)}:root:not([data-theme=dark]) .auth-story h1>span:first-child{color:#247449}:root:not([data-theme=dark]) .auth-story h1>span:last-child{color:#a94e20}.auth-tagline{color:var(--muted);margin-top:13px;font-size:14px;line-height:1.6}.auth-story:before{content:"";background:linear-gradient(90deg,var(--green) 0 25%,var(--yellow) 25% 50%,var(--orange) 50% 75%,var(--red) 75%);width:76px;height:4px;margin-bottom:18px;display:block}.auth-brand>svg,.brand-icon,.auth-features>div:first-child>svg{color:var(--green)}.auth-features>div:nth-child(2)>svg{color:var(--yellow)}.auth-features>div:nth-child(3)>svg{color:var(--orange)}.auth-features>div:nth-child(4)>svg{color:var(--red)}.provider-logo{object-fit:contain;flex:0 0 22px;width:22px;height:22px;display:block}.auth-providers a.auth-chatgpt{background:var(--panel);border-color:var(--border);color:var(--text)}.auth-providers a.auth-chatgpt:hover{background:var(--skin-subtle);filter:none}:root[data-theme=dark] .chatgpt-logo{filter:invert()}.stats-grid .stat .stat-total{margin-top:6px;padding-top:7px}:root:not([data-theme=dark]) .stat-breakdown>.stat-total{border-top-color:color-mix(in srgb,var(--border) 35%,var(--panel))}@media (max-width:760px){.auth-story h1{letter-spacing:-1px;font-size:clamp(20px,6vw,38px)}.auth-tagline{font-size:12px}}.attendance-overview.roll-call-panel{border-width:2px;padding:0}.attendance-overview .comparison-tabs{align-items:center;gap:5px;padding-block:0}.comparison-tabs>.checkbox{color:var(--text);border:1px solid var(--border);background:var(--skin-subtle);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;height:32px;margin:0;padding:5px 8px;font-size:11px;line-height:20px;display:inline-flex}.comparison-tabs>.checkbox input{flex-shrink:0;margin:0}.comparison-tabs>.checkbox:hover{background:var(--skin-hover)}.comparison-tabs>.checkbox.selected,.comparison-tabs>.checkbox.selected:hover{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.comparison-scope{width:130px;height:32px;min-height:32px;max-height:32px;margin:0;padding:5px 8px;font-size:11px;line-height:20px}.attendance-overview>.comparison-table-scroll{flex:1;min-height:140px}@media (max-width:760px){.comparison-tabs>.checkbox{padding:5px;font-size:10px}.comparison-scope{width:105px;font-size:10px}.attendance-overview>.panel-footer{flex-wrap:wrap}}.comparison-tabs input:focus{box-shadow:none;outline:none}.comparison-tabs>.checkbox:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.roll-call-panel>.roll-call-top{box-sizing:border-box;align-items:center;height:60px;min-height:60px;max-height:60px;padding:14px 20px}.roll-call-top>.subevent-heading{align-items:center}.roll-call-top>.roll-call-actions{align-self:center}.roll-call-top .subevent-heading>h2{font:700 18px/1.2 Bitter,Georgia,serif}.roll-call-top .subevent-tabs{scrollbar-width:none;padding:0}.roll-call-top .subevent-tabs::-webkit-scrollbar{display:none}.attendance-table-scroll>.table-label,.comparison-table-scroll thead th{letter-spacing:.8px;text-transform:uppercase;font:600 10px/16px Inter,sans-serif}.attendance-table-scroll>.table-label .sort-heading,.comparison-table-scroll thead .sort-heading{font:inherit;letter-spacing:inherit}:root{--followup-red:#d73745;--followup-green:#24834a}:root[data-theme=dark]{--followup-red:#ff6876;--followup-green:#67cf8c}.person-flag.flagged>svg,.overview-followup.flagged{color:var(--followup-red)}.person-flag.complete>svg,.overview-followup.complete{color:var(--followup-green)}.overview-attendance-cell{justify-content:center;align-items:center;gap:6px;display:inline-flex}.overview-followup{flex:none;align-items:center;display:inline-flex}.overview-attendance-text[data-tooltip-note]{cursor:help}.attendance-note-marker{color:inherit;margin-left:2px;font-weight:700}.app-tooltip.attendance-note-popover{color:var(--note-tone);border-color:var(--note-tone);background:color-mix(in srgb,var(--note-tone) 10%,var(--panel));white-space:pre-wrap;text-align:left;max-width:min(300px,100vw - 16px);padding:8px 10px;line-height:1.5}@media (max-width:760px){.roll-call-panel>.roll-call-top{height:52px;min-height:52px;max-height:52px;padding:10px 7px}.roll-call-top .subevent-heading>h2{font-size:13px}}.roll-call-actions>.mark-dropdown{flex:0 0 140px;width:140px}.roll-call-actions>.mark-dropdown>summary{box-sizing:border-box;justify-content:space-between;gap:6px;width:100%;display:flex}.overview-attendance-cell{gap:0;position:relative}.overview-followup{width:20px;height:24px;min-height:0;box-shadow:none;background:0 0;border:0;padding:2px;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.overview-followup:hover:not(:disabled){filter:brightness(1.15);background:0 0;border-color:#0000}@media (max-width:760px){.roll-call-actions>.mark-dropdown{flex-basis:120px;width:120px}}.overview-attendance-text{display:inline-block;position:relative}.overview-attendance-text>.attendance-note-marker{margin-left:2px;position:absolute;top:0;left:100%}.overview-attendance-cell:has(.attendance-note-marker)>.overview-followup{left:calc(100% + 14px)}.timestamp-button,.timestamp-button:is(:hover,:focus,:focus-visible,:active){background:0 0;box-shadow:none!important;border-color:#0000!important;outline:none!important}.history .history-entry{border-bottom:1px solid color-mix(in srgb,var(--border) 35%,var(--panel));align-items:center;gap:12px}.history-change{align-items:center;gap:7px;min-width:0;display:flex}.history .history-kind{font-size:inherit;text-transform:uppercase;background:var(--tone,#a9adb7);color:#142336;border:0;border-radius:0;flex-shrink:0;padding:2px 5px;font-weight:750;line-height:1.3;display:inline-block}.history .history-kind.note{color:#fff;background:#35383d}.history .history-kind.flagged{background:var(--followup-red);color:#fff}.history .history-kind.complete{background:var(--followup-green);color:#fff}:root[data-theme=dark] .history .history-kind.flagged,:root[data-theme=dark] .history .history-kind.complete{color:#142336}.history-meta{color:var(--muted);font-size:inherit;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;column-gap:6px;display:flex}.history-clear-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.history .history-clear-button,.history .history-cancel-button{box-sizing:border-box;white-space:nowrap;height:26px;min-height:26px;padding:0 6px}.history .history-clear-button{width:100px;min-width:100px}.history .history-cancel-button{width:62px;min-width:62px}@media (max-width:760px){.history .history-entry{flex-direction:column;align-items:flex-start;gap:5px}.history-meta{justify-content:flex-start}.history-change{align-items:flex-start}.history-heading{flex-wrap:wrap}}.excuse-type-filters{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.attendance-toolbar .filter.excuse-type-filter{min-width:0;color:var(--status-ink,var(--tone));border-color:color-mix(in srgb,var(--tone) 45%,var(--border));gap:3px;padding:0 4px}.attendance-toolbar .excuse-type-filter .filter-count{min-width:14px;padding:0 2px}.attendance-toolbar .excuse-type-filter.selected{background:color-mix(in srgb,var(--tone) 20%,var(--panel));border-color:var(--status-ink,var(--tone));color:var(--status-ink,var(--tone))}:root:not([data-theme=dark]) .auth-landing{--text:#3d322a}:root:not([data-theme=dark]) .auth-story h1>span{color:var(--text)}.take-roll-mark{flex:none;display:block;overflow:visible}.auth-features strong{font-size:14px;line-height:1.4}.auth-features small{font-size:12px;line-height:1.5}.auth-features svg{flex-shrink:0}.auth-tagline{font-size:15px}.demo-loading{border:1px solid var(--border);min-height:300px;color:var(--muted);padding:24px}@media (max-width:760px){.auth-features strong{font-size:14px}.auth-features small{font-size:12px}.auth-tagline{font-size:14px}.demo-roll-call{padding:10px}.demo-roll-call .attendance-table-scroll{max-height:65dvh;overflow:auto}.demo-roll-call .attendance-table-scroll .people-list,.demo-roll-call .attendance-table-scroll .table-label{min-width:860px}.demo-roll-call .attendance-table-scroll .row-main,.demo-roll-call .attendance-table-scroll .table-label{grid-template-columns:22px 135px minmax(120px,1fr) 340px 145px 44px;gap:7px;padding-left:8px;padding-right:8px}.demo-roll-call .attendance-table-scroll .row-main{height:64px;min-height:64px;padding-top:8px;padding-bottom:8px}.demo-roll-call .person-cell strong{font-size:12px}.demo-roll-call .person-cell .pronunciation{font-size:9px}.demo-roll-call .status-options{flex-wrap:nowrap;grid-area:auto;gap:4px;padding:0;display:flex}.demo-roll-call .status-options .status-button{min-height:32px;padding:4px 6px;font-size:10px}.demo-roll-call .status-options .excused-cycle{min-width:77px}.demo-roll-call .inline-person-note{height:32px;min-height:32px;font-size:12px}.demo-roll-call .person-cell,.demo-roll-call .row-tools{grid-area:auto}.demo-roll-call .timestamp-button{font-size:9px}.demo-roll-call .row-tools{gap:0}.demo-roll-call .row-tools .icon{padding:3px}.demo-roll-call .comparison-table-scroll{max-height:65dvh}.demo-roll-call .comparison-table-scroll th,.demo-roll-call .comparison-table-scroll td{padding:9px 10px;font-size:11px}.demo-roll-call .comparison-table-scroll thead .sort-heading{font:inherit}}:root:not([data-theme=dark]) .auth-story h1>span:first-child,:root:not([data-theme=dark]) .auth-story h1>span:last-child{color:var(--text)}.excuse-gradient{--gradient-first:var(--academic);--gradient-middle:var(--purple);--gradient-last:var(--blue)}.unexcused-gradient{--gradient-first:var(--yellow);--gradient-middle:var(--orange);--gradient-last:var(--red)}.attendance-toolbar .filter.attendance-gradient.selected,.stats-grid .stat.attendance-gradient,.account-avatar.attendance-gradient{--gradient-fill:13%;--gradient-edge:65%;background:linear-gradient(90deg,color-mix(in srgb,var(--gradient-first) var(--gradient-fill),var(--panel)),color-mix(in srgb,var(--gradient-middle) var(--gradient-fill),var(--panel)),color-mix(in srgb,var(--gradient-last) var(--gradient-fill),var(--panel))) padding-box,linear-gradient(90deg,color-mix(in srgb,var(--gradient-first) var(--gradient-edge),var(--border)),color-mix(in srgb,var(--gradient-middle) var(--gradient-edge),var(--border)),color-mix(in srgb,var(--gradient-last) var(--gradient-edge),var(--border))) border-box;box-shadow:none;border:1px solid #0000}.attendance-toolbar .filter.attendance-gradient.selected:hover:not(:disabled),.stats-grid .stat.attendance-gradient:hover:not(:disabled){--gradient-fill:20%;--gradient-edge:85%}.attendance-toolbar .filter.attendance-gradient.selected,.stats-grid .stat.attendance-gradient.chosen{--gradient-fill:24%;--gradient-edge:100%;box-shadow:none;border-color:#0000}.attendance-toolbar .filter.attendance-gradient.selected:hover:not(:disabled),.stats-grid .stat.attendance-gradient.chosen:hover:not(:disabled){--gradient-fill:28%}:is(:focus,:focus-visible,:focus-within,:active){outline-offset:0!important;outline:none!important}:where(button,input,textarea,select,a,summary,[role=button],[contenteditable]):is(:focus,:focus-visible,:active){box-shadow:none!important}.demo-roll-call .attendance-table-scroll .status-options{flex-wrap:nowrap;max-width:none;overflow:visible}.auth-sign-in{padding-top:22px}.take-roll-mark{flex-shrink:0;display:block}.sidebar .brand-icon{background:0 0;border:0}@media (max-width:760px){.auth-sign-in{padding-top:0}}.device-preferences{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.haptics-toggle{display:none}@media (any-pointer:coarse){.haptics-toggle{display:inline-flex}.account-footer .device-preferences{gap:5px}.auth-header .device-preferences{justify-content:flex-end}}@media (max-width:760px){.auth-header .haptics-toggle span{display:none}.auth-header .device-preferences{flex-wrap:nowrap}}label.ios-haptic-tap{all:unset;z-index:2;cursor:inherit;touch-action:manipulation;clip-path:inset(0 round var(--haptic-radius,0px));-webkit-tap-highlight-color:transparent;display:block;position:absolute;inset:0}label.ios-haptic-tap>input{all:initial;visibility:hidden;-webkit-appearance:auto;appearance:auto;width:1px;height:1px;margin:0;position:absolute}.haptics-test{display:none}@media (any-pointer:coarse){.haptics-test{display:inline-flex}}@media (max-width:400px){.auth-header .device-preferences{gap:4px}.auth-header .theme-toggle{padding:7px}}html{background:var(--bg)}@media (max-width:760px){.mobile-menu-toggle,.save-dock{top:calc(env(safe-area-inset-top,0px) + 10px);-webkit-backdrop-filter:none;background:var(--panel);filter:none}.save-dock{z-index:110}.main-shell>main{padding-top:calc(env(safe-area-inset-top,0px) + 64px)}.sidebar{padding-top:calc(env(safe-area-inset-top,0px) + 65px)}}label.ios-swipe-haptic{all:unset;z-index:4;pointer-events:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent;display:block;position:absolute;inset:0}label.ios-swipe-haptic[data-active=true]{pointer-events:auto}label.ios-swipe-haptic>input{all:initial;visibility:hidden;-webkit-appearance:auto;appearance:auto;width:1px;height:1px;margin:0;position:absolute}.account-footer{gap:14px;padding:16px 2px 4px}.account-identity{align-items:center;gap:10px;min-width:0;display:flex}.account-avatar{border:1px solid #7191ab;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.account-identity>div{gap:3px;min-width:0;display:grid}.account-identity strong{font-size:13px}.account-email{overflow-wrap:anywhere;font-size:11px}.account-identity small{opacity:.75;font-size:10px}.account-links{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.account-links a{min-height:38px;color:inherit;border:1px solid #7191ab;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-size:12px;text-decoration:none;display:flex}.account-links a:hover,.account-links a[aria-current=page]{background:#ffffff16}.settings-page{max-width:900px;margin:0 auto}.settings-card{background:var(--panel);border:1px solid var(--border);border-radius:0;gap:14px;min-width:0;padding:18px;display:grid}.settings-card h2{align-items:center;gap:9px;margin:0;font-size:20px;display:flex}.settings-card label{gap:7px;font-size:12px;display:grid}.settings-card input,.settings-card select{width:100%;min-height:42px;font-size:14px}.settings-card input[readonly]{color:var(--muted)}.settings-fields.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.settings-card .settings-check{align-items:center;gap:10px;line-height:1.5;display:flex}.settings-card .settings-check input{flex-shrink:0;width:18px;height:18px;min-height:18px}.settings-example,.settings-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.settings-example{border:1px solid var(--border);border-radius:5px;padding:10px 12px}.settings-expiry{margin:0;font-size:12px}.settings-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:12px;display:flex}.settings-saved{min-height:24px;color:var(--muted);font-size:13px}.mobile-topbar{display:none}@media (max-width:760px){html[data-workspace=active],html[data-workspace=active] body{overscroll-behavior:none;height:100%;overflow:hidden}.app-shell:not(.demo-roll-call){flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.mobile-topbar{min-height:calc(64px + env(safe-area-inset-top,0px));padding:calc(10px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 10px max(12px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:1px solid var(--border);z-index:110;isolation:isolate;flex:none;align-items:center;gap:12px;display:flex;position:sticky;top:0;-webkit-backdrop-filter:none!important}.mobile-topbar .mobile-menu-toggle{min-height:42px;box-shadow:none;z-index:auto;position:relative;top:auto;left:auto}.mobile-topbar .save-dock{background:var(--panel);max-width:calc(100% - 90px);box-shadow:none;margin-left:auto;position:static;-webkit-backdrop-filter:none!important}.app-shell>.main-shell{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.main-shell>main{padding-top:24px}.sidebar{height:100dvh;padding-bottom:max(16px,env(safe-area-inset-bottom))}.settings-card{padding:14px}.settings-card input,.settings-card select{font-size:16px}}.side-bottom.account-footer{flex-direction:column;align-items:stretch}.settings-card .settings-check input{margin-top:0}.sidebar .account-footer>.account-identity{justify-content:flex-start;gap:10px;display:flex}.sidebar .account-footer>.account-links{flex-wrap:wrap;gap:8px;display:flex}.sidebar .account-links a{flex:1 1 max-content;white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;padding:8px;line-height:1.35}.sidebar .account-links a>svg{flex-shrink:0}.account-avatar,.account-links a,.settings-card,.settings-card input,.settings-card select,.settings-card button,.settings-roll-preview,.settings-example{border-radius:0!important}.settings-controls{border:0;gap:0;min-width:0;margin:0;padding:0;display:grid}.settings-controls:disabled input,.settings-controls:disabled select{opacity:.7}.settings-card label>input,.settings-card label>select{margin-top:0}.settings-card input[type=checkbox]{accent-color:var(--accent)}.settings-roll-preview{border:1px solid var(--border);background:var(--skin-input);grid-template-columns:18px minmax(0,1fr) auto 15px;align-items:center;gap:8px;min-width:0;padding:13px 10px;display:grid}.settings-roll-preview .person-number{font-size:10px}.preview-person{gap:3px;min-width:0;display:grid}.preview-person strong{overflow-wrap:anywhere;font-size:12px;line-height:1.4}.settings-roll-preview .pronunciation{white-space:normal;overflow-wrap:anywhere;font-size:9px;line-height:1.4}.preview-statuses{gap:3px;display:flex}.preview-statuses .status-button{border:1px solid var(--border);background:var(--skin-status);min-width:0;min-height:26px;color:var(--skin-status-muted);border-radius:0;justify-content:center;align-items:center;padding:5px;font-size:9px;line-height:1.2;display:inline-flex}.preview-statuses .present.checked{color:#142336;background:var(--green);border-color:var(--green)}.preview-delete{color:var(--muted)}.retention-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.retention-heading output{color:var(--text);font-size:12px;font-weight:600}.settings-card .retention-slider{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;width:100%;height:36px;min-height:36px;margin:5px 0 0;padding:0;display:block}.retention-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) 0 var(--range-progress),var(--skin-subtle) var(--range-progress) 100%);border:1px solid var(--border);height:5px}.retention-slider::-moz-range-track{border:1px solid var(--border);background:var(--skin-subtle);height:3px}.retention-slider::-moz-range-progress{background:var(--accent);height:3px}.retention-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border:2px solid var(--panel);background:var(--accent);width:17px;height:19px;box-shadow:0 0 0 1px var(--accent);border-radius:0;margin-top:-8px}.retention-slider::-moz-range-thumb{border:2px solid var(--panel);background:var(--accent);width:13px;height:15px;box-shadow:0 0 0 1px var(--accent);border-radius:0}.settings-card .retention-slider:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.retention-ticks{justify-content:space-between;gap:0;margin:0 -5px;display:flex}.settings-card .retention-ticks button{min-height:32px;color:var(--muted);background:0 0;border:0;padding:5px;font-size:11px}.settings-card .retention-ticks button[aria-pressed=true]{color:var(--text);text-underline-offset:4px;font-weight:700;text-decoration:underline}.settings-card .retention-ticks button:disabled{cursor:default;opacity:.75}.settings-card .retention-ticks button:hover{background:var(--skin-subtle)}.member-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.member-row>div{gap:3px;min-width:0;display:grid}.member-row strong{overflow-wrap:anywhere;font-size:13px}.member-row span{color:var(--muted);font-size:11px}.member-admin,.member-item{border-bottom:1px solid var(--border)}.organization-members{gap:0}.organization-members h2{margin-bottom:5px}.member-invite{align-items:end;gap:10px;margin-top:18px;display:flex}.member-invite label{flex:1;min-width:0}.member-invite button{min-height:42px}.organization-members .settings-hint{margin-top:12px}.member-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-bottom:12px;font-size:12px;display:flex}.member-confirm>span{margin-right:auto}.organization-members .form-error{margin-top:12px}@media (max-width:760px){.settings-roll-preview{grid-template-columns:18px minmax(0,1fr) 15px;grid-template-areas:"number person remove"".statuses.";row-gap:10px}.settings-roll-preview>.person-number{grid-area:number}.settings-roll-preview>.preview-person{grid-area:person}.preview-statuses{grid-area:statuses}.preview-delete{grid-area:remove}.preview-statuses .status-button{padding:6px 11px;font-size:10px}.member-invite{flex-direction:column;align-items:stretch}.member-invite button{align-self:flex-end}.retention-ticks{gap:0}.settings-card .retention-ticks button{min-height:36px;padding:4px;font-size:10px}.account-identity small{overflow-wrap:anywhere}}.event-heading h1.editable-event-title{letter-spacing:.015em}:root[data-theme=dark] .auth-story h1>span:first-child,:root[data-theme=dark] .auth-story h1>span:last-child{color:#fff}.auth-loading{min-height:100dvh;color:var(--muted);background:var(--bg);place-items:center;display:grid}.legal-links{flex-wrap:wrap;gap:10px 20px;font-size:12px;line-height:1.6;display:flex}.legal-links a,.legal-page a,.agreement-page a,.auth-legal-note a,.cookie-notice a{text-underline-offset:3px;color:inherit;text-decoration:underline}.legal-page .auth-brand,.agreement-page .auth-brand{text-decoration:none}.roll-call-actions>.event-history-button{justify-content:center;align-items:center;width:32px;min-width:32px;display:inline-flex;padding:0!important}dialog:has(.event-change-history){width:calc(100% - 32px);max-width:1100px;max-height:92dvh;padding:22px;overflow:hidden}.event-history-summary{color:var(--muted);overflow-wrap:anywhere;justify-content:space-between;gap:12px;margin:0 0 14px;font-size:12px;display:flex}.event-history-summary>span{flex-shrink:0}.event-history-scroll{overscroll-behavior:contain;border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);max-height:calc(92dvh - 180px);overflow:auto}.event-history-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.event-history-table{table-layout:fixed;border-collapse:collapse;text-align:left;background:var(--panel);width:100%;font-size:12px}.event-history-table th{z-index:1;background:var(--skin-subtle);color:var(--muted);letter-spacing:.4px;border-bottom:1px solid var(--border);font-size:10px;font-weight:600;position:sticky;top:0}.event-history-table th,.event-history-table td{vertical-align:top;overflow-wrap:anywhere;padding:10px 12px}.event-history-table td{border-bottom:1px solid color-mix(in srgb,var(--border) 35%,var(--panel));line-height:1.45}.event-history-table tbody tr:last-child td{border-bottom:0}.event-history-table time{color:var(--muted);font-size:11px;display:block}.event-history-table time>span{display:block}.event-history-table strong{font-size:inherit;font-weight:600}.event-history-table .history-kind{text-transform:uppercase;background:var(--tone,#a9adb7);color:#142336;border-radius:0;margin-bottom:5px;padding:2px 5px;font-size:10px;font-weight:750;line-height:1.3;display:inline-block}.event-history-table .history-kind.note{color:#fff;background:#35383d}.event-history-table .history-kind.flagged{background:var(--followup-red);color:#fff}.event-history-table .history-kind.complete{background:var(--followup-green);color:#fff}.event-history-value{white-space:pre-wrap;gap:6px;min-width:0;display:flex}.event-history-value-label{color:var(--muted);min-width:28px;padding-top:1px;font-size:10px}.event-history-value>span:last-child,.event-history-value>details{flex:1;min-width:0}.event-history-value .history-value-toggle{text-underline-offset:2px;min-height:24px;padding:2px 0;font-size:10px;text-decoration:underline;display:block}.history-mobile-meta{display:none}.event-history-table .event-history-empty{text-align:center;color:var(--muted);padding:30px}.event-history-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;padding-top:14px;font-size:11px;display:flex}.event-history-pagination>span{margin-right:auto}@media (max-width:900px){dialog:has(.event-change-history){width:calc(100% - 16px);max-height:94dvh;padding:16px}.event-history-scroll{max-height:calc(94dvh - 180px)}.event-history-table .history-by,.event-history-table .history-subevent{display:none}.event-history-table th:first-child{width:28%}.event-history-table th:nth-child(3){width:25%}.event-history-table th:last-child{width:47%}.event-history-table th,.event-history-table td{padding:9px 7px}.event-history-table{font-size:11px}.event-history-table time{font-size:10px}.history-mobile-meta{color:var(--muted);margin-top:5px;font-size:10px;display:block}.event-history-value-label{min-width:23px;font-size:9px}.event-history-summary{gap:8px;font-size:11px}}.auth-footer{border-top:1px solid var(--border);max-width:1420px;color:var(--muted);margin:0 auto;padding:24px 30px 36px;font-size:11px}.auth-footer p{margin-top:12px}.auth-legal-note{color:var(--muted);margin:0 0 14px;font-size:11px;line-height:1.6}.cookie-notice{z-index:300;background:var(--panel,#fff);max-width:720px;color:var(--text);border:1px solid var(--border);border-radius:0;align-items:center;gap:20px;padding:16px 20px;font-size:12px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:4px 4px #0002}.cookie-notice strong{font-size:13px}.cookie-notice p{margin:5px 0;line-height:1.5}.cookie-notice button{white-space:nowrap;border-radius:0}.legal-page{background:var(--bg);min-height:100dvh;color:var(--text)}.legal-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;display:flex}.legal-page main{max-width:860px;margin:0 auto;padding:48px 30px 60px}.legal-page h1,.agreement-card h1{letter-spacing:0;font-family:Bitter,Georgia,serif;font-size:32px;line-height:1.2}.legal-date{color:var(--muted);margin-top:12px;font-size:12px}.legal-page section{margin-top:30px}.legal-page h2{letter-spacing:0;font-family:Bitter,Georgia,serif;font-size:19px;line-height:1.4}.legal-page section p{overflow-wrap:anywhere;margin-top:12px;font-size:14px;line-height:1.85}.legal-page footer{border-top:1px solid var(--border);color:var(--muted);padding:24px 30px;font-size:12px}.legal-page footer p{margin-top:16px}.agreement-page{max-width:740px;min-height:100dvh;margin:0 auto;padding:32px 24px 220px}.agreement-card{background:var(--panel,#fff);border:1px solid var(--border);border-radius:0;margin:32px 0;padding:28px;box-shadow:4px 4px #0002}.agreement-card p{margin:18px 0;font-size:14px;line-height:1.75}.agreement-card small{color:var(--muted);overflow-wrap:anywhere;margin-bottom:24px;display:block}.agreement-check{align-items:flex-start;gap:12px;margin:20px 0;font-size:14px;line-height:1.6;display:flex}.agreement-check input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:2px}.agreement-card .primary{min-height:44px;margin:8px 0}.agreement-decline{margin-top:12px;font-size:12px;display:block}.legal-settings{margin-top:24px}.legal-settings h2{margin-bottom:16px}.legal-settings p{margin-top:14px;font-size:12px}@media (max-width:760px){.auth-footer{padding:20px}.cookie-notice{align-items:flex-start;gap:12px;padding:14px;bottom:10px;left:10px;right:10px}.cookie-notice p{font-size:11px}.legal-page main{padding:30px 20px 180px}.legal-page h1,.agreement-card h1{font-size:26px}.legal-page header{padding:16px 20px}.agreement-card{padding:20px}.agreement-page{padding:24px 20px 230px}}:root{--default-flag-color:#d73745;--default-check-color:#24834a}:root[data-theme=dark]{--default-flag-color:#ff6876;--default-check-color:#67cf8c}.stats-grid.custom-stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.stats-grid.custom-stats .stat>span{white-space:normal;overflow-wrap:anywhere;color:var(--status-ink,var(--tone))}.attendance-toolbar .filter.attendance-gradient.selected,.stats-grid .stat.attendance-gradient,.account-avatar.attendance-gradient{background:var(--attendance-fill) padding-box,var(--attendance-edge) border-box}.settings-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.settings-section-heading h3,.settings-section-heading h4{margin:0}.settings-section-heading .small{min-height:36px}.attendance-choice-list{gap:9px;display:grid}.attendance-choice{border:1px solid var(--border);background:var(--skin-input);min-width:0;padding:10px}.attendance-choice-main{grid-template-columns:minmax(0,1fr) 130px 34px;align-items:end;gap:8px;display:grid}.attendance-choice-main input{height:var(--control-height);min-width:0;margin:0;padding:7px 9px;font-size:12px}.attendance-choice-options{flex-wrap:wrap;gap:10px 18px;margin-top:9px;display:flex}.attendance-choice-options .settings-check{margin:0;font-size:11px}.attendance-choice-main.excuse-editor{grid-template-columns:minmax(0,1fr) 75px 125px 34px;align-items:end}.attendance-choice-main.excuse-editor label{font-size:10px}.attendance-choice-main.excuse-editor input{margin-top:0}.attendance-color-picker{min-width:0;margin:0;position:relative}.attendance-color-picker>summary{cursor:pointer;min-height:var(--control-height);height:var(--control-height);border:1px solid var(--border);background:var(--skin-input);align-items:center;gap:7px;padding:7px 9px;font-size:11px;list-style:none;display:flex}.attendance-color-picker>summary::-webkit-details-marker{display:none}.attendance-color-picker>summary>i{border:1px solid #20344b55;flex:none;width:17px;height:17px;display:block}.attendance-color-picker>summary>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-color-options{z-index:15;background:var(--panel);border:1px solid var(--border);box-shadow:3px 3px 0 var(--skin-shadow);grid-template-columns:repeat(5,32px);gap:6px;width:max-content;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.attendance-color-options>button{color:#142336;border:1px solid #20344b55;width:32px;height:32px;padding:0}.attendance-color-options>button[aria-pressed=true]{outline:2px solid var(--text)!important;outline-offset:1px!important}.settings-visibility{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.settings-visibility .settings-check{margin:0}.retired-attendance{margin-top:12px;font-size:12px}.retired-attendance>summary{cursor:pointer;color:var(--muted);margin-bottom:9px}.retired-attendance button{margin:0 6px 6px 0}.attendance-custom-preview{border:1px solid var(--border);background:var(--panel);min-width:0;padding:12px}.settings-preview-note{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:12px;font-size:11px;font-weight:600}.settings-preview-note>span{color:var(--muted);margin-left:8px;font-weight:400}.settings-preview-person{align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.settings-preview-person>div{flex:1;min-width:0}.attendance-custom-preview>.preview-statuses{flex-wrap:wrap;gap:5px;margin:10px 0;display:flex}.attendance-custom-preview>.preview-statuses .status-button{min-height:34px}.settings-preview-history{color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:11px;display:flex}.attendance-custom-preview .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.attendance-custom-preview .stat{min-height:100px}.attendance-custom-preview .stat>span{font-size:13px}.attendance-custom-preview .stat>strong{font-size:22px}.attendance-custom-preview .stat small{font-size:10px}.mobile-custom-statuses{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.mobile-custom-statuses .status-button,.mobile-excuse-only{justify-content:center;align-items:center;height:40px;min-height:40px;padding:5px;font-size:12px;line-height:1.2;display:inline-flex}.mobile-custom-statuses .status-button{flex:1}.mobile-excuses{flex-wrap:wrap}.app-shell[data-comments=false] .attendance-table-scroll .row-main,.app-shell[data-comments=false] .attendance-table-scroll .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 155px 52px}.app-shell[data-history=false] .attendance-table-scroll .row-main,.app-shell[data-history=false] .attendance-table-scroll .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 52px}.app-shell[data-comments=false][data-history=false] .attendance-table-scroll .row-main,.app-shell[data-comments=false][data-history=false] .attendance-table-scroll .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 52px}@media (max-width:760px){.stats-grid.custom-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-choice-main{grid-template-columns:minmax(0,1fr) 105px 26px}.attendance-choice-main.excuse-editor{grid-template-columns:minmax(0,1fr) 60px 26px}.excuse-editor>.attendance-color-picker{grid-area:2/1/auto/3}.excuse-editor>.icon{grid-area:1/3}.settings-visibility{gap:10px 6px}.attendance-choice-options{gap:10px}.attendance-choice-options .settings-check{font-size:10px}.attendance-custom-preview .stat>span{font-size:12px}.attendance-custom-preview .stat{padding:9px}.attendance-custom-preview{padding:10px}}.custom-breakdown-color,.custom-attendance-cell,.history-attendance-value{--status-ink:color-mix(in srgb,var(--tone) 30%,#18212b);color:var(--status-ink)!important}:root[data-theme=dark] .custom-breakdown-color,:root[data-theme=dark] .custom-attendance-cell,:root[data-theme=dark] .history-attendance-value{--status-ink:color-mix(in srgb,var(--tone) 40%,#fff)}.settings-controls:disabled .attendance-color-picker>summary{pointer-events:none;opacity:.6}.settings-controls:disabled .attendance-color-picker>summary:focus-visible{outline:2px solid var(--accent)!important}.settings-fields.two>label:first-child .attendance-color-options{left:0;right:auto}@media (max-width:760px){.settings-card .attendance-choice-main input{font-size:16px}}:root{--attendance-ink-share:30%}:root[data-theme=dark]{--attendance-ink-share:100%}dialog:has(.event-change-history){max-width:1200px}.event-history-scroll{max-height:calc(92dvh - 145px)}.event-history-table th:first-child{width:108px}.event-history-table th:nth-child(2){width:140px}.event-history-table th:nth-child(3){width:160px}.event-history-table th:nth-child(4){width:95px}.event-history-table th:nth-child(5){width:104px}.event-history-table th{text-transform:uppercase;padding-block:9px}.event-history-table .sort-heading{font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:normal;text-align:left;justify-content:flex-start;width:100%;padding:0}.event-history-table .history-kind{overflow-wrap:normal;word-break:normal;max-width:100%;margin:0}.event-history-table .event-history-value+.event-history-value{margin-top:3px}.event-history-table .history-values{width:auto}.save-dock.manual-save{pointer-events:auto;white-space:nowrap;flex-wrap:nowrap;gap:8px;height:32px;min-height:0;padding:0 8px}.save-dock.manual-save .small{height:24px;min-height:0;color:var(--text);background:0 0;border:0;align-items:center;gap:5px;padding:0 3px;font-size:10px;line-height:1;display:inline-flex}.save-dock.manual-save .small:hover:not(:disabled){background:var(--skin-subtle)}.save-dock.manual-save .small:disabled{cursor:default;opacity:.4}@media (max-width:900px){.event-history-scroll{max-height:calc(94dvh - 140px)}.event-history-table th:first-child{width:22%}.event-history-table th:nth-child(3){width:24%}.event-history-table th:nth-child(5){width:76px}.event-history-table th:last-child{width:auto}.event-history-table th,.event-history-table td{padding:9px 6px}.event-history-table .history-kind{padding:2px 4px;font-size:9px}.event-history-value{display:block}.event-history-value-label{margin-bottom:2px;padding:0;display:block}.event-history-table th .sort-heading{gap:2px;font-size:9px}.event-history-table th .sort-heading>svg{width:10px;height:10px}.event-history-pagination{gap:6px;padding-top:12px}.event-history-pagination .small{padding:6px;font-size:10px}}.history-extra-sort{display:none;position:relative}.history-extra-sort>summary{border:1px solid var(--border);background:var(--skin-subtle);cursor:pointer;justify-content:center;align-items:center;width:30px;height:28px;list-style:none;display:flex}.history-extra-sort>summary::-webkit-details-marker{display:none}.history-extra-sort>div{z-index:5;background:var(--panel);border:1px solid var(--border);min-width:160px;box-shadow:3px 3px 0 var(--skin-shadow);padding:6px;position:absolute;bottom:calc(100% + 6px);right:0}.history-extra-sort .sort-heading{justify-content:space-between;width:100%;padding:9px 8px;font-size:11px;display:flex}@media (max-width:900px){.history-extra-sort{display:block}.event-history-pagination{gap:5px}.event-history-pagination>span{font-size:10px}}html[data-installed-mobile=true],html[data-installed-mobile=true] body{overscroll-behavior:none;touch-action:pan-x pan-y;width:100%;height:100%;overflow:hidden}html[data-installed-mobile=true] body{overscroll-behavior:none;height:100dvh;overflow:hidden auto}html[data-installed-mobile=true][data-workspace=active] body{overflow:hidden}html[data-installed-mobile=true] .app-shell:not(.demo-roll-call){height:100dvh;min-height:0;overflow:hidden}html[data-installed-mobile=true] .app-shell:not(.demo-roll-call)>.main-shell{overscroll-behavior:none;touch-action:pan-x pan-y;height:100%;min-height:0;overflow:auto}html[data-installed-mobile=true] .main-shell>main{padding-bottom:max(24px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}html[data-installed-mobile=true] input,html[data-installed-mobile=true] select,html[data-installed-mobile=true] textarea{font-size:max(16px,1em)}html[data-installed-mobile=true] .auth-header{padding-top:calc(18px + env(safe-area-inset-top,0px))}html[data-installed-mobile=true] .auth-landing,html[data-installed-mobile=true] .legal-page{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html[data-installed-mobile=true] .legal-page header{padding-top:calc(16px + env(safe-area-inset-top,0px))}html[data-installed-mobile=true] .agreement-page{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}html[data-installed-mobile=true] dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px);overscroll-behavior:contain}html[data-installed-mobile=true] .cookie-notice{bottom:calc(10px + env(safe-area-inset-bottom,0px))}@media (min-width:761px){html[data-installed-mobile=true] .save-dock{top:calc(env(safe-area-inset-top,0px) + 14px)}html[data-installed-mobile=true] .sidebar,html[data-installed-mobile=true] .main-shell>main{padding-top:max(24px,env(safe-area-inset-top,0px))}}.workspace-switcher{width:100%;min-width:0;min-height:42px;color:var(--skin-sidebar-text);text-align:left;background:0 0;border:1px solid #7191ab;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.workspace-switcher>span{gap:2px;min-width:0;display:grid}.workspace-switcher small{color:var(--skin-sidebar-muted);font-size:9px}.workspace-switcher strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.workspace-switcher>svg{flex:none}.sidebar .workspace-switcher:hover{color:var(--skin-sidebar-text);background:#ffffff16}.workspace-dialog{width:min(540px,100vw - 24px);max-height:85dvh;color:var(--text);background:var(--panel);border-radius:0;padding:20px;overflow:auto}.workspace-dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.workspace-dialog-heading h2{align-items:center;gap:9px;margin:0;font-size:22px;display:flex}.workspace-dialog .icon{border-radius:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;display:inline-flex}.workspace-list{overscroll-behavior:contain;max-height:40dvh;display:grid;overflow:auto}.workspace-option{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.workspace-option>div:first-child{gap:4px;min-width:0;display:grid}.workspace-option strong{overflow-wrap:anywhere;font-size:13px}.workspace-option small{color:var(--muted);font-size:10px}.workspace-option-actions{flex:none;align-items:center;gap:5px;display:flex}.workspace-dialog label{gap:6px;min-width:0;font-size:12px;display:grid}.workspace-dialog input,.workspace-dialog select{border-radius:0;width:100%;min-width:0;min-height:36px}.workspace-create{align-items:end;gap:8px;margin-top:18px;display:flex}.workspace-create label{flex:1}.workspace-create button{height:var(--control-height);flex:none;align-items:center;gap:5px;display:inline-flex}.workspace-confirm{border:1px solid var(--border);background:var(--skin-subtle);gap:12px;margin-top:16px;padding:14px;display:grid}.workspace-confirm>strong{overflow-wrap:anywhere;font-size:14px}.workspace-confirm p{margin:0;font-size:12px;line-height:1.5}.workspace-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.workspace-dialog .form-error{margin-top:12px;font-size:12px}.workspace-dialog button{border-radius:0}@media (max-width:400px){.workspace-dialog{padding:14px}.workspace-option{gap:6px}.workspace-option-actions{gap:3px}.workspace-option-actions .small{padding:5px}.workspace-confirm{padding:10px}}:root{--control-height:42px}.app-modal{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:0;padding:24px}.app-modal>.modal-head{justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;display:flex}.app-modal>.modal-head h2{align-items:center;gap:9px;margin:0;font-size:26px;line-height:1.25;display:flex}.app-modal>.modal-head>.modal-close{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;padding:6px;line-height:1;display:inline-flex}.app-modal>.modal-head>.modal-close:hover{background:var(--skin-hover);color:var(--text)}.settings-card input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([aria-hidden=true]),.app-modal input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([aria-hidden=true]),.app-select-trigger{height:var(--control-height);min-height:var(--control-height);box-sizing:border-box;border-radius:0}.attendance-choice-main>label{min-width:0;margin:0}.attendance-choice-main>.icon{height:var(--control-height);min-height:var(--control-height);align-self:end;padding:0}.attendance-choice-main>.attendance-color-picker{align-self:end}.workspace-create,.member-invite,.preset-editor{align-items:end}.workspace-create>label,.member-invite>label,.preset-editor>label{gap:7px;min-width:0;margin:0;display:grid}.workspace-create>button,.member-invite>button,.preset-editor>button,.app-modal .modal-footer>button,.app-modal .settings-actions>button,.settings-card .settings-actions>button,.workspace-confirm-actions>button,.report-actions>button{height:var(--control-height);min-height:var(--control-height);justify-content:center;align-items:center;margin:0;font-size:13px;display:inline-flex}.app-select-trigger{text-align:left;border:1px solid var(--border);background:var(--skin-input);width:100%;min-width:0;color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:400;display:flex}.app-select-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-select-trigger>span:last-child{flex:none;display:flex}.app-select-trigger:hover:not(:disabled){background:var(--skin-input);border-color:var(--accent)}.app-select-trigger[data-disabled]{opacity:.6;cursor:default}.app-select-positioner{z-index:300;isolation:isolate}.app-select-popup{min-width:var(--anchor-width);max-width:calc(100vw - 24px);max-height:min(320px,var(--available-height,320px));overscroll-behavior:contain;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:3px 3px 0 var(--skin-shadow);border-radius:0;outline:none;padding:4px;font:12px Inter,ui-sans-serif,system-ui,sans-serif;overflow:auto}.app-select-option{cursor:pointer;overflow-wrap:anywhere;outline:none;justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:8px 10px;display:flex}.app-select-option[data-highlighted]{background:var(--skin-hover)}.app-select-option[data-selected]{color:var(--accent);font-weight:600}.app-select-option[data-disabled]{opacity:.45;cursor:default}.app-select-option-text{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.app-select-check{flex:none}@media (max-width:760px){.member-invite{align-items:stretch}.app-modal{padding:20px}.app-modal>.modal-head h2{font-size:23px}.app-select-option{min-height:42px}.app-select-trigger{font-size:16px}}label>.app-select-trigger{margin-top:7px}.settings-card label>.app-select-trigger,.workspace-dialog label>.app-select-trigger,.workspace-dialog label>input,.preset-editor label>input{margin-top:0}.stats-grid .stat .stat-breakdown .custom-breakdown-color b{color:inherit}.history-badges{flex-shrink:0;align-items:flex-start;gap:4px;display:inline-flex}.event-history-table .history-badges{flex-direction:column;align-items:flex-start;display:flex}.history .history-kind.history-operation,.event-history-table .history-kind.history-operation{color:#ffdf00;background:#35383d}:root[data-theme=dark] :is(.history,.event-history-table) .history-kind.note{color:#35383d;background:#f1f1ed}.history .history-kind.history-operation,.event-history-table .history-kind.history-operation{box-sizing:border-box;justify-content:center;align-items:center;gap:3px;width:5.5em;display:inline-flex}.history-operation>svg{width:1em;height:1em;color:inherit;flex:none}.stats-grid.custom-stats{grid-auto-rows:1fr;align-items:stretch}.stats-grid.custom-stats .stat{grid-template-rows:minmax(24px,auto) auto;align-content:stretch;row-gap:8px;height:auto;min-height:112px}.stats-grid.custom-stats .stat .stat-breakdown{align-self:end;min-width:0}.stats-grid.custom-stats .stat-breakdown small{white-space:normal;overflow-wrap:anywhere}.event-name-entry{border:1px solid var(--border);background:var(--skin-subtle);border-top:0}.event-name-entry>.roster-inline-fields{border-bottom:0}.event-name-entry .roster-inline-fields{grid-template-columns:28px minmax(0,1fr) 84px}.event-add-split{flex:none;align-items:stretch;display:inline-flex}.event-add-split>button{text-transform:uppercase;height:32px;min-height:32px;padding:0 9px;font-size:10px}.event-add-split>.split-add-menu{border-left:0;justify-content:center;width:26px;min-width:26px;padding:0}.split-add-menu>span:first-child{display:none}.row-confirm{scroll-margin-block:12px}.removed-section>.text-button{margin-bottom:14px}.removed-table{border:1px solid var(--border);background:var(--panel)}.removed-table .attendance-row{border-bottom:1px solid var(--border)}.removed-table .attendance-row:last-child{border-bottom:0}.removed-table .row-main,.removed-table .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 155px 80px}.app-shell[data-comments=false] .removed-table .row-main,.app-shell[data-comments=false] .removed-table .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 155px 80px}.app-shell[data-history=false] .removed-table .row-main,.app-shell[data-history=false] .removed-table .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 80px}.app-shell[data-comments=false][data-history=false] .removed-table .row-main,.app-shell[data-comments=false][data-history=false] .removed-table .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 80px}.removed-attendance-row .status-button:disabled,.removed-attendance-row .person-flag:disabled{opacity:.7;cursor:not-allowed}.removed-attendance-row .inline-person-note:disabled{opacity:.7;color:var(--text);-webkit-text-fill-color:var(--text);cursor:not-allowed}.removed-attendance-row .row-tools{gap:2px}.removed-on-label{margin:0;font-size:10px;line-height:1.2;display:block}.removed-attendance-row .timestamp-button{text-align:center;flex-direction:column;justify-content:center;justify-self:stretch;align-items:center;gap:0}.removed-attendance-row .timestamp-button time{line-height:1.25}button:disabled,input:disabled,textarea:disabled,select:disabled,[role=button][aria-disabled=true],.app-select-trigger[data-disabled]{opacity:.7;cursor:not-allowed!important}.app-select-option[data-disabled]{cursor:not-allowed!important}.stat-title-red{--tone:var(--red);--status-ink:color-mix(in srgb,var(--tone) 30%,#18212b)}:root[data-theme=dark] .stat-title-red{--status-ink:color-mix(in srgb,var(--tone) 40%,#fff)}@supports (color:oklch(from red l c h)){:root{--attendance-vivid-lightness:.49;--attendance-vivid-chroma-gain:2.2;--attendance-vivid-chroma-limit:.12;--attendance-vivid-selected-lightness:.43}:root[data-theme=dark]{--attendance-vivid-lightness:.86;--attendance-vivid-chroma-gain:1.5}:root[data-theme] :is(.stat,.custom-attendance-cell,.custom-breakdown-color,.history-attendance-value,.stat-title-red){--status-ink:oklch(from var(--tone,var(--text)) var(--attendance-vivid-lightness) min(var(--attendance-vivid-chroma-limit),calc(c * var(--attendance-vivid-chroma-gain))) h)}:root:not([data-theme=dark]) .stat:hover,:root:not([data-theme=dark]) .stat.chosen{--attendance-vivid-lightness:var(--attendance-vivid-selected-lightness)}.comparison-table-scroll .neutral-attendance-cell{color:var(--text)}}:root[data-theme=dark]{--attendance-dark-gradient-fill:10%;--attendance-dark-gradient-hover:13%;--attendance-dark-gradient-selected:14%;--attendance-dark-gradient-selected-hover:16%}:root[data-theme=dark] .stats-grid .stat.attendance-gradient{--gradient-fill:var(--attendance-dark-gradient-fill)}:root[data-theme=dark] .stats-grid .stat.attendance-gradient:hover:not(:disabled){--gradient-fill:var(--attendance-dark-gradient-hover)}:root[data-theme=dark] .stats-grid .stat.attendance-gradient.chosen{--gradient-fill:var(--attendance-dark-gradient-selected)}:root[data-theme=dark] .stats-grid .stat.attendance-gradient.chosen:hover:not(:disabled){--gradient-fill:var(--attendance-dark-gradient-selected-hover)}.archive-card{border:1px solid var(--border);margin-bottom:14px;padding:18px}.archive-card .archive-heading{flex-direction:row;align-items:flex-start;gap:16px;margin:0}.archive-card .archive-heading>div:first-child{flex:1;min-width:0}.archive-card h2{overflow-wrap:anywhere;font-size:21px;line-height:1.35}.archive-card .archive-heading p{margin:6px 0 0;line-height:1.5}.archive-actions{flex:none;gap:5px;display:flex}.archive-actions .icon{width:32px;height:32px;padding:6px}.archive-card-meta{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:7px 22px;margin-top:14px;padding-top:12px;font-size:11px;line-height:1.5;display:flex}.archive-card .inline-confirm{margin-top:14px}.inline-event-note [aria-disabled=true]{opacity:.7;cursor:not-allowed}@media (max-width:760px){.archive-card{padding:14px}.archive-card h2{font-size:18px}.archive-card .archive-heading{gap:10px}.archive-card-meta{gap:6px 16px}.archive-actions{gap:3px}}.status-options .status-button{white-space:nowrap;flex:none;width:auto;min-width:56px}.status-options .status-button.excused-cycle{flex:none;width:auto;min-width:92px}.status-button>span{white-space:nowrap}.mobile-custom-statuses .status-button{flex:1 0 auto;min-width:max-content}.settings-roll-preview .preview-statuses{flex-wrap:wrap;min-width:0}.demo-roll-call .attendance-table-scroll .status-options{max-width:100%;overflow-x:auto}.sortable-item{touch-action:pan-x pan-y;padding-left:28px;position:relative}.sortable-item>.reorder-handle{width:28px;height:32px;min-height:32px;color:var(--muted);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sortable-item>.reorder-handle:active{cursor:grabbing}.sortable-item[data-reorder-disabled=true]{padding-left:28px}.sortable-item.dragging{touch-action:none}.attendance-choice-list .sortable-list{gap:9px;display:grid}.name-format-editor{gap:8px;min-width:0;margin:16px 0;display:grid}.name-format-editor>label{margin:0;font-size:12px;font-weight:400;line-height:1.5}.name-format-field{border:1px solid var(--border);background:var(--skin-input);align-items:stretch;min-width:0;display:flex}.name-format-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.name-format-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;flex:1;min-width:0;min-height:44px;padding:7px 8px;font-size:13px;line-height:32px}.name-chip{vertical-align:middle;border:1px solid var(--border);background:var(--panel);-webkit-user-select:all;user-select:all;white-space:nowrap;align-items:center;gap:3px;max-width:100%;height:29px;line-height:1;display:inline-flex}.name-chip-label{text-overflow:ellipsis;pointer-events:none;font-size:11px;font-weight:600;overflow:hidden}.name-chip button{width:24px;height:27px;min-height:0;color:inherit;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.name-chip .name-chip-handle{cursor:grab;touch-action:none}.name-chip-grip{opacity:.6;background:radial-gradient(circle,currentColor 1px,#0000 1.5px) 0 0/4px 4px;width:8px;height:12px}.name-chip .name-chip-remove{cursor:pointer;font-size:17px}:is(.name-chip button:hover,.name-chip button:focus-visible){background:var(--skin-hover)}.name-chip[data-drop-target]{outline:2px solid var(--accent);outline-offset:1px}.name-format-input[data-dragging] .name-chip{-webkit-user-select:none;user-select:none}.name-format-insert{border-left:1px solid var(--border);flex:none;align-self:stretch;display:flex}.name-format-insert .name-format-insert-button{width:36px;height:100%;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;padding:0;position:relative}.name-format-insert-button .app-select-value{display:none}.name-format-field.disabled{opacity:.7;cursor:not-allowed}.name-format-field.disabled .name-format-input{cursor:not-allowed}@media (max-width:480px){.name-chip button{width:27px}}@media (max-width:760px),(pointer:coarse){.sortable-item{cursor:default}.sortable-item>.reorder-handle{width:28px;min-height:40px}}.roster-rows-scroll .roster-table-head{padding-left:40px}.attendance-table-scroll:has(>.people-list>.sortable-list)>.table-label{padding-left:40px}.demo-roll-call .attendance-table-scroll:has(>.people-list>.sortable-list)>.table-label{padding-left:36px}.attendance-table-scroll .table-label>:is(span,button)[data-column]{text-align:left;grid-column:auto;justify-content:flex-start}.attendance-table-scroll .table-label>:is(span,button)[data-column=\#],.attendance-table-scroll .table-label>:is(span,button)[data-column=Last\ Changed]{text-align:center;justify-content:center}.settings-tabs{border-bottom:1px solid var(--border);gap:2px;min-width:0;margin-bottom:16px;display:flex}.settings-tab{min-height:42px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:12px;display:flex}.settings-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);background:var(--skin-subtle)}.settings-tab:hover{color:var(--text);background:var(--skin-hover)}.settings-tab-unsaved{color:var(--accent);font-weight:700}.settings-tab-panel{gap:14px;min-width:0;display:grid}.settings-tab-panel[hidden],.settings-tab-panel[data-hidden]{display:none!important}.settings-card h2{font-size:24px;font-weight:700;line-height:1.25}.settings-card .settings-actions{align-items:center;gap:12px;margin:0}.settings-actions>span[role=status]{color:var(--muted);margin-right:auto;font-size:11px}.settings-group{border-top:1px solid var(--border);min-width:0}.settings-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;list-style:none;display:flex}.settings-group>summary::-webkit-details-marker{display:none}.settings-group>summary h3{margin:0;font-size:19px;font-weight:700;line-height:1.35}.settings-group>summary>svg{flex:none}.settings-group:not([open])>.settings-group-body{display:none}.settings-group-body{gap:12px;min-width:0;padding:2px 0 16px;display:grid}.settings-group-body .name-format-editor,.settings-group-body .settings-section-heading{margin:0}.settings-group-actions{justify-content:flex-end;display:flex}.organization-settings>.settings-actions{z-index:4;background:var(--panel);padding-bottom:8px;position:sticky;bottom:0}.settings-page .legal-settings{gap:12px;font-size:11px}.settings-page .legal-settings .legal-links{margin:0}@media (max-width:480px){.settings-tab{flex:1;gap:4px;min-width:0;padding:10px 6px;font-size:11px}.settings-tab>svg{display:none}.settings-fields.two{grid-template-columns:minmax(0,1fr)}.settings-tabs{margin-bottom:12px}.settings-tab-panel{gap:12px}}.subevent-options-popup{background:var(--panel);min-width:150px;color:var(--text);border:1px solid var(--border);box-shadow:2px 2px 0 var(--skin-shadow);z-index:200;border-radius:0;outline:none;padding:4px}.subevent-option{cursor:pointer;outline:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.subevent-option[data-highlighted]{background:var(--skin-hover)}.subevent-option.danger{color:var(--skin-danger);background:0 0;border:0}.subevent-option.danger[data-highlighted],.subevent-option.danger:hover:not(:disabled){background:var(--skin-danger-bg);color:var(--skin-danger)}.subevent-option[data-disabled]{opacity:.45;cursor:not-allowed}.event-heading>div{flex:1;min-width:0}.event-heading>.event-settings-button{flex:none;align-self:center}.event-settings-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.event-settings-heading h2{margin:0}.event-settings-page .page-heading h1{overflow-wrap:anywhere}.app-modal.modal-close-confirm{width:min(360px,100vw - 32px);padding:16px}.app-modal.modal-close-confirm>.modal-head{margin-bottom:10px}.app-modal.modal-close-confirm>.modal-head h2{font-size:19px}.modal-close-confirm>p{margin:0;font-size:13px}.modal-confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-confirm-actions>button{padding:7px 11px;font-size:12px}.event-settings-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.event-settings-mode{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.event-settings-mode>.settings-mode-toggle{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;display:inline-flex;position:relative}.event-settings-mode>.settings-mode-toggle>input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.settings-mode-track{border:1px solid var(--border);background:var(--skin-input);align-items:center;width:32px;height:18px;padding:2px;transition:background .15s;display:inline-flex}.settings-mode-track:before{content:"";background:var(--muted);width:12px;height:12px;transition:transform .15s}.settings-mode-toggle>input:checked+.settings-mode-track{background:var(--accent)}.settings-mode-toggle>input:checked+.settings-mode-track:before{background:var(--panel);transform:translate(14px)}.settings-mode-toggle>input:focus-visible+.settings-mode-track{outline:2px solid var(--accent);outline-offset:3px}.settings-mode-toggle:has(input:disabled){opacity:.55;cursor:not-allowed}.event-settings-inherited{opacity:.55}.event-settings-inherited :disabled{cursor:not-allowed}.event-settings-inherited .attendance-choice-list{pointer-events:none}@media (max-width:600px){.event-settings-heading{align-items:flex-start}.event-settings-mode{justify-content:space-between;gap:8px;width:100%}.event-settings-mode>.small{padding:6px 8px;font-size:11px}}.settings-page{--control-height:32px;width:100%;max-width:none;margin:0;container-type:inline-size}.settings-tab-panel.personal-settings{max-width:none}.settings-tab-panel.personal-settings:has(.legal-settings){grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.settings-card{gap:12px;padding:16px;container-type:inline-size}.settings-card .workspace-name-field{max-width:none;margin-bottom:12px}.roll-call-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 24px;min-width:0;display:grid}.settings-column{align-content:start;min-width:0;display:grid}.settings-preview-section{grid-column:1/-1;min-width:0}.settings-group-body{gap:10px;padding:0 0 12px}.settings-page .settings-fields{gap:12px}.settings-page .settings-actions{gap:8px;padding-top:10px}.settings-page .organization-settings>.settings-actions{border-top:1px solid var(--border);padding-bottom:8px}.settings-page .settings-card label{gap:5px}.settings-page .settings-card .settings-check{gap:8px;min-height:26px;margin:0}.settings-page .settings-card .settings-check input{width:16px;height:16px;min-height:16px}.settings-page .settings-card .settings-mode-toggle{gap:8px}.settings-page .settings-mode-label{color:var(--muted);font-weight:400}.settings-page .settings-mode-label[data-selected=true]{color:var(--text);font-weight:600}.settings-page .event-settings-mode{flex-wrap:nowrap;justify-content:flex-end;gap:10px;width:auto}.settings-page .event-settings-mode>.settings-revert{width:var(--control-height);height:var(--control-height);min-height:var(--control-height);border:1px solid var(--border);padding:0}.settings-page .event-settings-heading{margin-bottom:0}.settings-page .settings-card input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([aria-hidden=true]),.settings-page .app-select-trigger,.settings-page .attendance-color-picker>summary{height:var(--control-height);min-height:var(--control-height);padding-top:6px;padding-bottom:6px}.settings-page .settings-card .small,.settings-page .settings-card .primary,.settings-page .sort-direction{height:var(--control-height);min-height:var(--control-height);padding-top:0;padding-bottom:0;font-size:12px}.settings-page .attendance-choice-main>.icon{width:var(--control-height);height:var(--control-height);min-height:var(--control-height);padding:0}.settings-page .default-sort-controls{max-width:none}.settings-page .default-sort-field{gap:5px;margin:0}.settings-page .settings-roll-preview{grid-template-columns:18px minmax(0,1fr) 15px;grid-template-areas:"number person remove"".statuses.";gap:6px;padding:10px 8px}.settings-page .settings-roll-preview>.person-number{grid-area:number}.settings-page .settings-roll-preview>.preview-person{grid-area:person}.settings-page .settings-roll-preview>.preview-statuses{grid-area:statuses}.settings-page .settings-roll-preview>.preview-delete{grid-area:remove}.settings-page .attendance-choice{padding:9px}.settings-page .attendance-choice-list,.settings-page .attendance-choice-main{gap:8px}.settings-page .attendance-choice-options{flex-wrap:wrap;gap:10px}.settings-page .settings-group-actions{margin-bottom:0}.settings-page .settings-preview-section .settings-group-body{padding-top:4px}.settings-page .member-invite{gap:8px;margin-top:12px}.settings-page .member-invite>button{min-height:var(--control-height)}.settings-page .settings-tabs{margin-bottom:12px}.settings-page .settings-tab{height:var(--control-height);min-height:var(--control-height);padding:6px 12px}.app-modal.settings-reset-modal{width:min(360px,100vw - 32px);max-width:360px;padding:16px}.settings-reset-modal .modal-confirm-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.settings-reset-modal .modal-confirm-actions>button{flex:none;width:auto;height:34px;min-height:34px;padding:0 11px;font-size:12px}.settings-reset-modal>.modal-head{margin-bottom:10px}.settings-reset-modal>.modal-head h2{font-size:19px}.settings-reset-modal>p{font-size:12px;line-height:1.6}@container (width<=780px){.roll-call-settings-grid{grid-template-columns:minmax(0,1fr);gap:0}.settings-tab-panel.personal-settings:has(.legal-settings){grid-template-columns:minmax(0,1fr)}}@media (max-width:760px),(pointer:coarse){.settings-page{--control-height:36px}.settings-card{padding:14px}.settings-page .settings-card input:not([type=checkbox]):not([type=range]),.settings-page .app-select-trigger{font-size:16px}.settings-page .settings-card .settings-check{min-height:30px}}.settings-page .attendance-choice-main{grid-template-columns:minmax(0,1fr) 120px var(--control-height)}.settings-page .attendance-choice-main.excuse-editor{grid-template-columns:minmax(0,1fr) 70px 112px var(--control-height)}@container (width<=480px){.settings-page .attendance-choice-main.excuse-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--control-height)}.settings-page .attendance-choice-main.excuse-editor>label:first-child{grid-column:auto}.settings-page .attendance-choice-main.excuse-editor>.attendance-color-picker{grid-column:1/3}.settings-page .attendance-choice-main.excuse-editor>.icon{grid-column:3}}.settings-page .name-format-input{min-height:calc(var(--control-height) - 2px);line-height:calc(var(--control-height) - 8px);padding:3px 6px}.settings-page .name-format-insert .name-format-insert-button{width:var(--control-height);height:100%;min-height:calc(var(--control-height) - 2px);padding:0}.settings-page .name-chip{height:calc(var(--control-height) - 10px)}.settings-page .name-chip button{height:calc(var(--control-height) - 12px)}@container (width<=480px){.settings-page .attendance-choice-main.excuse-editor>.attendance-color-picker,.settings-page .attendance-choice-main.excuse-editor>.icon{grid-row:2}}.roll-call-settings-sections{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.settings-page .settings-tab-panel.personal-settings:has(.legal-settings){grid-template-columns:minmax(0,1fr)}.settings-page .settings-tabs-row{border-bottom:1px solid var(--border);align-items:stretch;gap:12px;margin-bottom:12px;display:flex}.settings-page .settings-tabs-row .settings-tabs{border:0;flex:1;gap:2px;min-width:0;margin:0}.settings-save-controls{justify-content:flex-end;align-items:center;gap:12px;display:flex}.settings-save-controls>span{color:var(--muted);font-size:11px}.settings-page .settings-save-all{height:var(--control-height);min-height:var(--control-height);align-self:stretch;padding:0 14px}.name-settings-fields,.display-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.name-sort-preferences{gap:12px;display:grid}.settings-page .settings-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-choice-list .sortable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-choice-list .sortable-contained>.sortable-item{border:1px solid var(--border);background:var(--skin-input);min-width:0;padding:8px 8px 8px 32px}.settings-choice-list .sortable-contained>.sortable-item>.reorder-handle{width:26px;height:26px;min-height:26px;padding:4px;top:29px;left:2px;transform:none}.settings-page .settings-choice-list .attendance-choice{background:0 0;border:0;min-width:0;padding:0}.choice-fields{grid-template-columns:minmax(0,1fr) var(--control-height) 28px;align-items:end;gap:6px;display:grid}.choice-fields.excuse-fields{grid-template-columns:minmax(0,1fr) 54px var(--control-height) 28px}.choice-fields>label,.choice-fields>.choice-color{gap:4px;min-width:0;display:grid}.choice-fields>label>span,.choice-fields>.choice-color>span{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:400;line-height:14px}.choice-color .attendance-color-picker.swatch-only>summary{justify-content:center;padding:0}.settings-page .choice-fields input{width:100%;min-width:0;padding-left:8px;padding-right:8px}.settings-page .choice-fields>.icon{width:28px;height:var(--control-height);min-height:var(--control-height);padding:0}.choice-options{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;display:flex}.settings-page .choice-options .settings-check{gap:5px;min-height:22px;font-size:10px}.settings-page .settings-excuses{border-top:1px solid var(--border);gap:10px;margin-top:6px;padding-top:12px;display:grid}.settings-page .excuse-button-label{max-width:280px}.settings-page .choice-fields .excuse-code input{text-align:center}.settings-attendance-preview.app-shell{min-width:0;min-height:0;display:block}.settings-attendance-preview .roll-call-panel,.settings-attendance-preview .inline-event-note{margin-top:12px}.settings-page .settings-attendance-preview .inline-event-note input{background:0 0;border:0;outline:none;flex:1;height:auto;min-height:0;padding:0}.settings-attendance-preview .stats-grid{margin-top:0}.settings-attendance-preview .attendance-table-scroll{min-width:0}.settings-page .settings-attendance-preview .settings-card{container-type:normal}.settings-page .settings-attendance-preview .row-main .status-button{height:auto;min-height:30px}.settings-attendance-preview .row-main{font-size:12px}@container (width>=1100px){.settings-choice-list .sortable-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width<=650px){.name-settings-fields,.display-settings-fields{grid-template-columns:minmax(0,1fr);gap:12px}.settings-choice-list .sortable-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.settings-save-controls>span{display:none}.settings-page .settings-tabs-row{gap:6px}.settings-page .settings-tabs-row .settings-tab{padding:6px 8px;font-size:11px}.settings-page .settings-save-all{padding:0 10px;font-size:12px}.settings-page .settings-save-all>svg{width:14px;height:14px}.settings-page .choice-options .settings-check{min-height:26px;font-size:11px}}.settings-page .choice-options{min-height:var(--control-height)}.settings-attendance-preview.app-shell[data-comments=true][data-history=true] .row-main,.settings-attendance-preview.app-shell[data-comments=true][data-history=true] .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 155px 52px}.settings-attendance-preview.app-shell[data-comments=false][data-history=true] .row-main,.settings-attendance-preview.app-shell[data-comments=false][data-history=true] .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 155px 52px}.settings-attendance-preview.app-shell[data-comments=true][data-history=false] .row-main,.settings-attendance-preview.app-shell[data-comments=true][data-history=false] .table-label{grid-template-columns:28px 170px minmax(180px,1fr) 340px 52px}.settings-attendance-preview.app-shell[data-comments=false][data-history=false] .row-main,.settings-attendance-preview.app-shell[data-comments=false][data-history=false] .table-label{grid-template-columns:28px 170px minmax(340px,1fr) 52px}.settings-page .legal-settings{margin-top:0}.settings-attendance-preview .stats-grid>.stat{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.settings-card .settings-scope-title{border-top:1px solid var(--border);margin:8px 0 12px;padding-top:16px}.settings-group>summary{padding:12px 0}.settings-group-body .settings-section-heading h4{font-size:14px;font-weight:600;line-height:1.4}.settings-sticky-header{z-index:25;background:var(--bg);margin-top:-8px;margin-bottom:12px;padding-top:8px;position:sticky;top:0}.settings-sticky-header>.page-heading{margin-bottom:18px}.event-settings-sticky-header{border-bottom:1px solid var(--border);padding-bottom:12px}.event-page-heading{flex-wrap:nowrap;align-items:center}.event-page-heading>.event-page-navigation{flex:none;align-self:center;width:140px;height:32px;min-height:32px;padding:0 10px;font-size:12px;border-radius:0!important}.event-settings-mode>.settings-mode-toggle{min-height:var(--control-height)}@media (max-width:600px){.event-page-heading{gap:12px}.event-page-heading>.event-page-navigation{width:120px;padding:0 6px;font-size:11px}}.event-settings-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.event-settings-sticky-header button{height:var(--control-height);min-height:var(--control-height);padding-top:0;padding-bottom:0;border-radius:0!important}.event-settings-page .settings-mode-track{box-sizing:border-box;flex-shrink:0;width:38px;height:20px;padding:2px}.event-settings-page .settings-mode-track:before{flex-shrink:0;width:14px;height:14px}.event-settings-page .settings-mode-toggle>input:checked+.settings-mode-track:before{transform:translate(18px)}.event-settings-page .event-settings-save{min-width:84px;height:var(--control-height);min-height:var(--control-height);white-space:nowrap;padding:0 12px;font-size:12px;border-radius:0!important}@media (max-width:600px){.event-settings-toolbar{justify-content:flex-start;gap:8px;width:100%}.event-settings-page .event-settings-mode{gap:8px}.event-settings-page .event-settings-save{padding:0 8px}}.settings-page .settings-sticky-header .settings-tabs-row{margin-bottom:0}.roster-removed-section{margin-top:20px}.removed-roster-table.roster-rows-scroll .roster-table-head,.removed-roster-table.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(160px,1fr) minmax(150px,1fr) 155px 64px;gap:10px;min-width:780px;padding-left:12px;padding-right:12px}.removed-roster-table .roster-person{border-bottom:1px solid var(--border);min-width:780px}.removed-roster-table .roster-person:last-child{border-bottom:0}.removed-roster-table .roster-person-main{height:64px;min-height:64px}.removed-roster-table .roster-table-head>span:nth-child(4),.roster-removed-date{text-align:center}.removed-roster-table .roster-person-main>.roster-removed-date{color:var(--muted);justify-content:stretch;gap:2px;font-size:10px;line-height:1.3;display:grid}.removed-roster-person .roster-full-name,.removed-roster-person .roster-pronunciations{opacity:.7;cursor:not-allowed}.roster-person-main>.roster-person-actions{justify-content:center;gap:2px;display:flex}.removed-roster-table .roster-person-main>.roster-full-name{text-align:left;display:block}.roster-name-line{align-items:baseline;gap:8px;min-width:0;display:flex}.roster-name-line>strong{flex:0 auto;min-width:0}.roster-person-link{color:inherit;cursor:pointer;text-decoration:none}.roster-person-link:hover{text-underline-offset:3px;text-decoration:underline}.person-id{color:var(--muted);letter-spacing:.3px;opacity:.72;cursor:copy;-webkit-user-select:text;user-select:text;background:0 0;border:0;flex:none;min-height:0;padding:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:400;line-height:1.4;display:inline-block}.person-id:hover{color:var(--text);opacity:1;background:0 0;border:0}.roster-rows-scroll .roster-person-main,.roster-rows-scroll .roster-table-head{grid-template-columns:28px minmax(200px,1fr) minmax(150px,1fr) 96px}.removed-roster-table.roster-rows-scroll .roster-table-head,.removed-roster-table.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(200px,1fr) minmax(150px,1fr) 155px 96px}.roster-person-actions>a.icon{width:28px;height:28px;color:var(--muted);place-items:center;padding:0;text-decoration:none;display:grid}.roster-person-actions>a.icon:hover{color:var(--text);background:var(--skin-hover)}.removed-roster-person .roster-person-link{cursor:pointer}.person-attendance-page{min-width:0}.person-record-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;font-size:12px;display:flex}.person-record-meta .person-id{font-size:11px}.person-record-meta>a{color:var(--muted);text-underline-offset:3px}.person-attendance-summary{border:1px solid var(--border);background:var(--panel);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.person-attendance-summary>div{border-right:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.person-attendance-summary>div:last-child{border-right:0}.person-attendance-summary span{color:var(--muted);font-size:11px}.person-attendance-summary strong{font-size:23px}.person-rate-note{color:var(--muted);margin:8px 0 18px;font-size:10px;line-height:1.5}.person-attendance-filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.person-attendance-filters>label{flex:145px;gap:5px;min-width:0;font-size:11px;display:grid}.person-attendance-filters input,.person-attendance-filters .app-select-trigger,.person-attendance-filters .search-box,.person-filter-clear{height:36px;min-height:36px;font-size:12px}.person-attendance-filters .search-box input{height:32px;min-height:0}.person-attendance-filters .person-history-search{flex:1.4 180px}.person-filter-clear{padding:0 10px}.person-attendance-table-scroll{border:1px solid var(--border);background:var(--panel);overflow-x:auto}.person-attendance-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%;min-width:1000px}.person-attendance-table th{background:var(--skin-subtle);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:10px;font-weight:600}.person-attendance-table th,.person-attendance-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.person-attendance-table td{font-size:12px;line-height:1.5}.person-attendance-table tbody tr:last-child td{border-bottom:0}.person-attendance-table th:nth-child(2),.person-attendance-table td:nth-child(2){white-space:nowrap;width:110px}.person-attendance-table th:first-child,.person-attendance-table td:first-child{min-width:210px}.person-record-event{color:var(--text);align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.person-record-event:hover{text-underline-offset:3px;text-decoration:underline}.person-record-session{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:3px;font-size:10px;display:flex}.person-record-session .tag{padding:1px 5px;font-size:9px}.person-record-note{white-space:pre-wrap;overflow-wrap:anywhere;min-width:120px;max-width:300px;color:var(--muted)}.person-record-flag{color:var(--followup-red)}.person-record-complete{color:var(--followup-green)}.person-attendance-table td:nth-child(6),.person-attendance-table th:nth-child(6),.person-attendance-table td:nth-child(7),.person-attendance-table th:nth-child(7){text-align:center}.person-attendance-table td:nth-child(7){width:145px}.person-attendance-table .timestamp-button{width:100%;font-size:10px;line-height:1.4}.person-attendance-table .person-history-empty{text-align:center;color:var(--muted);padding:28px}.app-modal.person-record-history-modal{width:min(740px,100vw - 32px);max-width:740px}.app-modal.link-person-modal{width:min(380px,100vw - 32px);max-width:380px;padding:18px}.link-person-modal .modal-head h2{font-size:21px}.link-person-modal input{letter-spacing:1px;height:36px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.link-person-preview{color:var(--muted);margin:10px 0 16px;font-size:12px;line-height:1.5}.link-person-modal .modal-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.link-person-modal .modal-confirm-actions>button{height:34px;min-height:34px;padding:0 10px;font-size:12px}@media (max-width:1100px){.person-attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.person-attendance-summary>div:nth-child(3){border-right:0}.person-attendance-summary>div:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media (max-width:520px){.person-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.person-attendance-summary>div{padding:10px}.person-attendance-summary>div:nth-child(3){border-right:1px solid var(--border)}.person-attendance-summary>div:nth-child(2n){border-right:0}.person-attendance-summary>div:nth-child(-n+4){border-bottom:1px solid var(--border)}.person-attendance-filters>label{flex-basis:calc(50% - 10px)}.person-attendance-filters .person-history-search{flex-basis:100%}}.roster-remove-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roster-remove-confirm>span{flex:1;min-width:180px}.name-settings-fields>.name-format-editor,.name-settings-fields>.default-sort-field{align-content:start;gap:5px;display:grid}.name-settings-fields>.name-format-editor>label,.name-settings-fields>.default-sort-field>label{margin:0;font-family:inherit;font-size:12px;font-weight:400;line-height:18px}.name-settings-fields .name-format-field{min-height:var(--control-height,36px)}.name-settings-fields .name-format-input{min-height:calc(var(--control-height,36px) - 2px);line-height:calc(var(--control-height,36px) - 8px);padding:3px 6px}.name-settings-fields .name-format-insert .name-format-insert-button{min-height:calc(var(--control-height,36px) - 2px)}.settings-group-body .settings-section-heading .settings-subsection-title{margin:0;font-size:19px;font-weight:700;line-height:1.35}html .settings-attendance-preview.app-shell:not(.demo-roll-call){height:auto;min-height:0;max-height:none;display:block;overflow:visible}.settings-attendance-preview .roll-call-panel{max-height:none;margin-top:10px}.settings-attendance-preview .roll-call-panel>.attendance-table-scroll{flex:none;min-height:0}.settings-attendance-preview .stats-grid.custom-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.settings-attendance-preview .stats-grid.custom-stats .stat{min-height:100px;padding:8px 10px}.name-settings-fields .name-chip{vertical-align:middle}.name-format-popup{min-width:190px}.dropdown-arrow{flex:none;transition:transform .18s;transform:rotate(0)}.dropdown-arrow[data-flipped=true],.app-select-trigger[aria-expanded=true] .dropdown-arrow,button[aria-expanded=true]>.dropdown-arrow,details[open]>summary>.dropdown-arrow{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.dropdown-arrow{transition:none}}.mark-dropdown>.mark-menu,.attendance-color-options{left:auto;right:0}.report-options details>summary{justify-content:space-between;align-items:center;gap:8px;list-style:none;display:flex}.report-options details>summary::-webkit-details-marker{display:none}.person-attendance-summary{margin-bottom:18px}.person-attendance-summary .person-summary-label{align-items:center;gap:5px;display:inline-flex}.info-popover-trigger{width:16px;height:18px;min-height:18px;color:var(--muted);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-popover-trigger:hover,.info-popover-trigger[data-popup-open]{color:var(--text);background:0 0;border:0}.info-popover-positioner,.date-picker-positioner{z-index:250;isolation:isolate}.info-popover-popup{border:1px solid var(--border);background:var(--panel);width:290px;max-width:calc(100vw - 24px);color:var(--text);box-shadow:3px 3px 0 var(--skin-shadow);outline:0;padding:10px 12px;font-size:12px;line-height:1.55}.info-popover-popup p{margin:0}.person-attendance-filters>.date-picker-field{flex:145px;gap:5px;min-width:0;font-size:11px;display:grid}.date-picker-field>label{font-size:inherit}.date-picker-trigger{border:1px solid var(--border);background:var(--skin-input);width:100%;height:36px;min-height:36px;color:var(--text);text-align:left;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;font-size:12px;display:flex}.date-picker-trigger>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.date-picker-trigger>svg{color:var(--muted);flex:none}.date-picker-trigger.date-picker-empty>span{color:var(--muted);font-weight:400}.date-picker-trigger:hover,.date-picker-trigger[data-popup-open]{background:var(--skin-hover);border-color:var(--border)}.date-picker-popup{border:1px solid var(--border);background:var(--panel);width:296px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 16px);color:var(--text);box-shadow:3px 3px 0 var(--skin-shadow);border-radius:0;outline:0;padding:10px;font-size:12px;overflow:auto}.date-picker-heading{grid-template-columns:26px minmax(0,1fr) 76px 26px;align-items:center;gap:4px;margin-bottom:8px;display:grid}.date-picker-heading>.icon{width:26px;height:30px;min-height:30px;padding:0}.date-picker-heading .app-select-trigger{background:var(--skin-input);height:30px;min-height:30px;padding:0 6px;font-size:11px}.app-calendar .rdp-month_caption{display:none}.app-calendar .rdp-month_grid{border-collapse:collapse;table-layout:fixed;width:100%}.app-calendar .rdp-weekday{color:var(--muted);text-align:center;padding:3px 0 6px;font-size:10px;font-weight:500}.app-calendar .rdp-day{text-align:center;padding:1px 0}.app-calendar .rdp-day_button{width:34px;height:34px;min-height:34px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.app-calendar .rdp-day_button:hover:not(:disabled){background:var(--skin-hover);border-color:var(--border)}.app-calendar .rdp-today:not(.rdp-selected) .rdp-day_button{border-color:var(--accent);font-weight:650}.app-calendar .rdp-outside:not(.rdp-selected) .rdp-day_button{color:var(--muted);opacity:.5}.app-calendar .rdp-selected .rdp-day_button,.app-calendar .rdp-selected .rdp-day_button:hover{background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink);font-weight:650}.app-calendar .rdp-disabled .rdp-day_button{opacity:.3;cursor:not-allowed}.date-picker-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:7px;padding-top:7px;display:flex}.date-picker-footer>button{height:26px;min-height:26px;padding:0 4px;font-size:11px}.date-picker-footer>button:disabled{cursor:not-allowed}.person-attendance-table td:nth-child(6){height:50px}@media (max-width:520px){.person-attendance-filters>.date-picker-field{flex-basis:calc(50% - 10px)}}.person-attendance-table :is(th,td):is(:nth-child(2),:nth-child(4),:nth-child(5)){text-align:center}.person-attendance-table th:is(:nth-child(2),:nth-child(4),:nth-child(5)) .sort-heading,.person-attendance-table th:is(:nth-child(2),:nth-child(4),:nth-child(5)) .sort-heading:hover:not(:disabled){justify-content:center}.app-multi-select-option[data-selected]{font-weight:700}.app-option-checkbox{border:1px solid;flex:none;place-items:center;width:14px;height:14px;display:grid}.app-option-checkbox>span{place-items:center;display:grid}.app-multi-select-option[data-selected] .app-option-checkbox{background:currentColor}.app-multi-select-option[data-selected] .app-option-checkbox svg{color:var(--panel);stroke-width:3px}.app-multi-select-trigger .app-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-tabs .subevent-inline-editor{flex:none;max-width:min(360px,80vw);height:40px;margin:0}.roster-tabs .subevent-inline-editor input{font-size:12px}.subevent-inline-editor>input{letter-spacing:inherit;padding:inherit;min-width:0;font:inherit!important}.subevent-inline-editor>input::selection{background:var(--accent);color:var(--skin-primary-ink)}.subevent-inline-editor.selected>input::selection{background:var(--skin-primary-ink);color:var(--accent)}.roster-tabs .subevent-inline-editor{max-width:none}.app-modal{width:min(420px,100vw - 32px);max-width:420px;padding:20px}.app-modal>.modal-head h2{font-size:22px}.app-modal:has(.report-builder){width:min(1100px,100vw - 32px);max-width:1100px}.app-modal:has(.csv-input){width:min(680px,100vw - 32px);max-width:680px}.roster-link-matches{flex:none;width:40px;height:40px;min-height:40px}.person-links-modal{max-height:85dvh;overflow:auto}.person-links-modal>p{font-size:12px;line-height:1.5}.identity-review-list{border:1px solid var(--border);max-height:210px;margin:12px 0;font-size:12px;overflow:auto}.identity-review-list>div{border-bottom:1px solid var(--border);padding:6px 9px}.identity-review-list>div:last-child{border:0}.identity-skipped{margin-top:12px;font-size:12px}.identity-skipped>summary{cursor:pointer}.identity-skipped p{margin:8px 0;font-size:11px}.person-identity-name{align-items:center;gap:9px;display:flex}.identity-notice{color:var(--muted)}.identity-actions>.danger{margin-right:auto}.person-links-modal form>label{font-size:12px}.person-links-modal input{height:36px!important;min-height:36px!important;font-size:13px!important}.app-shell .attendance-table-scroll .sortable-item[data-reorder-disabled=true]{padding-left:0}.app-shell .attendance-table-scroll:has(>.people-list>.sortable-list)>.table-label{padding-left:var(--attendance-row-inset,12px)}.app-shell .attendance-table-scroll:has(>.people-list>.sortable-list>.sortable-item>.reorder-handle)>.table-label{padding-left:calc(var(--attendance-row-inset,12px) + 28px)}.demo-roll-call .attendance-table-scroll{--attendance-row-inset:8px}.attendance-person-link{min-width:0;color:inherit;text-decoration:none;display:block}:is(.attendance-person-link:hover strong,.attendance-person-link:focus-visible strong){text-underline-offset:3px;text-decoration:underline}.attendance-person-link:focus-visible{outline:1px solid var(--accent);outline-offset:2px}:is(.overview-person-link:hover,.overview-person-link:focus-visible){text-underline-offset:3px;text-decoration:underline}.preference-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px 20px;display:grid}.preference-field{gap:5px;min-width:0;display:grid}.preference-field-label{align-items:center;gap:5px;min-width:0;min-height:18px;display:flex}.preference-field-label>label{min-width:0;margin:0}.preference-field-label>.info-popover-trigger{flex:0 0 16px}.preference-fields .app-select-trigger{width:100%;min-width:0}.preference-fields .app-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.time-zone-label{align-items:baseline;gap:8px;max-width:100%;display:inline-flex}.time-zone-offset{color:var(--muted);white-space:nowrap;font-size:.9em;font-weight:400}:root:not([data-theme=dark]) .account-avatar.attendance-gradient{--panel:#192a3d;--border:#35485d}.attendance-quick-controls{border-right:1px solid var(--border);align-items:center;gap:4px;margin-right:1px;padding-right:7px;display:inline-flex}.attendance-quick-controls>.icon{width:32px;height:32px;min-height:32px;padding:0}.attendance-quick-controls>.icon.selected{background:var(--accent);color:var(--skin-primary-ink);border-color:var(--accent)}.attendance-row.keyboard-active{position:relative}.attendance-row.keyboard-active>.row-main{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.attendance-row.keyboard-active:before{content:"";background:var(--accent);pointer-events:none;z-index:1;width:3px;position:absolute;top:0;bottom:0;left:0}.recent-entry.pinnable{position:relative}.recent-entry.pinnable>.recent{padding-right:30px}.recent-entry.pinnable>.pin-button{color:var(--skin-sidebar-muted);background:0 0;border:0;width:25px;height:25px;min-height:25px;padding:0;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pin-button{flex-shrink:0}.sidebar-favorites{flex-shrink:0;min-height:0;margin-top:16px}.sidebar-favorites>.workspace-label{margin:0 0 6px;padding:0}.sidebar-favorite-list{max-height:min(180px,20dvh);overflow:auto}.sidebar-favorite{align-items:center;gap:2px;min-width:0;display:flex}.sidebar-favorite>.favorite-open{min-width:0;height:30px;min-height:30px;color:var(--skin-sidebar-text);text-align:left;background:0 0;border:1px solid #0000;flex:1;align-items:center;gap:7px;padding:0 6px;font-size:11px;display:flex}.sidebar-favorite>.favorite-open>svg{flex-shrink:0}.sidebar-favorite>.favorite-open>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-favorite>.favorite-open:hover,.sidebar-favorite>.favorite-open.selected{background:#ffffff16}.sidebar-favorite>.pin-button{width:25px;height:25px;min-height:25px;color:var(--skin-sidebar-muted);background:0 0;border:0;padding:0}.pinnable-roster-tab{flex-shrink:0;align-items:stretch;gap:0;min-width:0;display:inline-flex}.pinnable-roster-tab>.small,.pinnable-roster-tab>.subevent-tab{justify-content:center;align-items:center;height:40px;min-height:40px;padding-block:0;display:inline-flex}.pinnable-roster-tab>.pin-button{border-left:0;width:28px;height:auto;min-height:32px;padding:0}@media (hover:hover) and (pointer:fine){.recent-entry.pinnable>.pin-button{opacity:0;pointer-events:none}.recent-entry.pinnable:hover>.pin-button,.recent-entry.pinnable:focus-within>.pin-button{opacity:1;pointer-events:auto}}@media (max-width:760px){.roll-call-panel>.roll-call-top{flex-wrap:wrap;row-gap:8px;height:auto;min-height:52px;max-height:none}.roll-call-top>.subevent-heading{flex:100%;min-width:0}.roll-call-top>.roll-call-actions{flex-wrap:nowrap;justify-content:flex-end;width:100%}.attendance-quick-controls{gap:2px;padding-right:4px}.attendance-quick-controls>.icon{width:28px;min-width:28px}}.attendance-identity{align-items:flex-start;gap:6px;min-width:0;display:flex}.attendance-identity>.attendance-person-link{min-width:0}.attendance-identity>.person-id{flex:none;margin-top:4px}html[data-density=compact] .app-shell .row-main{height:auto;min-height:58px;padding-top:8px;padding-bottom:8px}html[data-density=compact] .app-shell .roster-person-main{height:auto;min-height:52px;padding-top:8px;padding-bottom:8px}html[data-density=compact] .comparison-table-scroll tbody th,html[data-density=compact] .comparison-table-scroll tbody td{height:36px;padding-top:7px;padding-bottom:7px}html[data-density=compact] .person-attendance-table td{padding-top:8px;padding-bottom:8px}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@container (width<=900px){.preference-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=500px){.preference-fields{grid-template-columns:minmax(0,1fr);gap:10px}}.roster-person-actions>.icon{box-sizing:border-box;border-radius:0;flex:0 0 28px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:6px;text-decoration:none;display:inline-flex}.roster-person-actions>.icon>svg{flex:none}.auth-guest-option{justify-content:center;align-items:center;gap:6px;margin-top:20px;display:flex}.auth-guest-link{color:var(--text);text-underline-offset:4px;font-size:13px;text-decoration:underline}.auth-guest-link:hover{color:var(--blue)}.community-stats{border-radius:0;grid-column:1/-1}.community-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.community-heading .eyebrow{letter-spacing:1.5px;color:var(--muted);font-size:9px}.community-heading h2{letter-spacing:-.5px;margin:7px 0 0;font:700 24px/1.25 Bitter,Georgia,serif}.community-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.community-stat{border-left:1px solid var(--border);flex-direction:column;align-items:flex-start;min-width:0;padding-left:24px;display:flex}.community-stat:first-child{border-left:0;padding-left:0}.community-stat-content>svg{color:var(--muted);margin-bottom:12px}.community-stat-content>strong{font-variant-numeric:tabular-nums;letter-spacing:-1px;overflow-wrap:anywhere;font:700 clamp(25px,3vw,38px)/1.15 Bitter,Georgia,serif}.community-stat-content>span{color:var(--muted);margin-top:7px;font-size:11px}@media (max-width:760px){.community-stats{padding:20px}.community-heading{flex-direction:column;align-items:flex-start;gap:12px}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.community-stat:nth-child(3){border-left:0;padding-left:0}.community-heading h2{font-size:22px}}.community-stat-content{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.community-stat-viewport{width:100%;min-width:0;overflow:hidden}.community-stat-track{will-change:transform;width:100%;display:flex}.community-stat-track.is-running{animation:18s cubic-bezier(.22,.61,.36,1) infinite community-stat-slide}.community-stat-slide{flex:0 0 100%;min-width:0}@keyframes community-stat-slide{0%,30%{transform:translate(0)}33.3333%,63.3333%{transform:translate(-100%)}66.6667%,96.6667%{transform:translate(-200%)}to{transform:translate(-300%)}}@media (prefers-reduced-motion:reduce){.community-stat-track.is-running{will-change:auto;animation:none}.community-stat-track{flex-direction:column;gap:16px}.community-stat-slide{flex:none}.community-stat-slide:last-child{display:none}}.sidebar .account-footer>.account-links.guest-account-links{grid-template-columns:34px minmax(0,1fr);gap:6px;display:grid}.sidebar .guest-account-links a{white-space:nowrap;overflow-wrap:normal;gap:4px;padding:7px 3px;font-size:11px}.sidebar .guest-account-links a>svg{width:14px;height:14px}.keyboard-selection-count{white-space:nowrap;color:var(--muted);padding:0 5px;font-size:11px}.attendance-row.keyboard-selected>.row-main{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.attendance-row.keyboard-active>.row-main{box-shadow:inset 0 0 0 1px var(--accent)}.app-shell[data-comments=true][data-history=true] .keyboard-entry-table :is(.row-main,.table-label){grid-template-columns:28px 170px minmax(100px,1fr) 430px 155px 52px}.app-shell[data-comments=false][data-history=true] .keyboard-entry-table :is(.row-main,.table-label){grid-template-columns:28px 170px minmax(430px,1fr) 155px 52px}.app-shell[data-comments=true][data-history=false] .keyboard-entry-table :is(.row-main,.table-label){grid-template-columns:28px 170px minmax(100px,1fr) 430px 52px}.app-shell[data-comments=false][data-history=false] .keyboard-entry-table :is(.row-main,.table-label){grid-template-columns:28px 170px minmax(430px,1fr) 52px}.keyboard-help-modal{width:860px;max-width:calc(100vw - 24px)}.keyboard-help-modal>p{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.6}.keyboard-help-shortcuts{border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0;display:grid}.keyboard-help-shortcuts>div{border-bottom:1px solid var(--border);grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid}.keyboard-help-shortcuts>div:nth-child(odd){border-right:1px solid var(--border)}.keyboard-help-shortcuts>div:last-child{border-bottom:0}.keyboard-help-shortcuts dt{font-size:11px;line-height:1.8}.keyboard-help-shortcuts dd{margin:0;font-size:12px;line-height:1.5}.keyboard-help-shortcuts kbd{box-sizing:border-box;vertical-align:middle;white-space:nowrap;border:1px solid var(--border);background:var(--skin-input);min-width:24px;height:24px;line-height:1;font:inherit;color:var(--text);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.keyboard-help-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.keyboard-help-footer>.keyboard-help-remember{align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.keyboard-help-remember input{flex:none;width:16px;height:16px;min-height:16px}.keyboard-help-footer>button{flex:none}@media (max-width:680px){.keyboard-help-shortcuts{grid-template-columns:minmax(0,1fr)}.keyboard-help-shortcuts>div{grid-template-columns:130px minmax(0,1fr);gap:8px;padding:8px;border-right:0!important}}:where(button.icon,a.icon,.reorder-handle):hover:not(:disabled):not(.selected),.roster-person-actions>.icon:hover:not(:disabled),.workspace-dialog .icon:hover:not(:disabled){border-radius:4px}.roster-rows-scroll:not(.removed-roster-table)>.roster-table-head{padding-left:12px}.roster-rows-scroll>.sortable-list>.sortable-item,.roster-rows-scroll>.sortable-list>.sortable-item[data-reorder-disabled=true]{padding-left:0}.roster-rows-scroll>.sortable-list>.sortable-item>.reorder-handle{opacity:0;background:var(--panel);left:12px}.roster-rows-scroll>.sortable-list>.sortable-item:hover>.reorder-handle,.roster-rows-scroll>.sortable-list>.sortable-item:focus-within>.reorder-handle{opacity:1}@media (hover:none),(pointer:coarse){.roster-rows-scroll>.sortable-list>.sortable-item>.reorder-handle{opacity:1}}.roster-navigation>.roster-tabs{align-items:center}.roster-chip-group{flex:none;align-items:center;gap:8px;display:flex}.roster-chip-item{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:none}.roster-chip-item.dragging{opacity:.7;cursor:grabbing}.roster-chip-item.dragging *{cursor:grabbing!important}.roster-pin-separator{background:var(--border);flex:none;width:1px;height:28px;margin:0 4px}.pinnable-roster-tab{border:1px solid var(--border);background:var(--skin-subtle);height:40px;transition:background .15s,border-color .15s}.pinnable-roster-tab:has(>.selected){background:var(--accent);border-color:var(--accent);color:var(--skin-primary-ink)}.pinnable-roster-tab>.small,.pinnable-roster-tab>.subevent-tab{height:38px;min-height:38px;color:inherit;background:0 0;border:0}.pinnable-roster-tab>.small:hover:not(:disabled){background:0 0;border:0}.pinnable-roster-tab>.pin-button{opacity:0;visibility:hidden;width:0;min-width:0;max-width:0;min-height:38px;color:inherit;background:0 0;border:0;padding:0;transition:max-width .18s,width .18s,opacity .15s,visibility .18s;overflow:hidden}.pinnable-roster-tab:hover>.pin-button,.pinnable-roster-tab:focus-within>.pin-button{opacity:1;visibility:visible;width:28px;max-width:28px}.pinnable-roster-tab>.pin-button:hover{background:var(--skin-hover)}@media (hover:none),(pointer:coarse){.pinnable-roster-tab>.pin-button{opacity:1;visibility:visible;width:28px;max-width:28px}}@media (prefers-reduced-motion:reduce){.pinnable-roster-tab>.pin-button{transition:none}}.roster-chip-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.roster-chip-item input{-webkit-user-select:text;user-select:text}html[data-reduce-motion=true] .pinnable-roster-tab>.pin-button{transition:none}.drag-handle:hover:not(:disabled),.name-chip button:hover:not(:disabled),.mark-menu>button:hover:not(:disabled),.settings-card .retention-ticks button:hover:not(:disabled),.settings-tab:not([aria-selected=true]):hover,.app-modal>.modal-head>.modal-close:hover{border-radius:4px}.sidebar :where(button.icon,a.icon,.reorder-handle):hover{border-radius:0}.history .history-entry{flex-flow:row;align-items:center;gap:12px;display:flex}.history .history-entry>.history-change{white-space:nowrap;scrollbar-width:thin;flex:1 1 0;align-items:center;min-width:0;overflow:auto hidden}.history-change>.history-badges,.history-change>span:last-child{white-space:nowrap;flex:none}.history .history-entry>.history-meta{white-space:nowrap;flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;min-width:0;max-width:65%;display:flex}.history-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-meta>time{flex:none}.event-history-value>span:last-child{white-space:nowrap;scrollbar-width:thin;min-width:0;max-width:100%;display:block;overflow-x:auto}.person-record-meta>a.person-roster-removed{text-decoration:line-through;text-decoration-thickness:1px}.person-attendance-filters>label>.app-select-trigger{margin-top:0}.person-attendance-filters .app-select-trigger{align-items:center;padding:0 11px}.person-attendance-filters .date-picker-trigger>span,.person-attendance-filters .app-select-value{line-height:normal}.person-attendance-filters .search-box{align-items:center;min-width:0;display:flex}.person-attendance-filters .search-box input{height:100%;min-height:0;margin:0;padding:0;font-size:12px;line-height:normal}.person-attendance-filters .search-box input::placeholder{font-size:inherit}.person-attendance-table{table-layout:fixed}.person-attendance-table th:first-child,.person-attendance-table td:first-child{width:20%;min-width:0}.person-attendance-table th:nth-child(2),.person-attendance-table td:nth-child(2){text-align:center;width:120px}.person-attendance-table th:nth-child(4){width:140px}.person-attendance-table th:nth-child(5){width:110px}.person-attendance-table th:nth-child(6){width:65px}.person-attendance-table th:nth-child(7){width:150px}.person-attendance-table .person-record-note{min-width:0;max-width:none}.person-attendance-table th:nth-child(2) .sort-heading,.person-attendance-table th:nth-child(6) .sort-heading{justify-content:center;width:100%}.person-attendance-table td{overflow-wrap:anywhere}.person-record-event{overflow-wrap:anywhere;min-width:0;max-width:100%}.view-only-followup{vertical-align:middle;cursor:default;justify-content:center;align-items:center;display:inline-flex}.row-tools>.view-only-followup{width:29px;min-width:29px;height:29px;padding:7px}.timestamp-button:hover:not(:disabled){border-radius:4px;background:var(--skin-hover)!important}.row-tools button.icon{box-sizing:border-box;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;display:inline-flex}.person-id:hover:not(:disabled){color:var(--text);background:0 0;border-color:#0000}.roster-name-line{align-items:center}.roster-table-head>:first-child,.roster-table-head>:first-child:hover:not(:disabled){text-align:center;justify-content:center}.pin-button:hover:not(:disabled),.sidebar .pin-button:hover:not(:disabled),.pinnable-roster-tab>.pin-button:hover:not(:disabled){box-shadow:none;background:0 0;border-color:#0000}.pin-button:not(.pinned):hover svg{fill:currentColor}.pinnable-roster-tab:hover>.pin-button,.pinnable-roster-tab:focus-within>.pin-button{width:22px;max-width:22px}@media (hover:none),(pointer:coarse){.pinnable-roster-tab>.pin-button{width:22px;max-width:22px}}@media (max-width:760px){.attendance-quick-controls{display:none}}.event-card:hover .tag{background:var(--panel);color:var(--text)}:is(.pinnable-roster-tab:has(>.pin-button:hover)>.small,.pinnable-roster-tab:has(>.pin-button:hover)>.subevent-tab),.pinnable-roster-tab>.pin-button:hover:not(:disabled){color:inherit}.pinnable-roster-tab:hover>.small,.pinnable-roster-tab:focus-within>.small,.pinnable-roster-tab:hover>.subevent-tab,.pinnable-roster-tab:focus-within>.subevent-tab{padding-right:0}.pinnable-roster-tab:hover>.pin-button,.pinnable-roster-tab:focus-within>.pin-button{width:30px;max-width:30px;padding-right:8px}@media (hover:none),(pointer:coarse){.pinnable-roster-tab>.small,.pinnable-roster-tab>.subevent-tab{padding-right:0}.pinnable-roster-tab>.pin-button{width:30px;max-width:30px;padding-right:8px}}button.person-id:hover:not(:disabled),.person-record-meta button.person-id:hover:not(:disabled){color:var(--text);border-color:#0000;background:0 0!important}.person-record-meta{align-items:center}.person-record-meta .person-id{align-items:center;line-height:1.5;display:inline-flex}.person-record-history-modal .history-scroll{max-height:min(50vh,336px)}.event-test-option{align-items:center;gap:6px;padding:8px 10px;display:flex}.event-test-option label{white-space:nowrap;align-items:center;gap:6px;display:flex}.event-test-option input{width:auto;margin:0}.event-options-menu .mark-menu{min-width:210px}.event-settings-toolbar{gap:8px}.event-options-menu>summary{height:var(--control-height);min-height:var(--control-height);align-items:center;display:flex}.roster-panel>.person-attendance-summary{margin:16px 20px}.roster-top-toolbar{align-items:center;gap:10px;margin:0 20px 12px;display:flex}.roster-top-toolbar .heading-actions{align-items:center;gap:8px;display:flex}.roster-top-toolbar .heading-actions>button,.roster-top-toolbar summary{align-items:center;height:36px;min-height:36px;display:inline-flex}.roster-top-toolbar .roster-search{width:min(100%,240px);height:36px;min-height:36px;margin-left:auto}.roster-search input{font-size:12px}.roster-rows-scroll .roster-table-head{background:var(--skin-subtle)}.roster-rows-scroll .roster-person-main{min-height:50px}@media (max-width:760px){.roster-top-toolbar{flex-wrap:wrap}.roster-top-toolbar .roster-search{width:100%}}.roster-panel.roster-record-page{box-shadow:none;background:0 0;border:0;overflow:visible}.roster-record-page>.person-attendance-summary{margin:0 0 18px}.roster-record-page>.roster-top-toolbar{align-items:end;gap:10px;margin:0 0 14px;display:flex}.roster-record-page .roster-top-toolbar .heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roster-record-page .roster-search-field{flex:0 19%;gap:5px;min-width:180px;margin-left:auto;font-size:11px;display:grid}.roster-record-page .roster-search{width:100%;height:36px;min-height:36px;margin:0;font-size:12px}.roster-record-page .roster-search input{height:32px;min-height:0;font-size:12px}.roster-record-page>.roster-rows-scroll,.roster-record-page .removed-roster-table{border:1px solid var(--border);background:var(--panel)}.roster-record-page .roster-table-head{background:var(--skin-subtle);letter-spacing:.4px;border-top:0;min-height:40px;padding-top:12px;padding-bottom:12px;font-size:10px;font-weight:600}.roster-record-page .roster-person-main{height:53px;min-height:53px;padding-top:12px;padding-bottom:12px;font-size:12px;line-height:1.5}.roster-record-page .roster-person-main strong{font-size:12px;font-weight:600}.roster-record-page .roster-csv-editor{margin:0 0 14px}@media (max-width:760px){.roster-record-page>.roster-top-toolbar{flex-wrap:wrap}.roster-record-page .roster-search-field{flex:180px}.roster-record-page .heading-actions{flex:100%}}.event-options-menu .event-test-option{padding:0;display:block;position:relative}.event-options-menu .event-test-toggle{width:100%;color:var(--text);height:var(--control-height);min-height:var(--control-height);background:0 0;border:0;justify-content:flex-start;padding:9px;font-size:11px}.event-options-menu .event-test-toggle:hover:not(:disabled){background:var(--skin-status-hover);border:0;border-radius:4px}.event-options-menu .event-test-info-space{flex:none;width:15px}.event-options-menu .event-test-option>.info-popover-trigger{height:18px;min-height:18px;color:inherit;position:absolute;top:50%;left:68px;transform:translateY(-50%)}:root:not([data-theme=dark]) .event-options-menu .event-test-toggle{color:#20344b}:root:not([data-theme=dark]) .event-options-menu .event-test-toggle:hover:not(:disabled){color:#20344b;background:#ddd1be}.event-title-line{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.event-title-line .editable-event-title{width:fit-content;min-width:0;max-width:100%}.event-title-line .editable-event-title>[contenteditable]{max-width:100%;display:inline-block}.event-test-badge{letter-spacing:.05em;color:var(--muted);white-space:nowrap;font:600 10px Inter,ui-sans-serif,system-ui,sans-serif}.person-id{transition:color .2s,opacity .2s}button.person-id.copied,button.person-id.copied:hover:not(:disabled),.person-record-meta button.person-id.copied:hover:not(:disabled){color:var(--followup-green);opacity:1}.roster-page-heading{margin-bottom:4px}.roster-navigation{margin-bottom:16px}@media (prefers-reduced-motion:reduce){.person-id{transition:none}}.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.roster-table-head,.roster-record-page>.roster-rows-scroll:not(.removed-roster-table) .roster-person-main{grid-template-columns:28px minmax(170px,1.1fr) minmax(140px,.85fr) 60px 60px 80px 60px 80px minmax(150px,1fr) 120px;gap:10px;min-width:1108px}.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.sortable-list,.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.roster-inline-fields{min-width:1108px}.roster-record-page .roster-stat-heading,.roster-record-page .roster-stat{text-align:center;justify-content:center}.roster-record-page .roster-stat-heading{white-space:normal;line-height:1.2}.roster-record-page .roster-person-note{min-width:0;display:block}.roster-record-page .roster-person-note .inline-person-note{resize:none;width:100%;height:32px;min-height:32px;padding:5px 9px}.roster-record-page .roster-table-head>.sort-heading:nth-child(n+4):nth-child(-n+8),.roster-record-page .roster-table-head>.sort-heading:nth-child(n+4):nth-child(-n+8):hover:not(:disabled){text-align:center;white-space:normal;justify-content:center;line-height:1.2}button.person-id{cursor:pointer}.pinnable-roster-tab>.small,.pinnable-roster-tab>.subevent-tab,.pinnable-roster-tab:hover>.small,.pinnable-roster-tab:hover>.subevent-tab,.pinnable-roster-tab:focus-within>.small,.pinnable-roster-tab:focus-within>.subevent-tab{padding-right:8px}.pinnable-roster-tab>.pin-button{justify-content:flex-start;position:relative;padding:0!important}.pinnable-roster-tab>.pin-button>svg{position:absolute;top:50%;left:0;transform:translateY(-50%)}.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.roster-table-head,.roster-record-page>.roster-rows-scroll:not(.removed-roster-table) .roster-person-main{grid-template-columns:28px minmax(140px,.75fr) minmax(115px,.6fr) repeat(5,70px) minmax(180px,1.5fr) 120px}.roster-record-page .roster-table-head>.sort-heading:nth-child(9),.roster-record-page .roster-person-note{padding-left:12px}.roster-record-page .removed-roster-table.roster-rows-scroll .roster-table-head,.roster-record-page .removed-roster-table.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(140px,.75fr) minmax(115px,.6fr) repeat(5,70px) minmax(180px,1.5fr) 120px;gap:10px;min-width:1108px;padding-left:12px;padding-right:12px}.roster-record-page .removed-roster-table .roster-person-main{height:auto;min-height:50px}.roster-record-page .removed-roster-table .roster-table-head>span:nth-child(9){padding-left:12px}.roster-record-page .removed-roster-table .inline-person-note{cursor:default}.roster-record-page .removed-roster-table.roster-rows-scroll .roster-table-head,.roster-record-page .removed-roster-table.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(140px,.75fr) minmax(115px,.6fr) repeat(5,70px) minmax(100px,1.5fr) 135px 88px;min-width:1150px}.roster-record-page .removed-roster-table .roster-person{min-width:1150px}.roster-record-page .removed-roster-table .roster-table-head>span:nth-child(10){text-align:center}.roster-record-page .removed-roster-table .roster-person-actions{justify-content:flex-end;gap:2px}.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.roster-table-head,.roster-record-page>.roster-rows-scroll:not(.removed-roster-table) .roster-person-main,.roster-record-page .removed-roster-table.roster-rows-scroll .roster-table-head,.roster-record-page .removed-roster-table.roster-rows-scroll .roster-person-main{grid-template-columns:28px minmax(140px,.75fr) minmax(115px,.6fr) repeat(5,70px) minmax(180px,1.5fr) 120px;min-width:1220px}.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.sortable-list,.roster-record-page>.roster-rows-scroll:not(.removed-roster-table)>.roster-inline-fields,.roster-record-page .removed-roster-table .roster-person{min-width:1220px}.roster-record-page .removed-roster-table .roster-person-note,.roster-record-page .removed-roster-table .roster-table-head>span:nth-child(9){grid-area:1/9;margin-right:145px}.roster-record-page .removed-roster-table .roster-removed-date,.roster-record-page .removed-roster-table .roster-table-head>span:nth-child(10){grid-area:1/9;justify-self:end;width:135px}.roster-record-page .removed-roster-table .roster-person-actions,.roster-record-page .removed-roster-table .roster-table-head>span:nth-child(11){grid-area:1/10}.app-modal.global-search-modal{width:min(500px,100vw - 32px);max-width:500px}.global-search-modal .modal-head{margin-bottom:14px}.global-search-input{border:1px solid var(--border);background:var(--bg);color:var(--muted);align-items:center;gap:9px;padding:0 10px;display:flex}.global-search-input input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:38px;min-height:38px;padding:0;font-size:14px}.global-search-results{gap:2px;margin-top:10px;display:grid}.global-search-results>button{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:11px;padding:10px;display:flex}.global-search-results>button[aria-selected=true],.global-search-results>button:hover{background:var(--skin-hover);color:var(--text)}.global-search-results>button>svg{flex:none}.global-search-results>button>span{gap:3px;min-width:0;display:grid}.global-search-results strong{color:var(--text);font-size:13px;font-weight:600}.global-search-results small{color:var(--muted);font-size:11px}.global-search-results strong,.global-search-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-empty{text-align:center;color:var(--muted);padding:20px 0 6px;font-size:12px}.preference-field input[data-shortcut-recorder]{cursor:pointer;height:36px;min-height:36px}.global-search-person-id,.global-search-test-only{color:var(--muted);margin-left:8px;font-size:10px;font-weight:400}.global-search-person-id{opacity:.72;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.global-search-test-only{font-size:10px}.event-settings-toolbar{justify-content:flex-end;align-items:center;margin-left:auto;display:flex}@media (max-width:760px){.event-settings-heading h2{flex-basis:100%}.event-settings-heading .event-settings-toolbar{justify-content:flex-end;margin-left:auto}}.mobile-swipe-action{align-items:center;gap:3px;min-width:0;display:flex}.mobile-swipe-action .swipe-action-trigger{width:auto;min-width:0;height:32px;min-height:32px;color:inherit;background:0 0;border:0;gap:4px;padding:0 3px;font-size:12px;font-weight:600}.mobile-swipe-action .swipe-action-trigger:hover{background:0 0}.mobile-swipe-action .swipe-action-trigger .app-select-value{color:inherit}.mobile-swipe-action .swipe-action-trigger svg{width:12px;height:12px}.app-select-popup{min-width:min(var(--anchor-width),calc(100vw - 16px));max-width:min(calc(100vw - 16px),var(--available-width,100vw));max-height:min(320px,var(--available-height,320px))}.date-picker-popup,.info-popover-popup,.subevent-options-popup{max-width:min(calc(100vw - 16px),var(--available-width,100vw));max-height:var(--available-height,calc(100dvh - 16px));overscroll-behavior:contain;overflow:auto}.mark-menu[popover],.attendance-color-options[popover]{margin:0}.mark-menu[popover]>button{white-space:normal;overflow-wrap:anywhere}.attendance-color-options[popover]{grid-template-columns:repeat(auto-fit,minmax(24px,1fr))}.mobile-swipe-action>span{color:inherit}.mobile-swipe-action .swipe-action-trigger{gap:0;padding:0}.mobile-swipe-action .swipe-action-trigger>span:has(svg){display:none}.roll-call-panel{container:roll-call-toolbar/inline-size}.subevent-compact{flex:1 1 0;min-width:0;max-width:180px;display:none}.roll-call-top .subevent-compact .app-select-trigger{gap:4px;width:100%;min-width:0;height:32px;min-height:32px;padding:5px 6px;font-size:11px}@media (max-width:760px){.roll-call-panel>.roll-call-top{flex-wrap:nowrap;align-items:center;gap:0 4px}.roll-call-top>.subevent-heading{flex:1 1 0;min-width:0;margin:0}.roll-call-top>.roll-call-actions{flex-wrap:nowrap;flex:none;gap:3px;width:auto}}@container roll-call-toolbar (width<=600px){.roll-call-top .subevent-tabs{display:none}.roll-call-top .subevent-compact{display:block}.roll-call-top .subevent-heading>h2{flex:none;margin-right:3px;font-size:13px}.roll-call-top>.roll-call-actions>.mark-remaining-dropdown{flex:0 0 32px;width:32px}.roll-call-top .mark-remaining-dropdown .mark-remaining-label{display:none}.roll-call-top .mark-remaining-dropdown>summary{justify-content:center;padding:0}.roll-call-top .icon-history>span{display:none}.roll-call-top>.roll-call-actions>.icon-history{justify-content:center;width:32px;min-width:32px;padding:0}}@container roll-call-toolbar (width<=340px){.roll-call-top{--roll-tool-height:28px}.roll-call-top>.roll-call-actions>.icon-history,.roll-call-top>.roll-call-actions>.event-history-button{flex:0 0 28px;width:28px;min-width:28px;height:28px;min-height:28px}.roll-call-top>.roll-call-actions>.mark-remaining-dropdown{flex-basis:28px;width:28px}.roll-call-top .subevent-compact .app-select-trigger{height:28px;min-height:28px;padding:3px 4px}}@media (max-width:760px){.event-note-tools{flex-flow:row;align-items:stretch;gap:6px;min-width:0}.event-note-tools>.inline-event-note{flex:1 1 0;gap:6px;width:auto;min-width:0;padding:0 8px}.event-note-tools>.inline-event-note>svg,.event-note-tools .event-note-label{white-space:nowrap;flex:none}.event-note-label .event-note-prefix{display:none}.event-note-tools>.inline-event-note [contenteditable]{white-space:pre;scrollbar-width:thin;flex:1 1 0;min-width:0;max-width:100%;overflow:auto hidden}.event-note-tools>.overview-toggle{white-space:nowrap;flex:none;width:max-content;min-width:0;padding:0 10px}}.mobile-roll-call .mobile-note-label .inline-person-note{resize:none;overflow-y:auto}.attendance-overview .overview-title-prefix{font:inherit}@container roll-call-toolbar (width<=600px){.attendance-overview .roll-call-top>.roll-call-actions>.comparison-dropdown{flex:0 0 32px;width:32px}.attendance-overview .comparison-dropdown .comparison-scope-label{display:none}.attendance-overview .comparison-dropdown>summary{justify-content:center;padding:0}}@container roll-call-toolbar (width<=420px){.attendance-overview .overview-title-prefix{display:none}}@container roll-call-toolbar (width<=340px){.attendance-overview .roll-call-top>.roll-call-actions>.comparison-dropdown{flex-basis:28px;width:28px}}@media (min-width:761px){html[data-workspace=active][data-scroll-overlay=active]:not([data-installed-mobile=true]){scrollbar-width:none!important}html[data-workspace=active][data-scroll-overlay=active]:not([data-installed-mobile=true])::-webkit-scrollbar{width:0;height:0;display:none}html[data-workspace=active][data-scroll-overlay=active]:not([data-installed-mobile=true]) body::-webkit-scrollbar{width:0;height:0;display:none}.desktop-scrollbar{z-index:160;background:var(--scroll-track);touch-action:none;outline-offset:-2px;width:12px;position:fixed;inset:0 0 0 auto}.desktop-scrollbar-thumb{background:var(--scroll-thumb);cursor:grab;width:100%}.desktop-scrollbar-thumb:hover{background:var(--scroll-hover)}.desktop-scrollbar:focus-visible .desktop-scrollbar-thumb{background:var(--scroll-hover)}.desktop-scrollbar-thumb:active{cursor:grabbing}html[data-installed-mobile=true] .desktop-scrollbar{display:none}}@media (max-width:760px){.desktop-scrollbar{display:none}}:root{--record-table-max-height:calc(100dvh - 24px)}.roster-record-page .roster-rows-scroll,.person-attendance-table-scroll{max-height:var(--record-table-max-height);overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);overflow:auto}.roster-record-page .roster-rows-scroll>.roster-table-head{z-index:10;background:var(--skin-subtle);position:sticky;top:0}.person-attendance-table thead th{z-index:2;box-shadow:inset 0 -1px var(--border);position:sticky;top:0}.archive-list-toolbar>.search-box{flex:0 420px}.archive-events-grid{align-items:stretch}.events-grid>.archive-card{border:2px solid var(--border);cursor:default;flex-direction:column;margin:0;display:flex}.archive-events-grid .archive-card-meta{gap:4px;margin-top:14px;padding-top:12px;display:grid}.archive-card-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:11px;display:flex}.archive-card-footer .archive-actions{gap:2px}.archive-events-grid .archive-card .inline-confirm{flex-wrap:wrap;gap:8px;padding:12px}.archive-events-grid .archive-card .inline-confirm>span{flex:100%;min-width:0}.archive-events-grid .archive-card .inline-confirm>button{white-space:normal;flex:0 auto}@media (max-width:760px){.archive-list-toolbar>.search-box{flex:100%;min-width:0}}
