:root{--color-bg:#f5f7f6;--color-sidebar:#eef3f2;--color-heading:#172326;--color-text:#4d5d61;--color-muted:#748184;--color-border:#dce5e3;--radius-md:8px;--radius-lg:8px;--shadow-soft:0 16px 40px #1723260f;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #1b5f6740}.app-shell{background:var(--color-bg);grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.login-page{min-height:100vh;padding:var(--space-5);background:var(--color-bg);place-items:center;display:grid}.login-panel{gap:var(--space-5);width:min(100%,460px);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;display:grid}.login-brand{grid-template-columns:54px 1fr}.login-form,.admin-form{gap:var(--space-3);display:grid}.login-form label,.admin-form label{gap:var(--space-2);color:var(--color-heading);font-size:.85rem;font-weight:800;display:grid}.login-form input,.admin-form input,.admin-form select,.admin-form textarea,.profile-editor input,.profile-editor select,.profile-editor textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);background:#fff;padding:.75rem .85rem}.admin-form textarea,.profile-editor textarea{resize:vertical;min-height:74px}.primary-button,.secondary-button,.ghost-button,.text-button{gap:var(--space-2);border-radius:var(--radius-md);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:#1b5f67;border:1px solid #1b5f67;padding:.8rem 1rem}.secondary-button{border:1px solid var(--color-border);color:var(--color-heading);background:#fff;padding:.72rem .85rem}.ghost-button{border:1px solid var(--color-border);color:var(--color-heading);background:#ffffffbf;padding:.72rem .85rem}.text-button{color:#1b5f67;background:0 0;border:0;padding:0}.form-message{color:#8f2f30;margin:0;font-weight:700}.auth-note{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.auth-note h2,.auth-note p{margin:0}.auth-note h2{color:var(--color-heading);font-size:1rem}.sidebar{gap:var(--space-6);height:100vh;padding:var(--space-5);border-right:1px solid var(--color-border);background:var(--color-sidebar);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{gap:var(--space-3);grid-template-columns:54px 1fr;align-items:center;display:grid}.brand-mark{border-radius:var(--radius-md);color:#fff;background:#1b5f67;place-items:center;width:54px;height:54px;font-size:.85rem;font-weight:800;display:grid}.brand h1,.portal-hero h2,.panel h3{color:var(--color-heading);margin:0}.brand h1{font-size:1rem;line-height:1.2}.eyebrow{color:var(--color-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.portal-nav{gap:var(--space-2);display:grid}.nav-item{gap:var(--space-3);border-radius:var(--radius-md);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:22px 1fr auto;align-items:center;padding:.8rem;display:grid}.nav-item:hover,.nav-item.active{border-color:var(--color-border);background:#fff}.nav-item.active{color:var(--color-heading);box-shadow:var(--shadow-soft)}.nav-item span{font-weight:700}.nav-item small{color:var(--color-muted);font-size:.72rem}.progress-tab{flex-shrink:0}.collaboration-card,.panel,.portal-hero{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff}.collaboration-card{padding:var(--space-4);margin-top:auto}.collaboration-card div{gap:var(--space-2);color:var(--color-heading);align-items:center;display:flex}.collaboration-card p,.portal-hero p,.work-item p,.integration-row p{color:var(--color-muted);margin:0}.workspace{min-width:0;padding:var(--space-5)}.topbar{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.search-box{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;flex:360px;align-items:center;min-width:min(360px,100%);padding:.7rem .9rem;display:flex}.search-box input{width:100%;color:var(--color-heading);font:inherit;background:0 0;border:0;outline:0}.topbar-actions{gap:var(--space-2);flex:0 auto;justify-content:flex-end;align-items:center;min-width:0;margin-left:auto;display:flex}.sync-pill{gap:var(--space-2);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;border-radius:999px;align-items:center;max-width:min(360px,100%);padding:.6rem .75rem;font-size:.86rem;font-weight:700;line-height:1.25;display:inline-flex}.sync-pill.unavailable{color:#8a2d2d;background:#fff1f1;border-color:#e5a3a3}.unsaved-pill{color:#7c4a0f;text-transform:uppercase;background:#fff7df;border:1px solid #e3b15f;border-radius:999px;align-items:center;width:fit-content;padding:.34rem .58rem;font-size:.76rem;font-weight:900;line-height:1.1;display:inline-flex}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-md);width:42px;height:42px;color:var(--color-heading);cursor:pointer;background:#fff;place-items:center;display:grid}.portal-hero{gap:var(--space-3);padding:var(--space-5);margin-bottom:var(--space-5);display:grid}.portal-title{gap:var(--space-3);align-items:center;display:flex}.portal-icon{border-radius:var(--radius-md);color:#1b5f67;background:#e7f3f4;place-items:center;width:52px;height:52px;display:grid}.portal-hero h2{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.05}.content-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);display:grid}.tile-board{align-items:start}.panel{padding:var(--space-4)}.large-panel{min-height:320px}.wide-panel{grid-column:1/-1}.panel-heading{gap:var(--space-3);margin-bottom:var(--space-4);justify-content:space-between;align-items:start;display:flex}.panel h3{font-size:1.15rem}.status{border-radius:999px;padding:.3rem .55rem;font-size:.76rem;font-weight:800}.status.ready{color:#235940;background:#e4f4ec}.status.planning{color:#77521c;background:#fff4d8}.status.blocked{color:#8f2f30;background:#fde8e8}.status.needs-password-reset{color:#77521c;background:#fff4d8}.status.active{color:#235940;background:#e4f4ec}.status.disabled{color:#8f2f30;background:#fde8e8}.tile-grid,.tile-list{gap:var(--space-3);display:grid}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.tile h4,.tile p{margin:0}.tile h4,.tile strong{color:var(--color-heading)}.tile p,.tile small{color:var(--color-muted)}.feature-tile{align-content:start;min-height:180px}.teacher-feature-board{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));align-items:stretch;display:grid}.teacher-feature-tile{gap:var(--space-3);min-height:116px;padding:var(--space-4);border-radius:var(--radius-md);color:#12313b;font:inherit;text-align:center;cursor:pointer;background:#c9f3fb;border:2px solid #0797d5;align-content:center;place-items:center;display:grid;box-shadow:0 6px 14px #12313b14}.teacher-feature-tile:hover,.teacher-feature-tile:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #12313b1f}.teacher-feature-tile strong{color:#12313b;max-width:13rem;font-size:.94rem;line-height:1.25}.teacher-feature-tile small{color:#12313bad;font-size:.72rem;font-weight:800}.teacher-feature-tile .progress-status{background:#ffffffb8;border:1px solid #ffffffb8;justify-self:center}.teacher-feature-tile.started{background:#ffe0c8;border-color:#d57b3e}.teacher-feature-tile.fleshed-out{background:#fff2b8;border-color:#d8a620}.teacher-feature-tile.near-completion{background:#d5f5f6;border-color:#2c9ca8}.teacher-feature-tile.completed{background:#d9f4e4;border-color:#3a9d62}.teacher-feature-tile.not-started{background:#c9f3fb;border-color:#0797d5}.teacher-feature-tile:first-child{background:#bceefa;border-color:#067eae;min-height:132px}.teacher-feature-tile.tone-teacher{background:#c9f3fb;border-color:#0797d5}.teacher-feature-tile.tone-office{background:#ffe0c8;border-color:#d57b3e}.teacher-feature-tile.tone-owners{background:#d9f6a4;border-color:#8ebf32}.teacher-feature-tile.tone-admin{background:#ddd6ff;border-color:#8c7bd8}.teacher-feature-tile.tone-calendar{background:#ffd2d2;border-color:#d88989}.teacher-feature-tile.tone-shared{background:#eef1f3;border-color:#9aa6ad}.teacher-command-center{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);display:grid}.teacher-command-panel,.teacher-request-panel,.teacher-bulletin-panel{align-content:start}.teacher-action-grid.teacher-main-action-grid,.teacher-action-grid.teacher-request-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-action-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.teacher-action-card{gap:var(--space-3);min-height:86px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fbfcfc;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.teacher-action-card:hover,.teacher-action-card:focus-visible{background:#f4fbfb;border-color:#2c9ca8;transform:translateY(-1px)}.teacher-action-card:disabled{cursor:not-allowed;opacity:.62;transform:none}.teacher-action-card.primary-action{background:#edfafa;border-color:#2c9ca8}.teacher-action-card span{gap:var(--space-1);display:grid}.teacher-action-card strong,.teacher-bulletin-note strong,.teacher-bulletin-empty strong{color:var(--color-heading)}.teacher-action-card small,.teacher-bulletin-note small,.teacher-bulletin-note p,.teacher-bulletin-empty p{color:var(--color-muted)}.teacher-bulletin-panel{background-color:#f2dfad;background-image:linear-gradient(90deg,#ffffff3d 1px,#0000 1px),linear-gradient(#fff3 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#d0ad64}.teacher-bulletin-list{gap:var(--space-3);display:grid}.teacher-bulletin-visibility{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.teacher-bulletin-visibility button,.teacher-bulletin-actions button{justify-content:center;align-items:center;gap:var(--space-1);color:#694d19;min-height:2.25rem;font:inherit;cursor:pointer;background:#fffaf0eb;border:1px solid #c59f4e;border-radius:999px;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-bulletin-visibility button{padding:.35rem .75rem}.teacher-bulletin-visibility button:hover,.teacher-bulletin-actions button:hover:not(:disabled){background:#fff;border-color:#9f782d}.teacher-bulletin-visibility button:focus-visible,.teacher-bulletin-actions button:focus-visible{outline-offset:2px;outline:3px solid #2c9ca84d}.teacher-bulletin-note,.teacher-bulletin-empty{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:#fffaf0;border:1px solid #dfc47d;display:grid;box-shadow:0 8px 18px #583e1214}.teacher-bulletin-note{position:relative}.teacher-bulletin-note.is-new{border-color:#c49a3d;box-shadow:0 8px 18px #583e1221}.teacher-bulletin-note.is-dismissed{opacity:.76}.teacher-bulletin-note-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-right:var(--space-4);display:flex}.teacher-bulletin-note-heading>span{color:#684c18;letter-spacing:.03em;text-transform:uppercase;background:#ead79e;border-radius:999px;flex:none;padding:.18rem .5rem;font-size:.68rem;font-weight:800}.teacher-bulletin-note-heading>span[data-status=new]{color:#12636b;background:#d7f0f1}.teacher-bulletin-note-heading>span[data-status=acknowledged]{color:#315f2c;background:#dcebd8}.teacher-bulletin-note-heading>span[data-status=dismissed]{color:#655f52;background:#e4dfd3}.teacher-bulletin-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-1);border-top:1px solid #c59f4e47;flex-wrap:wrap;display:flex}.teacher-bulletin-actions button{padding:.3rem .62rem}.teacher-bulletin-actions button:disabled{cursor:wait;opacity:.52}.teacher-bulletin-actions>span,.teacher-bulletin-status{color:#6f5a31;font-size:.75rem}.teacher-bulletin-status{min-height:1.1rem;margin:var(--space-2) 0 0}.teacher-bulletin-note:before{content:"";background:#2c9ca8;border-radius:999px;width:.65rem;height:.65rem;position:absolute;top:.7rem;right:.8rem;box-shadow:0 1px 3px #12313b38}.teacher-bulletin-note p,.teacher-bulletin-empty p{margin:0;line-height:1.45}.teacher-bulletin-empty{text-align:center;place-items:center;min-height:180px}.team-teacher-list-panel{grid-column:1/-1}.team-list-panel-actions{align-items:center;gap:var(--space-2);display:flex}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7faf9;padding:3px;display:inline-flex}.segmented-control button{border-radius:calc(var(--radius-md) - 3px);min-width:72px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.45rem .7rem;font-size:.88rem}.segmented-control button.active{color:var(--color-heading);background:#fff;box-shadow:0 4px 12px #142d301f}.team-roster-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.team-roster-grid.piece-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,680px),1fr))}.team-roster-box,.team-piece-box{gap:var(--space-2);min-height:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-content:start;display:grid}.team-roster-box.unplaced{margin-top:var(--space-3);background:#fff8ed;border-color:#e2c389}.team-roster-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.team-roster-heading strong{min-width:0;color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-roster-heading span{color:#12616b;text-align:center;background:#edfafa;border-radius:999px;min-width:32px;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.team-roster-names{gap:.28rem;display:grid}.team-roster-names p{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;line-height:1.35;overflow:hidden}.piece-draft-table-wrap{min-width:0}.piece-draft-table{border-collapse:collapse;table-layout:fixed;width:100%}.piece-draft-table th,.piece-draft-table td{border-top:1px solid var(--color-border);vertical-align:middle;padding:.28rem .35rem}.piece-draft-table th{color:var(--color-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-size:.72rem;font-weight:800}.piece-draft-table th:first-child,.piece-draft-table td:first-child{width:26%}.piece-draft-table th:nth-child(2),.piece-draft-table td:nth-child(2){width:24%}.piece-draft-table th:nth-child(3),.piece-draft-table td:nth-child(3){width:50%}.piece-draft-table input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--color-text);font:inherit;background:#fff;padding:.44rem .5rem;font-size:.84rem}.song-link-field{gap:var(--space-1);grid-template-columns:minmax(0,1fr) 30px;align-items:center;display:grid}.song-link-field a,.song-link-field>svg{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#12616b;background:#edfafa;place-items:center;width:30px;height:30px;display:inline-grid}.icon-text-button{align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;padding:.38rem .58rem;font-size:.84rem;display:inline-flex}.empty-state.compact{padding:var(--space-2);font-size:.86rem}.team-list-status-grid{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.team-teacher-list-panel .teacher-bulletin-empty.compact{place-items:initial;align-items:center;gap:var(--space-2);text-align:left;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:.62rem .72rem}.team-list-status-copy{gap:.15rem;min-width:0;display:grid}.team-list-status-copy strong{font-size:.78rem}.team-list-status-copy p{font-size:.72rem}.team-teacher-list-panel .teacher-bulletin-empty.compact .primary-button{white-space:nowrap;padding:.48rem .65rem;font-size:.75rem}.team-teacher-list-panel[data-program-kind=team]{padding:var(--space-3);container:team-list-panel/inline-size}.team-teacher-list-panel[data-program-kind=team]>.panel-heading{margin-bottom:var(--space-2);align-items:center}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid{column-count:1;column-gap:var(--space-2);display:block}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid.piece-grid{column-count:1}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+1){--program-card-accent:#f3aea3;--program-card-tint:#f3aea338}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+2){--program-card-accent:#f3c38f;--program-card-tint:#f3c38f38}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+3){--program-card-accent:#ead487;--program-card-tint:#ead48738}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+4){--program-card-accent:#efbd70;--program-card-tint:#efbd7038}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+5){--program-card-accent:#92cbc7;--program-card-tint:#92cbc738}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+6){--program-card-accent:#a9bfe8;--program-card-tint:#a9bfe838}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+7){--program-card-accent:#c0ade4;--program-card-tint:#c0ade438}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+8){--program-card-accent:#dba8cf;--program-card-tint:#dba8cf38}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n+9){--program-card-accent:#9fcaad;--program-card-tint:#9fcaad38}.team-teacher-list-panel[data-program-kind=team] .team-roster-grid>:nth-child(10n){--program-card-accent:#b7bfca;--program-card-tint:#b7bfca38}.team-teacher-list-panel[data-program-kind=team] .compact-program-card{--program-card-accent:#a8cbc6;--program-card-tint:#a8cbc638;width:100%;margin-bottom:var(--space-2);border:2px solid var(--program-card-accent);break-inside:avoid;background:#fff;border-radius:6px;gap:0;padding:0;display:grid;overflow:hidden;container:program-card/inline-size}.team-teacher-list-panel[data-program-kind=team] .compact-program-card.unplaced{--program-card-accent:#dfbd7b;--program-card-tint:#fff1d7b3;margin-top:0}.team-teacher-list-panel[data-program-kind=team] .compact-program-heading{border-bottom:1px solid color-mix(in srgb, var(--program-card-accent) 48%, transparent);background:var(--program-card-tint);min-width:0;padding:.36rem .5rem}.team-teacher-list-panel[data-program-kind=team] .compact-program-heading>div{min-width:0}.team-teacher-list-panel[data-program-kind=team] .compact-program-heading h4{margin:0;font-size:.86rem;line-height:1.25;display:block}.team-teacher-list-panel[data-program-kind=team] .compact-program-heading>span:last-child{background:#ffffffc2;border:1px solid #ffffffd6;min-width:26px;padding:.14rem .4rem;font-size:.7rem}.team-card-kicker{color:#1b6b70;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.05rem;font-size:.6rem;font-weight:800;line-height:1.3;display:block}.team-roster-name-list{background:#fff;border:1px solid #dce5e3;border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));margin:.36rem;padding:0;list-style:none;display:grid;overflow:hidden}.team-roster-name-list li{color:#35464a;overflow-wrap:anywhere;border-bottom:1px solid #edf1f0;min-width:0;padding:.25rem .48rem;font-size:.68rem;font-weight:700;line-height:1.25}.team-roster-name-list li:nth-child(odd){border-right:1px solid #edf1f0}.team-piece-card-body{gap:.36rem;padding:.36rem;display:grid}.piece-draft-list{gap:.36rem;display:grid}.piece-draft-item{background:#edfaf89e;border:1px solid #cfe3df;border-radius:6px;min-width:0;margin:0;padding:.36rem}.piece-draft-primary-fields{grid-template-columns:minmax(0,1fr) minmax(0,.92fr) 28px;align-items:end;gap:.3rem;display:grid}.piece-draft-primary-fields label,.piece-song-fields label{gap:.13rem;min-width:0;display:grid}.piece-draft-primary-fields label>span,.piece-song-fields label>span{color:#617276;letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:800;line-height:1.2}.piece-draft-primary-fields input,.piece-song-fields input{width:100%;min-width:0;color:var(--color-heading);font:inherit;background:#fff;border:1px solid #d3dfdd;border-radius:4px;padding:.34rem .42rem;font-size:.72rem}.piece-remove-button.icon-button{color:#9b4b43;border-radius:4px;width:28px;height:28px}.piece-song-details{border-top:1px solid #dce9e6;margin-top:.3rem}.piece-song-details summary{color:#496065;cursor:pointer;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:.25rem;padding-top:.3rem;font-size:.67rem;font-weight:700;line-height:1.2;list-style:none;display:grid}.piece-song-details summary::-webkit-details-marker{display:none}.piece-song-details summary>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.piece-song-details summary small{color:#728185;letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:800}.piece-song-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding-top:.36rem;display:grid}.piece-song-open{grid-column:1/-1;justify-self:start;padding:.3rem .44rem;font-size:.66rem}.piece-add-button{border-radius:4px;justify-self:start;padding:.38rem .52rem;font-size:.7rem}.compact-card-empty{color:var(--color-muted);background:#ffffffbd;border:1px dashed #c9d7d5;border-radius:4px;margin:.36rem;padding:.45rem;font-size:.7rem;line-height:1.35}@container team-list-panel (width>=500px){.team-teacher-list-panel[data-program-kind=team] .team-roster-grid,.team-teacher-list-panel[data-program-kind=team] .team-roster-grid.piece-grid{column-count:2}}@container team-list-panel (width>=780px){.team-teacher-list-panel[data-program-kind=team] .team-roster-grid,.team-teacher-list-panel[data-program-kind=team] .team-roster-grid.piece-grid{column-count:3}}@container team-list-panel (width>=1040px){.team-teacher-list-panel[data-program-kind=team] .team-roster-grid,.team-teacher-list-panel[data-program-kind=team] .team-roster-grid.piece-grid{column-count:4}}@container team-list-panel (width>=1300px){.team-teacher-list-panel[data-program-kind=team] .team-roster-grid,.team-teacher-list-panel[data-program-kind=team] .team-roster-grid.piece-grid{column-count:5}}@container program-card (width<=290px){.piece-draft-primary-fields{grid-template-columns:minmax(0,1fr) 28px}.piece-draft-primary-fields label{grid-column:1}.piece-remove-button.icon-button{grid-area:1/2/3;align-self:end}.piece-song-fields{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.team-teacher-list-panel .teacher-bulletin-empty.compact{grid-template-columns:1fr}.team-teacher-list-panel .teacher-bulletin-empty.compact .primary-button{justify-self:start}}.office-command-center{gap:var(--space-4);margin-bottom:var(--space-1);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);display:grid}.office-command-panel,.office-priority-panel{align-content:start}.office-command-panel{background-color:#f7e2c8;background-image:linear-gradient(90deg,#ffffff5c 1px,#0000 1px),linear-gradient(#ffffff47 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#dfb176}.office-action-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.office-action-card{gap:var(--space-3);min-height:88px;padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-text);background:#fffaf4;border:1px solid #dfc09b;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;box-shadow:0 8px 18px #72491e12}.office-action-card.primary-action{background:#fff4e8;border-color:#c07c37}.office-action-card span{gap:var(--space-1);display:grid}.office-action-card strong,.office-priority-note strong,.office-priority-empty strong{color:var(--color-heading)}.office-action-card small,.office-priority-note span,.office-priority-empty p{color:var(--color-muted);margin:0;line-height:1.45}.office-priority-panel{background-color:#edfafa;background-image:linear-gradient(90deg,#ffffff38 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#8ccbd1}.office-priority-list{gap:var(--space-3);display:grid}.office-priority-note,.office-priority-empty{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:#fff;border:1px solid #bcdde0;display:grid;box-shadow:0 8px 18px #124b5412}.office-priority-note{border-left:4px solid #2c9ca8}.office-priority-note.must{border-left-color:#c65c32}.office-priority-note.can{border-left-color:#7d8a92}.office-priority-empty{text-align:center;place-items:center;min-height:180px}.office-today-panel{background-color:#edfafa;background-image:linear-gradient(90deg,#ffffff38 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#8ccbd1}.office-command-followup{grid-column:1/-1}.office-today-list,.office-todo-checklist{gap:var(--space-2);display:grid}.office-today-item{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-sm);background:#fff;border:1px solid #bcdde0;border-left:4px solid #2c9ca8;display:grid}.office-today-item.covered,.office-today-item.done{opacity:.78;border-left-color:#6b8d6f}.office-today-item.in-progress{border-left-color:#c07c37}.office-today-item div{gap:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.office-today-item strong,.office-today-empty strong{color:var(--color-heading)}.office-today-item p,.office-today-item span,.office-today-item small,.office-today-empty p{color:var(--color-muted);margin:0;font-size:.86rem;line-height:1.35}.office-today-empty{gap:var(--space-2);min-height:150px;padding:var(--space-4);border-radius:var(--radius-sm);color:var(--color-muted);text-align:center;background:#fff;border:1px dashed #a8cfd4;place-items:center;display:grid}.compact-button{width:fit-content;min-height:0;padding:.4rem .62rem;font-size:.8rem}.owner-command-center{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);display:grid}.owner-command-panel,.owner-priority-panel{align-content:start}.owner-command-panel{background-color:#e7f6cf;background-image:linear-gradient(90deg,#ffffff57 1px,#0000 1px),linear-gradient(#ffffff42 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#b6d879}.owner-metric-row{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.owner-metric{min-width:0;padding:var(--space-3);border-radius:var(--radius-md);color:#235940;text-align:center;background:#fff;border:1px solid #b8d8c9;gap:.12rem;display:grid}.owner-metric strong{color:#235940;font-size:1.5rem;line-height:1}.owner-metric span{color:#235940;text-transform:uppercase;font-size:.72rem;font-weight:900}.owner-workflow-groups{gap:var(--space-3);display:grid}.owner-workflow-box{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#ffffffa8;border:1px solid #bdd88c;display:grid}.owner-workflow-box.daily{background:#f4fbfbc7;border-color:#9ed0d5}.owner-workflow-box.teams-daily{background:#f8f7ffc7;border-color:#b8b1e7}.owner-workflow-box.teams-planning{background:#fbfff3c7;border-color:#bdd88c}.owner-workflow-box.miscellaneous{background:#ffffffc7;border-color:#d8dce0}.owner-workflow-box-heading{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.owner-workflow-box-heading h4{color:var(--color-heading);margin:0;font-size:1rem}.owner-workflow-box-heading span{color:var(--color-muted);text-transform:uppercase;flex-shrink:0;font-size:.74rem;font-weight:900}.owner-action-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.owner-action-card{gap:var(--space-3);min-height:88px;padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fbfff3;border:1px solid #bdd88c;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;box-shadow:0 8px 18px #4b681c12}.owner-action-card:hover,.owner-action-card:focus-visible{background:#f3fbdc;border-color:#8ebf32;transform:translateY(-1px)}.owner-action-card.started,.owner-action-card.fleshed-out,.owner-action-card.near-completion,.owner-action-card.completed{border-color:#8ebf32}.owner-action-card.tone-calendar{background:#fff5f5;border-color:#d88989}.owner-action-card span{gap:var(--space-1);display:grid}.owner-action-card strong,.owner-priority-note strong,.owner-priority-empty strong{color:var(--color-heading)}.owner-action-card small,.owner-priority-note span,.owner-priority-empty p,.owner-placeholder-copy{color:var(--color-muted);margin:0;line-height:1.45}.owner-priority-panel{background-color:#edfafa;background-image:linear-gradient(90deg,#ffffff38 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#8ccbd1}.owner-priority-list{gap:var(--space-3);display:grid}.owner-priority-note,.owner-priority-empty{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:#fff;border:1px solid #bcdde0;display:grid;box-shadow:0 8px 18px #124b5412}.assigned-todo-panel{background-color:#edfafa;background-image:linear-gradient(90deg,#ffffff38 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#8ccbd1;align-content:start;min-width:0}.assigned-todo-list{gap:var(--space-3);max-height:44rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.deadline-alert-board{gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fff9ed;border:1px solid #e5b46e;display:grid;box-shadow:0 8px 18px #6f440c14}.deadline-alert-board-heading,.deadline-alert-board-heading>span{gap:var(--space-2);align-items:center;display:flex}.deadline-alert-board-heading{justify-content:space-between}.deadline-alert-board-heading>span{color:#825112;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.deadline-alert-board-heading small{color:#8b6b43;font-size:.72rem}.deadline-alert-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.deadline-alert-item{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);background:#fff;border:1px solid #edcd9c;border-left:4px solid #c77b1f;grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.deadline-alert-item>div{gap:var(--space-1);min-width:0;display:grid}.deadline-alert-item>div>strong{color:var(--color-heading);line-height:1.3}.deadline-alert-item span,.deadline-alert-item small{color:var(--color-muted);font-size:.8rem;line-height:1.4}.deadline-alert-countdown{min-width:3rem;min-height:2rem;padding:0 var(--space-2);color:#784708;background:#ffe8be;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.assigned-todo-item{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid #bcdde0;border-left:4px solid #2c9ca8;grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid;box-shadow:0 8px 18px #124b5412}.assigned-todo-item.priority-must{border-left-color:#c65c32}.assigned-todo-item.priority-can{border-left-color:#7d8a92}.assigned-todo-item.focused{outline-offset:2px;outline:3px solid #2c9ca838}.assigned-todo-link{gap:var(--space-1);min-width:0;color:var(--color-text);text-decoration:none;display:grid}.assigned-todo-link:hover strong,.assigned-todo-link:focus-visible strong{color:#176e77;text-underline-offset:.18em;text-decoration:underline}.assigned-todo-link strong{color:var(--color-heading);line-height:1.3}.assigned-todo-link span,.assigned-todo-link small{color:var(--color-muted);font-size:.82rem;line-height:1.4}.assigned-todo-link small{white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.assigned-todo-link em{width:fit-content;margin-top:var(--space-1);color:#176e77;align-items:center;gap:.25rem;font-size:.8rem;font-style:normal;font-weight:750;display:inline-flex}.assigned-todo-complete{color:#176e77;cursor:pointer;background:#f4fbfb;border:1px solid #8ccbd1;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;display:grid}.assigned-todo-complete:hover,.assigned-todo-complete:focus-visible{color:#fff;background:#176e77;border-color:#176e77}.assigned-todo-complete:disabled{cursor:wait;opacity:.55}.assigned-todo-empty{gap:var(--space-2);min-height:10rem;padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;background:#fff;border:1px dashed #a8cfd4;place-items:center;display:grid}.assigned-todo-empty p{color:var(--color-heading);margin:0;font-weight:750}.owner-priority-note{border-left:4px solid #2c9ca8}.owner-priority-note.must{border-left-color:#c65c32}.owner-priority-note.can{border-left-color:#7d8a92}.owner-priority-empty{text-align:center;place-items:center;min-height:180px}.owner-workspace-heading,.owner-planned-workspace{gap:var(--space-4);display:grid}.owner-workspace-heading{margin-bottom:var(--space-3);justify-items:start}.owner-analytics-workspace{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.owner-analytics-page-tabs{background:#edf3f1;border:1px solid #d5e1de;border-radius:.78rem;width:fit-content;padding:.28rem;display:inline-flex}.owner-analytics-page-tabs button{color:#55706e;min-height:2.55rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.58rem;align-items:center;gap:.46rem;padding:.58rem .85rem;font-size:.78rem;font-weight:850;display:inline-flex}.owner-analytics-page-tabs button[aria-current=page]{color:#174f52;background:#fff;box-shadow:0 3px 10px #1b43441a}.owner-analytics-page-tabs button:focus-visible,.rec-analysis-segmented button:focus-visible{outline-offset:2px;outline:3px solid #276d7040}.rec-analysis-page{gap:var(--space-4);display:grid}.rec-analysis-header{gap:var(--space-4);border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 14%,#bfe2aebf,#0000 26%),linear-gradient(135deg,#e4f3ef,#f7faf5 72%);border:1px solid #b8d4cf;justify-content:space-between;align-items:flex-end;padding:clamp(1.1rem,3vw,1.65rem);display:flex}.rec-analysis-header .eyebrow,.rec-analysis-header h2{margin:0}.rec-analysis-header h2{color:#174f52;letter-spacing:-.035em;margin-top:.2rem;font-size:clamp(1.75rem,3vw,2.45rem)}.rec-analysis-captured{text-align:right;gap:.12rem;display:grid}.rec-analysis-captured span{color:#617a78;text-transform:uppercase;font-size:.65rem;font-weight:900}.rec-analysis-captured strong{color:#285f61;font-size:.78rem}.rec-analysis-toolbar{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.rec-analysis-segmented{background:#f1f5f4;border:1px solid #d5e1de;border-radius:.7rem;flex-wrap:wrap;gap:.26rem;padding:.25rem;display:inline-flex}.rec-analysis-segmented button{color:#5d7472;min-height:2.35rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.48rem .72rem;font-size:.72rem;font-weight:850}.rec-analysis-segmented button[aria-pressed=true]{color:#fff;background:#286e70;box-shadow:0 3px 8px #194f512e}.rec-analysis-kpis{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rec-analysis-kpis article{gap:var(--space-2);min-height:78px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#397a79;background:#fff;border:1px solid #d9e5e2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.rec-analysis-kpis article[data-tone=warning]{color:#aa641e;background:#fffbef;border-color:#ecd6ab}.rec-analysis-kpis span{color:#617472;text-transform:uppercase;font-size:.72rem;font-weight:850}.rec-analysis-kpis strong{color:#183f42;font-variant-numeric:tabular-nums;font-size:1.55rem}.rec-analysis-matrix-panel,.rec-analysis-priority-panel,.rec-analysis-class-panel{border-color:#d5e1de}.rec-analysis-section-heading{gap:var(--space-3);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.rec-analysis-section-heading .eyebrow,.rec-analysis-section-heading h3{margin:0}.rec-analysis-section-heading h3{color:#173e43;margin-top:.12rem}.rec-analysis-section-heading>strong{color:#286e70;background:#e8f5f4;border-radius:.6rem;place-items:center;min-width:2.2rem;height:2.2rem;font-size:.85rem;display:grid}.rec-analysis-legend{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:inline-flex}.rec-analysis-legend span,.rec-analysis-priority-table span[data-signal]{border-radius:999px;align-items:center;min-height:1.65rem;padding:.25rem .48rem;font-size:.62rem;font-weight:900;display:inline-flex}.rec-analysis-legend span[data-signal=enough],.rec-analysis-priority-table span[data-signal=enough]{color:#246031;background:#dff1d7}.rec-analysis-legend span[data-signal=tight],.rec-analysis-priority-table span[data-signal=tight]{color:#765914;background:#f9edb7}.rec-analysis-legend span[data-signal=critical],.rec-analysis-priority-table span[data-signal=critical]{color:#8c342d;background:#f7d6d1}.rec-analysis-table-scroll{border:1px solid #dce6e3;border-radius:.72rem;max-width:100%;overflow-x:auto}.rec-analysis-matrix,.rec-analysis-priority-table,.rec-analysis-class-table{border-collapse:separate;border-spacing:0;color:#29494a;font-variant-numeric:tabular-nums;width:100%;font-size:.72rem}.rec-analysis-matrix{min-width:820px}.rec-analysis-matrix th,.rec-analysis-matrix td,.rec-analysis-priority-table th,.rec-analysis-priority-table td,.rec-analysis-class-table th,.rec-analysis-class-table td{text-align:center;border-bottom:1px solid #e2e9e7;border-right:1px solid #e2e9e7;padding:.65rem .7rem}.rec-analysis-matrix thead th,.rec-analysis-priority-table thead th,.rec-analysis-class-table thead th{z-index:2;color:#526d6c;text-transform:uppercase;white-space:nowrap;background:#f2f6f5;font-size:.64rem;font-weight:900;position:sticky;top:0}.rec-analysis-matrix th:first-child{z-index:3;text-align:left;background:#f8faf9;min-width:128px;position:sticky;left:0}.rec-analysis-matrix thead th:first-child{z-index:4;background:#edf3f1}.rec-analysis-matrix td{color:#173e43;min-width:60px;font-size:.88rem;font-weight:950}.rec-analysis-matrix td[data-signal=enough]{background:#dff1d7}.rec-analysis-matrix td[data-signal=tight]{background:#f9edb7}.rec-analysis-matrix td[data-signal=critical]{background:#f7d6d1}.rec-analysis-matrix tr:last-child>*,.rec-analysis-priority-table tr:last-child>*,.rec-analysis-class-table tr:last-child>*{border-bottom:0}.rec-analysis-matrix tr>:last-child,.rec-analysis-priority-table tr>:last-child,.rec-analysis-class-table tr>:last-child{border-right:0}.rec-analysis-thresholds{margin-top:var(--space-2);color:#677c7a;text-align:right;font-size:.66rem;font-weight:800}.rec-analysis-priority-table,.rec-analysis-class-table{min-width:760px}.rec-analysis-priority-table th,.rec-analysis-priority-table td,.rec-analysis-class-table th,.rec-analysis-class-table td{text-align:left}.rec-analysis-priority-table td:nth-child(n+4),.rec-analysis-priority-table th:nth-child(n+4),.rec-analysis-class-table td:nth-child(n+5),.rec-analysis-class-table th:nth-child(n+5){text-align:center}.rec-analysis-priority-table tbody tr:nth-child(2n),.rec-analysis-class-table tbody tr:nth-child(2n){background:#f9fbfa}.rec-analysis-class-table td:first-child{min-width:280px}.rec-analysis-class-table td:first-child strong,.rec-analysis-class-table td:first-child small{display:block}.rec-analysis-class-table td:first-child small{color:#6c807f;margin-top:.16rem}.rec-analysis-fill{vertical-align:middle;background:#e5ece9;border-radius:999px;width:64px;height:.42rem;margin-right:.35rem;display:inline-block;overflow:hidden}.rec-analysis-fill span{border-radius:inherit;background:linear-gradient(90deg,#82bc74,#397a79);height:100%;display:block}.rec-analysis-class-table td:last-child small{color:#5e7472;font-size:.66rem}.rec-analysis-state{gap:var(--space-3);min-height:280px;padding:var(--space-5);border-radius:var(--radius-lg);color:#397a79;text-align:center;background:#fff;border:1px solid #d5e1de;place-items:center;display:grid}.rec-analysis-state .is-spinning{animation:1s linear infinite owner-analytics-spin}.owner-analytics-hero{isolation:isolate;gap:var(--space-5);border-radius:var(--radius-lg);color:#fff;background:radial-gradient(circle at 88% 4%,#c3e58b33,#0000 34%),linear-gradient(135deg,#173e43 0%,#205d5c 58%,#2f6e5d 100%);border:1px solid #1b575c;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #173e432b}.owner-analytics-hero:after{z-index:-1;content:"";background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.owner-analytics-hero-copy{align-self:center}.owner-analytics-hero-copy .eyebrow{color:#cde0d3}.owner-analytics-hero-copy h2,.owner-analytics-hero-copy p,.owner-analytics-insight p{margin:0}.owner-analytics-hero-copy h2{color:#fff;letter-spacing:-.035em;font-size:clamp(1.85rem,3.4vw,2.65rem);line-height:1.04}.owner-analytics-hero-copy>p:last-child{max-width:720px;margin-top:var(--space-3);color:#deebe4;font-size:.96rem;line-height:1.55}.owner-analytics-filter-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffff1a;border:1px solid #ffffff38;align-self:start;display:grid;box-shadow:inset 0 1px #ffffff1f}.owner-analytics-filter-card label{color:#dbe9e2;text-transform:uppercase;font-size:.7rem;font-weight:900}.owner-analytics-season-select{gap:var(--space-2);border-radius:var(--radius-md);color:#173e43;background:#fff;border:1px solid #ffffff4d;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.72rem .8rem;display:grid}.owner-analytics-season-select select{color:#173e43;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-weight:850}.owner-analytics-reviewed-status{color:#e8f3ed;align-items:center;gap:.42rem;font-size:.74rem;font-weight:750;display:flex}.owner-analytics-reviewed-status>span{background:#c1e06d;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 3px #c1e06d29}.owner-analytics-refresh-button{border-radius:var(--radius-md);color:#173e43;min-height:2.6rem;font:inherit;cursor:pointer;background:#f7fff8;border:1px solid #ffffff6b;justify-content:center;align-items:center;gap:.48rem;padding:.68rem .9rem;font-size:.78rem;font-weight:900;transition:transform .14s,background .14s,box-shadow .14s;display:inline-flex;box-shadow:0 7px 18px #051d2024}.owner-analytics-refresh-button:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:0 9px 22px #051d2033}.owner-analytics-refresh-button:focus-visible{outline-offset:2px;outline:3px solid #cbe688}.owner-analytics-refresh-button:disabled{color:#41615d;cursor:wait;opacity:.88;background:#e8f2ec}.owner-analytics-refresh-button .is-spinning{animation:1s linear infinite owner-analytics-spin}.owner-analytics-refresh-status{color:#dcebe2;min-height:2.2em;margin:0;font-size:.7rem;line-height:1.45}.owner-analytics-refresh-status[data-status=error],.owner-analytics-refresh-status[data-status=failed]{color:#ffe1c2}@keyframes owner-analytics-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.owner-analytics-refresh-button .is-spinning{animation:none}}.owner-analytics-insight{gap:var(--space-3);border-radius:var(--radius-md);background:#051d202e;border:1px solid #ffffff29;grid-column:1/-1;align-items:center;padding:.85rem 1rem;display:flex}.owner-analytics-insight>svg{color:#cbe688;flex:none}.owner-analytics-insight p{gap:.12rem;display:grid}.owner-analytics-insight strong{color:#fff;font-size:.92rem}.owner-analytics-insight span{color:#d6e6dd;font-size:.8rem}.owner-analytics-metric-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.owner-analytics-metric{gap:var(--space-2);min-width:0;min-height:154px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #1723260e}.owner-analytics-metric:before{background:var(--owner-analytics-accent,#397a79);content:"";height:4px;position:absolute;inset:0 0 auto}.owner-analytics-metric[data-tone=primary]{--owner-analytics-accent:#276d70;--owner-analytics-soft:#e8f5f4}.owner-analytics-metric[data-tone=new]{--owner-analytics-accent:#2c7ca0;--owner-analytics-soft:#e9f5fa}.owner-analytics-metric[data-tone=rec]{--owner-analytics-accent:#7da72d;--owner-analytics-soft:#f2f8e3}.owner-analytics-metric[data-tone=team]{--owner-analytics-accent:#6b62a8;--owner-analytics-soft:#f0eefb}.owner-analytics-metric-topline{gap:var(--space-2);color:var(--color-muted);text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:900;line-height:1.25;display:flex}.owner-analytics-metric-icon{width:2.05rem;height:2.05rem;color:var(--owner-analytics-accent);background:var(--owner-analytics-soft);border-radius:.62rem;flex:none;place-items:center;display:grid}.owner-analytics-metric>strong{color:var(--color-heading);font-variant-numeric:tabular-nums;letter-spacing:-.045em;align-self:end;font-size:clamp(2rem,3vw,2.6rem);line-height:.95}.owner-analytics-metric>small{color:var(--color-muted);font-size:.77rem;line-height:1.35}.owner-analytics-story-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);display:grid}.owner-analytics-story-grid>.panel,.owner-analytics-source-card{border-color:#d5e1de}.owner-analytics-panel-heading{align-items:center}.owner-analytics-panel-heading .eyebrow,.owner-analytics-panel-heading h3{margin:0}.owner-analytics-panel-heading>svg{color:#397a79}.owner-analytics-mix-body{grid-template-columns:minmax(180px,.72fr) minmax(250px,1.28fr);align-items:center;gap:clamp(1rem,3vw,2rem);min-height:250px;display:grid}.owner-analytics-donut{aspect-ratio:1;background:conic-gradient(#62599f 0 var(--owner-team-share), #9fc753 var(--owner-team-share) 100%);border-radius:50%;justify-self:center;place-items:center;width:min(100%,224px);display:grid;position:relative;box-shadow:0 15px 35px #4a4c6626}.owner-analytics-donut:before{content:"";background:#fff;border:1px solid #eef2f0;border-radius:50%;position:absolute;inset:18%}.owner-analytics-donut>div{place-items:center;gap:.1rem;display:grid;position:relative}.owner-analytics-donut strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1}.owner-analytics-donut span{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:900}.owner-analytics-legend{gap:var(--space-3);display:grid}.owner-analytics-legend-item{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fbfcfc;border:1px solid #e0e7e4;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.owner-analytics-legend-swatch{background:#9fc753;border-radius:999px;width:.68rem;height:2.8rem}.owner-analytics-legend-item[data-tone=team] .owner-analytics-legend-swatch{background:#62599f}.owner-analytics-legend-item>div{gap:.1rem var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.owner-analytics-legend-item>div>span{color:var(--color-heading);font-size:.82rem;font-weight:850}.owner-analytics-legend-item>div>strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:1.15rem;line-height:1}.owner-analytics-legend-item small{color:var(--color-muted);grid-column:1/-1;font-size:.73rem;line-height:1.35}.owner-analytics-legend-item>b{color:var(--color-muted);font-size:.78rem}.owner-analytics-volume-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.owner-analytics-volume-grid>section{min-height:95px;padding:var(--space-3);border-radius:var(--radius-md);background:#f8fbfa;border:1px solid #dbe5e2;align-content:center;gap:.2rem;display:grid}.owner-analytics-volume-grid span,.owner-analytics-registration-status span{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:850;line-height:1.3}.owner-analytics-volume-grid strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:1.55rem}.owner-analytics-registration-status{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid #e1e8e6;display:grid}.owner-analytics-registration-status>div:first-child{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.owner-analytics-registration-status strong{color:#2e6e59;font-size:.82rem}.owner-analytics-registration-status small{color:var(--color-muted);font-size:.72rem;line-height:1.4}.owner-analytics-stacked-bar{background:#f1e4c9;border-radius:999px;width:100%;height:.7rem;display:flex;overflow:hidden}.owner-analytics-stacked-bar>span:first-child{background:linear-gradient(90deg,#347e75,#79ad82)}.owner-analytics-stacked-bar>span:last-child{background:#d4a148;min-width:4px}.owner-analytics-manual-card,.owner-analytics-style-card,.owner-analytics-growth-grid>.panel{border-color:#d5e1de}.owner-analytics-panel-heading p:not(.eyebrow){color:var(--color-muted);margin:.3rem 0 0;font-size:.78rem}.owner-analytics-manual-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);display:grid}.owner-analytics-report-preset,.owner-analytics-upload-box{padding:var(--space-4);border-radius:var(--radius-md);background:#f8fbfa;border:1px solid #dbe5e2}.owner-analytics-preset-heading{gap:var(--space-3);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.owner-analytics-preset-heading strong{color:var(--color-heading);font-size:1rem}.owner-analytics-preset-heading a{color:#fff;background:#315f9f;border-radius:.55rem;align-items:center;gap:.4rem;padding:.58rem .75rem;font-size:.76rem;font-weight:850;text-decoration:none;display:inline-flex}.owner-analytics-report-preset dl{gap:.45rem;margin:0;display:grid}.owner-analytics-report-preset dl>div{gap:var(--space-3);grid-template-columns:minmax(130px,.38fr) minmax(0,.62fr);align-items:center;display:grid}.owner-analytics-report-preset dt{color:var(--color-muted);font-size:.72rem}.owner-analytics-report-preset dd{color:var(--color-heading);background:#fff;border:1px solid #d6dfdc;border-radius:.35rem;margin:0;padding:.48rem .62rem;font-size:.76rem}.owner-analytics-upload-box{gap:var(--space-3);align-content:center;display:grid}.owner-analytics-upload-box>span{color:var(--color-heading);font-size:.78rem;font-weight:850}.owner-analytics-upload-box>label{gap:var(--space-2);border-radius:var(--radius-md);color:#285f61;cursor:pointer;background:#fff;border:1px dashed #6d9692;align-items:center;min-height:3.25rem;padding:.75rem;font-size:.76rem;font-weight:800;display:flex}.owner-analytics-upload-box>input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.owner-analytics-upload-box>input:focus-visible+.owner-analytics-upload-button,.owner-analytics-upload-box>label:focus-within{outline-offset:2px;outline:3px solid #276d7040}.owner-analytics-upload-button{border-radius:var(--radius-md);color:#fff;min-height:2.7rem;font:inherit;cursor:pointer;background:#286e70;border:0;font-size:.78rem;font-weight:900}.owner-analytics-upload-button:disabled{cursor:not-allowed;background:#9bb0ad}.owner-analytics-upload-box small,.owner-analytics-upload-message{color:var(--color-muted);margin:0;font-size:.71rem;line-height:1.4}.owner-analytics-upload-message{color:#286e70;font-weight:750}.owner-analytics-capacity-status{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid #e1e8e6;display:grid}.owner-analytics-capacity-status>div:first-child{color:var(--color-muted);text-transform:uppercase;justify-content:space-between;font-size:.72rem;font-weight:850;display:flex}.owner-analytics-capacity-status strong{color:#286e70}.owner-analytics-capacity-bar,.owner-analytics-style-bar{background:#e5ece9;border-radius:999px;height:.72rem;overflow:hidden}.owner-analytics-capacity-bar>span,.owner-analytics-style-bar>span{border-radius:inherit;background:linear-gradient(90deg,#2f7775,#9fc753);height:100%;display:block}.owner-analytics-growth-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);display:grid}.owner-analytics-history-chart{min-width:0}.owner-analytics-chart-summary{gap:var(--space-2);margin-bottom:var(--space-2);align-items:baseline;display:flex}.owner-analytics-chart-summary strong{color:#286e70;font-size:1.7rem}.owner-analytics-chart-summary span{color:var(--color-muted);font-size:.76rem}.owner-analytics-history-chart svg{width:100%;min-height:220px;overflow:visible}.owner-analytics-chart-gridline{stroke:#dce5e2;stroke-width:1px}.owner-analytics-chart-line{fill:none;stroke:#397a79;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.owner-analytics-chart-dot{fill:#fff;stroke:#397a79;stroke-width:4px}.owner-analytics-chart-value,.owner-analytics-chart-date{fill:#405b5b;text-anchor:middle;font-size:12px;font-weight:800}.owner-analytics-chart-date{fill:#6a7d7c;font-size:10px}.owner-analytics-class-ranking{counter-reset:rec-class;gap:0;margin:0;padding:0;list-style:none;display:grid}.owner-analytics-class-ranking li{gap:var(--space-2);counter-increment:rec-class;border-bottom:1px solid #e7ecea;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:2.7rem;display:grid}.owner-analytics-class-ranking li:before{color:#286e70;content:counter(rec-class);background:#e8f5f4;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.68rem;font-weight:900;display:grid}.owner-analytics-class-ranking span{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:750;overflow:hidden}.owner-analytics-class-ranking strong{color:#286e70;font-size:.86rem}.owner-analytics-style-list{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.owner-analytics-style-list>section{gap:.45rem var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.owner-analytics-style-list>section>div:first-child{grid-column:1/-1;justify-content:space-between;display:flex}.owner-analytics-style-list strong{color:var(--color-heading);font-size:.78rem}.owner-analytics-style-list span,.owner-analytics-style-list b{color:var(--color-muted);font-size:.7rem}.owner-analytics-style-list b{text-align:right;min-width:3rem}.owner-analytics-source-list{gap:0;margin:0;display:grid}.owner-analytics-source-list>div{gap:var(--space-3);border-bottom:1px solid #e7ecea;justify-content:space-between;align-items:center;min-height:2.5rem;padding:.55rem 0;display:flex}.owner-analytics-source-list>div:last-child{border-bottom:0}.owner-analytics-source-list dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.owner-analytics-source-list dd{color:var(--color-heading);text-align:right;align-items:center;gap:.42rem;margin:0;font-size:.76rem;font-weight:750;display:flex}.owner-analytics-source-dot{border-radius:50%;flex:none;width:.48rem;height:.48rem}.owner-analytics-source-dot.ready{background:#6d9d2d}@media (width<=1180px){.owner-analytics-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-analytics-story-grid,.owner-analytics-growth-grid,.owner-analytics-manual-grid{grid-template-columns:1fr}}@media (width<=760px){.owner-analytics-hero{grid-template-columns:1fr}.rec-analysis-header,.rec-analysis-toolbar{flex-direction:column;align-items:stretch}.rec-analysis-captured{text-align:left}.rec-analysis-kpis{grid-template-columns:1fr}.rec-analysis-segmented{width:100%}.rec-analysis-segmented button{flex:auto}.owner-analytics-metric-grid,.owner-analytics-mix-body,.owner-analytics-style-list{grid-template-columns:1fr}.owner-analytics-report-preset dl>div{grid-template-columns:1fr;gap:.2rem}.owner-analytics-metric{min-height:134px}.owner-analytics-donut{width:min(72vw,210px)}}@media (width<=440px){.owner-analytics-page-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.owner-analytics-page-tabs button{justify-content:center;padding-inline:.5rem}.rec-analysis-section-heading{flex-direction:column;align-items:flex-start}.rec-analysis-legend{justify-content:flex-start}.owner-analytics-volume-grid{grid-template-columns:1fr}.owner-analytics-filter-card{padding:var(--space-3)}.owner-analytics-legend-item{grid-template-columns:auto minmax(0,1fr)}.owner-analytics-legend-item>b{grid-column:2}.owner-analytics-source-list>div{flex-direction:column;align-items:flex-start}.owner-analytics-source-list dd{text-align:left}.owner-analytics-preset-heading{flex-direction:column;align-items:flex-start}}.admin-command-center,.admin-workspace{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.admin-command-panel{background-color:#eeeaff;background-image:linear-gradient(90deg,#ffffff4d 1px,#0000 1px),linear-gradient(#ffffff3d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#b7ace8}.admin-metric{color:#4d3f88;border-color:#c5bdeb}.admin-metric strong,.admin-metric span{color:#4d3f88}.admin-workflow-box{background:#ffffffb8;border-color:#c5bdeb}.admin-workflow-box.systems{background:#f2fafbcc;border-color:#9ecfd7}.admin-workflow-box.setup{background:#ffffffd1;border-color:#d6dbe1}.admin-action-card{background:#fbf9ff;border-color:#b7ace8;box-shadow:0 8px 18px #4d3f8812}.admin-action-card:hover,.admin-action-card:focus-visible,.admin-action-card.started,.admin-action-card.fleshed-out,.admin-action-card.near-completion,.admin-action-card.completed{background:#f4f0ff;border-color:#8c7bd8}.admin-action-card.tone-calendar{background:#fff5f5;border-color:#d88989}.admin-action-card.tone-shared{background:#f7f8f9;border-color:#9aa6ad}.schedule-week-label{margin-top:var(--space-1);color:var(--color-muted);font-size:.86rem;font-weight:800;display:block}.teacher-schedule-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.week-switcher.compact{gap:var(--space-1);padding:var(--space-1);display:flex}.teacher-week-empty{gap:var(--space-2);min-height:220px;padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fbfcfc;place-items:center;display:grid}.teacher-week-empty strong{color:var(--color-heading);font-size:1.15rem}.teacher-week-empty p{max-width:32rem;color:var(--color-muted);margin:0;line-height:1.5}.comp-finder-shell{gap:var(--space-4);display:grid}.comp-finder-header,.comp-finder-controls,.conflict-panel,.comp-category-panel,.comp-month{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff}.comp-finder-header{gap:var(--space-4);justify-content:space-between;align-items:center;display:flex}.comp-finder-header h2,.comp-finder-header p,.comp-month h3{margin:0}.comp-finder-header h2{color:var(--color-heading);font-size:1.8rem;line-height:1.1}.comp-finder-header p{max-width:760px;color:var(--color-muted)}.comp-finder-summary{gap:var(--space-1);min-width:138px;padding:var(--space-4);border-radius:var(--radius-md);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;justify-items:center;display:grid}.comp-finder-summary strong{color:#235940;font-size:2rem;line-height:1}.comp-finder-summary span{font-size:.8rem;font-weight:800}.comp-finder-controls,.conflict-panel{gap:var(--space-4);display:grid}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-auto-flow:column;justify-content:start;width:fit-content;padding:.2rem;display:inline-grid}.segmented-control button{border-radius:calc(var(--radius-md) - 2px);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:.55rem .75rem;font-size:.84rem;font-weight:800}.segmented-control button.active{color:#fff;background:#1b5f67}.filter-group,.date-filter-grid label,.conflict-mode-row,.add-conflict-grid{gap:var(--space-2);display:grid}.filter-group strong,.date-filter-grid label,.switch-row{color:var(--color-heading);font-size:.84rem;font-weight:800}.filter-chip-list,.conflict-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip,.conflict-item,.switch-row{gap:var(--space-2);align-items:center;display:inline-flex}.filter-chip,.conflict-item{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fbfcfc;padding:.55rem .7rem;font-size:.82rem;font-weight:700}.conflict-item span{gap:.12rem;display:grid}.conflict-item small{color:var(--color-muted)}.date-filter-grid,.add-conflict-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.date-filter-grid input,.add-conflict-grid input,.conflict-mode-row select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.7rem .8rem}.conflict-mode-row{grid-template-columns:auto minmax(220px,360px);align-items:center}.comp-section-list{gap:var(--space-4);display:grid}.comp-table{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;overflow:hidden}.comp-table-row{gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fff;grid-template-columns:minmax(190px,1.2fr) minmax(120px,.7fr) minmax(130px,.8fr) minmax(190px,1.1fr) minmax(128px,.7fr) minmax(80px,.4fr);align-items:center;padding:.8rem;font-size:.84rem;display:grid}.comp-table-row:last-child{border-bottom:0}.comp-table-head{color:var(--color-muted);text-transform:uppercase;background:#fbfcfc;font-size:.74rem;font-weight:800}.comp-table-row strong{color:var(--color-heading)}.comp-table-row span{min-width:0}.comp-table-row a{color:#1b5f67;font-weight:800}.comp-table-row.not-finalized,.comp-event-card.not-finalized{background:#fff8f2;border-left:4px solid #d57b3e}.event-status{border-radius:999px;width:fit-content;padding:.25rem .45rem;font-size:.72rem;font-weight:800}.event-status.confirmed{color:#235940;background:#e4f4ec}.event-status.official_tba{color:#77521c;background:#fff4d8}.event-status.venue_not_posted,.event-status.not_schedule_ready{color:#8f4024;background:#fff1eb}.comp-calendar-view,.comp-month-grid{gap:var(--space-4);display:grid}.comp-month h3{margin-bottom:var(--space-3);color:var(--color-heading)}.comp-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.comp-event-card{gap:var(--space-2);min-height:154px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-content:start;display:grid}.comp-event-card strong{color:var(--color-heading)}.comp-event-card p,.comp-event-card small{color:var(--color-muted);margin:0}.compact-tile{grid-template-columns:minmax(0,1fr) auto;align-items:start}.progress-summary-grid,.portal-progress-grid{gap:var(--space-3);display:grid}.progress-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-progress-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.progress-stat,.portal-progress-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.progress-stat strong{color:var(--color-heading);font-size:2rem;line-height:1}.progress-stat span,.portal-progress-card p{color:var(--color-muted);margin:0;font-size:.84rem;font-weight:800}.progress-stat.completed{background:#eef8f3;border-color:#b8d8c9}.progress-stat.near-completion{background:#e7f3f4;border-color:#97c9d1}.progress-stat.fleshed-out{background:#fff8e6;border-color:#ead7a1}.progress-stat.started{background:#fff1eb;border-color:#e9c8b8}.progress-stat.not-started{background:#f7f8f9;border-color:#d8dde2}.portal-progress-card>div{gap:var(--space-2);color:var(--color-heading);align-items:center;display:flex}.progress-bar{background:#e8ecef;border-radius:999px;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:#1b5f67;height:100%;display:block}.progress-list{gap:var(--space-3);display:grid}.progress-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-row{align-content:start;display:grid}.progress-tile{min-height:230px}.progress-row>div,.progress-row label{gap:var(--space-2);display:grid}.progress-row strong{color:var(--color-heading)}.progress-row small{color:var(--color-muted)}.progress-row label{color:var(--color-heading);font-size:.82rem;font-weight:800}.progress-row textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:82px;color:var(--color-heading);font:inherit;resize:vertical;background:#fff;padding:.75rem .85rem}.progress-status{border-radius:999px;width:fit-content;padding:.28rem .5rem;font-size:.72rem;font-weight:800}.progress-status.completed{color:#235940;background:#e4f4ec}.progress-status.near-completion{color:#1b5f67;background:#e7f3f4}.progress-status.fleshed-out{color:#77521c;background:#fff4d8}.progress-status.started{color:#8f4024;background:#fff1eb}.progress-status.not-started{color:#4e5a62;background:#eef1f3}.panel-heading h3{gap:var(--space-2);align-items:center;display:inline-flex}.profile-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-grid div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.profile-grid strong{color:var(--color-heading)}.profile-grid p{margin:.25rem 0 0}.work-list{gap:var(--space-3);display:grid}.feature-row{gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:12px 1fr;align-items:center;padding:.8rem 0;display:grid}.feature-row span{background:#c46a43;border-radius:50%;width:10px;height:10px}.feature-row p{color:var(--color-heading);margin:0;font-weight:700}.source-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.source-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#fbfcfc;padding:.75rem;font-weight:700}.platform-track-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.platform-track{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.platform-track h4,.platform-track p{margin:0}.platform-track h4{color:var(--color-heading);font-size:1rem}.platform-track ul{gap:var(--space-2);margin:0;padding-left:1.1rem;display:grid}.platform-track li{color:var(--color-text)}.calendar-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.calendar-event{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.calendar-event strong{color:var(--color-heading)}.calendar-event p,.calendar-event small{color:var(--color-muted);margin:0}.calendar-event span{color:#235940;background:#e4f4ec;border-radius:999px;width:fit-content;padding:.25rem .45rem;font-size:.74rem;font-weight:800}.sync-channel-list{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sync-channel{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-items:start;display:grid}.sync-channel strong{color:var(--color-heading)}.sync-channel span{color:#8f4024;font-size:.78rem;font-weight:800}.sync-channel p{color:var(--color-muted);margin:0}.schedule-module-grid,.room-feed-grid,.sub-finder-results{gap:var(--space-3);display:grid}.schedule-module-grid{margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.room-feed-grid{margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-module-card,.room-feed,.sub-finder-results section{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.schedule-module-card strong,.room-feed strong,.sub-finder-results h4{color:var(--color-heading)}.schedule-module-card p,.schedule-module-card small,.room-feed p,.sub-finder-results li{color:var(--color-muted);margin:0}.room-feed span{color:#235940;background:#e4f4ec;border-radius:999px;width:fit-content;padding:.25rem .45rem;font-size:.74rem;font-weight:800}.sub-finder-panel{gap:var(--space-3);display:grid}.sub-finder-panel label{gap:var(--space-2);color:var(--color-heading);font-size:.85rem;font-weight:800;display:grid}.sub-finder-panel select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(100%,420px);color:var(--color-heading);background:#fff;padding:.75rem .85rem}.sub-finder-results{grid-template-columns:repeat(3,minmax(0,1fr))}.sub-finder-results h4{margin:0;font-size:2rem}.sub-finder-results ul{gap:var(--space-2);margin:0;padding-left:1rem;display:grid}.admin-form{padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.admin-access-panel{gap:var(--space-3)}.admin-access-panel .panel-heading{margin-bottom:0}.admin-access-panel .admin-form{gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.admin-access-panel .admin-form label,.admin-access-panel .profile-editor label{gap:.22rem;font-size:.72rem}.admin-access-panel .admin-form input,.admin-access-panel .admin-form select,.admin-access-panel .admin-form textarea,.admin-access-panel .profile-editor input,.admin-access-panel .profile-editor select,.admin-access-panel .profile-editor textarea{border-radius:calc(var(--radius-md) - 2px);min-height:34px;padding:.45rem .55rem;font-size:.82rem}.admin-access-panel .admin-form textarea,.admin-access-panel .profile-editor textarea{min-height:38px}.admin-access-panel .admin-form .wide-form-field{grid-column:span 2}.admin-access-panel .admin-form fieldset{gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-column:span 2}.admin-access-panel .admin-form legend{margin-bottom:var(--space-1);font-size:.72rem}.admin-access-panel .admin-form .primary-button{white-space:nowrap;min-height:34px;padding:.48rem .7rem}.wide-form-field{grid-column:1/-1}.admin-form fieldset{gap:var(--space-2);border:0;flex-wrap:wrap;grid-column:1/-1;padding:0;display:flex}.admin-form legend{width:100%;color:var(--color-heading);font-weight:800}.check-row{gap:var(--space-2);grid-template-columns:auto;align-items:center;color:var(--color-text)!important;font-size:.82rem!important;font-weight:700!important;display:inline-flex!important}.check-row input{width:auto}.user-table{gap:var(--space-2);display:grid}.user-row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:minmax(360px,1.3fr) minmax(150px,.45fr) minmax(250px,.75fr) minmax(118px,auto);align-items:start;display:grid}.profile-editor{gap:var(--space-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-editor label{color:var(--color-heading);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.user-row strong{color:var(--color-heading)}.user-row p,.user-row small{color:var(--color-muted);margin:0}.admin-access-panel .profile-editor .wide-form-field{grid-column:span 3}.admin-access-panel .profile-editor small{border-radius:calc(var(--radius-md) - 2px);background:#f7f9fa;border:1px solid #dde4e8;align-self:end;padding:.4rem .5rem;font-size:.72rem;line-height:1.2}.role-chip-list,.permission-list,.user-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-access-panel .role-chip-list,.admin-access-panel .permission-list,.admin-access-panel .user-actions{padding:var(--space-2);border-radius:var(--radius-md);background:#fbfcfc;border:1px solid #dde4e8;align-content:start}.admin-access-panel .role-chip-list,.admin-access-panel .user-actions{gap:var(--space-1);grid-template-columns:1fr;display:grid}.admin-access-panel .permission-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem .5rem;display:grid}.admin-access-panel .check-row{gap:.35rem;min-width:0;line-height:1.2;font-size:.72rem!important}.admin-access-panel .check-row input{flex:none}.admin-access-panel .chip,.admin-access-panel .primary-button,.admin-access-panel .secondary-button{border-radius:calc(var(--radius-md) - 2px);min-height:30px;padding:.34rem .5rem;font-size:.72rem}.admin-access-panel .user-actions .primary-button,.admin-access-panel .user-actions .secondary-button{justify-content:flex-start}.admin-access-panel .unsaved-pill{justify-self:start;padding:.22rem .45rem;font-size:.68rem}.canonical-memory-panel{gap:var(--space-3);display:grid}.canonical-memory-note{color:var(--color-muted);margin:0;line-height:1.45}.canonical-teacher-add{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-template-columns:minmax(220px,1fr) auto;align-items:end;display:grid}.canonical-teacher-list{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.canonical-teacher-row{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.canonical-teacher-add label,.canonical-teacher-row label{color:var(--color-heading);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.canonical-teacher-add input,.canonical-teacher-row input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.62rem .72rem}.communication-panel{gap:var(--space-4);display:grid}.communication-grid{gap:var(--space-4);grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:start;display:grid}.message-compose,.message-list{gap:var(--space-3);display:grid}.message-compose label{gap:var(--space-2);color:var(--color-heading);font-size:.82rem;font-weight:800;display:grid}.message-compose input,.message-compose select,.message-compose textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.72rem .85rem}.message-compose textarea{resize:vertical;min-height:118px}.message-list h4{color:var(--color-heading);margin:0}.message-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:5px solid #2c9ca8;display:grid}.message-card.read{border-left-color:#7d8a92}.message-card.archived,.message-card.read{opacity:.72}.email-review-edit-form{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8faf9;display:grid}.email-review-edit-form label{color:var(--color-heading);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.email-review-edit-form input,.email-review-edit-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .72rem;font-weight:500}.email-review-edit-form textarea{resize:vertical;min-height:180px;line-height:1.5}.message-card div,.message-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.message-card .email-review-edit-form{align-items:stretch;display:grid}.message-card .email-review-warning{border-radius:var(--radius-md);color:#6f430d;background:#fff8e7;border:1px solid #e5b75f;justify-content:stretch;gap:.35rem;padding:.7rem .8rem;display:grid}.email-review-warning ul{gap:.25rem;margin:0;padding-left:1.15rem;font-size:.78rem;line-height:1.45;display:grid}.email-review-measurement{padding:var(--space-3);border:1px solid var(--color-border);background:#f8faf9;border-radius:12px;gap:.55rem;display:grid}.email-review-reason-list{flex-wrap:wrap;gap:.45rem .8rem;display:flex}.email-review-reason-list label{align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.office-todo-done-button{color:#235940;background:#eef8f3}.office-todo-done-button:disabled{opacity:.58;cursor:default}.office-todo-checklist-panel{gap:var(--space-3);display:grid}.office-todo-header-actions{gap:var(--space-2);align-items:center;display:flex}.office-todo-compose{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcfc;grid-template-columns:minmax(180px,1.3fr) minmax(140px,.8fr) 140px 120px minmax(220px,1.2fr) auto;align-items:end;display:grid}.office-todo-compose label{gap:var(--space-1);color:var(--color-heading);text-transform:uppercase;font-size:.78rem;font-weight:700;display:grid}.office-todo-compose input,.office-todo-compose select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--color-heading);font:inherit;text-transform:none;background:#fff;padding:.55rem .65rem;font-size:.9rem}.office-todo-row{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;border-left:4px solid #2c9ca8;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;display:grid}.office-todo-row.in-progress{border-left-color:#c07c37}.office-todo-row.seen{border-left-color:#6c83b6}.office-todo-row.done,.office-todo-row.completed{background:#f6faf7;border-left-color:#6b8d6f}.office-todo-check{color:#235940;cursor:pointer;background:#eef8f3;border:1px solid #b9d7c4;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid}.office-todo-check:disabled{opacity:.62;cursor:default}.office-todo-main{gap:.15rem;min-width:0;display:grid}.office-todo-main strong{color:var(--color-heading)}.office-todo-main span,.office-todo-main small{overflow-wrap:anywhere;color:var(--color-muted);font-size:.84rem;line-height:1.35}.office-todo-actions{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.message-card strong{color:var(--color-heading)}.message-card p,.message-card span,.message-card small,.message-list p{color:var(--color-muted);margin:0;line-height:1.45}.alert-board,.alert-board-manager{gap:var(--space-4);display:grid}.alert-board{padding:var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff8e6;border:1px solid #ead7a1}.alert-board-heading,.alert-board-post,.alert-manager-card-header{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.alert-board-heading h3,.alert-manager-list h4{color:var(--color-heading);margin:0}.alert-board-list,.alert-manager-list,.alert-compose{gap:var(--space-3);display:grid}.alert-board-post{padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid #ead7a1}.alert-board-post div,.alert-manager-card-header div{gap:var(--space-1);display:grid}.alert-board-post strong,.alert-manager-card strong{color:var(--color-heading)}.alert-board-post p,.alert-board-post small,.alert-manager-card p,.alert-manager-card span,.alert-manager-card small,.alert-manager-list p{color:var(--color-muted);margin:0;line-height:1.45}.alert-manager-grid{gap:var(--space-4);grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;display:grid}.alert-compose label{gap:var(--space-2);color:var(--color-heading);font-size:.82rem;font-weight:800;display:grid}.alert-compose input,.alert-compose select,.alert-compose textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.72rem .85rem}.alert-compose textarea{resize:vertical;min-height:118px}.alert-manager-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #2f8f62;display:grid}.alert-manager-card.paused{opacity:.78;border-left-color:#7d8a92}.system-bug-panel,.absence-board-panel{align-content:start}.system-bug-list,.absence-report-list{gap:var(--space-3);display:grid}.system-bug-card,.absence-report-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #8c7bd8;display:grid}.system-bug-card.in-progress{border-left-color:#2c9ca8}.system-bug-card.resolved{border-left-color:#2f8f62}.absence-report-card.absence{border-left-color:#d57b3e}.absence-report-card.injury{border-left-color:#b84b35}.system-bug-card-header,.absence-report-card div,.absence-column-heading{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.system-bug-card-header div{gap:var(--space-1);display:grid}.system-bug-card strong,.absence-report-card strong,.absence-column-heading strong{color:var(--color-heading)}.system-bug-card p,.system-bug-card span,.system-bug-card small,.system-bug-list p,.absence-board-scope,.absence-report-summary,.absence-report-card p,.absence-report-card span,.absence-report-card small,.absence-column-heading span{color:var(--color-muted);margin:0;line-height:1.45}.absence-board-scope{margin-top:.25rem;font-size:.82rem;font-weight:800;display:block}.absence-report-summary{font-weight:800;color:var(--color-heading)!important}.absence-class-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:0;display:grid;overflow:hidden}.absence-class-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(72px,.35fr) minmax(74px,.35fr) minmax(180px,1fr) minmax(120px,.55fr);padding:.65rem .75rem;gap:var(--space-2)!important;align-items:center!important;display:grid!important}.absence-class-row:last-child{border-bottom:0}.absence-class-row span,.absence-class-row small{font-size:.78rem;font-weight:800}.absence-class-row strong{min-width:0}.absence-board-grid{margin-top:var(--space-4)}.absence-board-columns{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.absence-board-column{gap:var(--space-3);align-content:start;display:grid}.forms-view{margin-top:var(--space-4)}.forms-panel{align-content:start}.forms-link-list{gap:var(--space-3);display:grid}.forms-link-card{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #2d4772;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.forms-link-card div:first-child{gap:var(--space-2);display:grid}.forms-link-card strong{color:var(--color-heading)}.forms-link-card p{max-width:720px;color:var(--color-muted);margin:0;line-height:1.45}.forms-link-card code{overflow-wrap:anywhere;border-radius:var(--radius-md);color:#2d4772;background:#f5f8ff;border:1px solid #c5d0e4;padding:.55rem .65rem;font-size:.82rem}.forms-link-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.forms-link-actions a{text-decoration:none}.personal-ideas-view{max-width:880px;margin-top:var(--space-4)}.personal-ideas-panel{gap:var(--space-5);display:grid}.personal-ideas-panel .panel-heading{align-items:flex-start}.personal-ideas-panel .panel-heading h2,.personal-ideas-panel .panel-heading p{margin:0}.personal-ideas-panel .panel-heading p:last-child{margin-top:var(--space-1);color:var(--color-muted)}.personal-ideas-icon{color:#7a5a18;background:#fff4cf;border-radius:999px;flex:none;place-items:center;width:42px;height:42px;display:grid}.personal-ideas-add{gap:var(--space-2);display:grid}.personal-ideas-add>label{color:var(--color-heading);font-size:.84rem;font-weight:700}.personal-ideas-add>div{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.personal-ideas-add input{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .75rem}.personal-ideas-add .primary-button{gap:var(--space-1);justify-content:center;align-items:center;display:inline-flex}.personal-ideas-list{gap:var(--space-2);display:grid}.personal-idea-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.personal-idea-row.finished{background:#f5faf6}.personal-idea-row.finished strong{color:var(--color-muted);text-decoration:line-through}.record-inline-editor{gap:.75rem;width:100%;display:grid}.record-inline-editor label{gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.record-inline-editor input,.record-inline-editor select,.record-inline-editor textarea{width:100%}.record-inline-editor textarea{resize:vertical;min-height:6rem}.record-inline-editor-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;display:grid}.internal-planning-workspace{gap:var(--space-4);display:grid}.internal-planning-heading{gap:var(--space-4);align-items:flex-start}.internal-planning-heading h3,.internal-planning-heading p,.internal-planning-status,.internal-planning-boundary{margin:0}.internal-planning-heading>div:first-child>p:last-child{max-width:720px;margin-top:var(--space-1);color:var(--color-muted);line-height:1.45}.internal-planning-heading-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.internal-planning-heading-actions>span{color:#315d62;background:#eaf5f3;border-radius:999px;padding:.35rem .58rem;font-size:.74rem;font-weight:850}.internal-planning-boundary,.internal-planning-status{border-radius:var(--radius-md);color:#285f62;background:#eff8f6;border:1px solid #c8ddd8;padding:.75rem .9rem;line-height:1.45}.internal-planning-boundary{color:#6f5318;background:#fffaf0;border-color:#e2cf8e}.internal-planning-status{font-size:.82rem;font-weight:800}.internal-planning-list{gap:var(--space-3);display:grid}.internal-planning-record{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;overflow:hidden}.internal-planning-record>header{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-heading);background:#f0f7f6;justify-content:space-between;align-items:center;display:flex}.internal-planning-record .icon-button.danger{color:#9b3f35;background:#fff5f3;border-color:#ebc3bd}.internal-planning-record .icon-button.danger:hover,.internal-planning-record .icon-button.danger:focus-visible{color:#fff;background:#9b3f35;border-color:#9b3f35}.internal-planning-fields{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.internal-planning-fields label,.internal-planning-notes{gap:var(--space-2);min-width:0;color:var(--color-heading);font-size:.8rem;font-weight:850;display:grid}.internal-planning-fields label.wide-field{grid-column:1/-1}.internal-planning-fields input,.internal-planning-fields select,.internal-planning-fields textarea,.internal-planning-notes textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .72rem}.internal-planning-fields textarea,.internal-planning-notes textarea{resize:vertical;min-height:82px}.internal-planning-add{width:fit-content}.internal-planning-notes textarea{min-height:110px}.class-team-notice-panel{gap:var(--space-4);display:grid}.class-team-notice-heading{align-items:flex-start}.class-team-notice-heading p,.class-team-notice-boundary,.class-team-notice-conflict p,.class-team-notice-message,.class-team-notice-card p,.class-team-notice-card dl,.class-team-notice-card dd,.class-team-notice-card small,.class-team-notice-section-heading span{margin:0}.class-team-notice-heading>div>p:last-child{margin-top:var(--space-1);color:var(--color-muted);line-height:1.45}.class-team-notice-boundary{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:#265e83;background:#f3f8fb;border:1px solid #bfd5e4;align-items:flex-start;line-height:1.45;display:flex}.class-team-notice-boundary svg{flex:none;margin-top:.12rem}.class-team-notice-conflict{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:#7d302d;background:#fff4f3;border:1px solid #e1a6a1;border-left:5px solid #b44942;justify-content:space-between;align-items:center;display:flex}.class-team-notice-conflict>div{gap:var(--space-1);display:grid}.class-team-notice-message{border-radius:var(--radius-md);color:#71541e;background:#fffaf0;border:1px solid #d8c69c;padding:.65rem .75rem;font-size:.84rem}.class-team-notice-layout{gap:var(--space-4);grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.class-team-notice-editor,.class-team-notice-queue,.class-team-notice-list{gap:var(--space-3);display:grid}.class-team-notice-editor,.class-team-notice-queue{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.class-team-notice-section-heading,.class-team-notice-section-heading>div,.class-team-notice-card header,.class-team-notice-actions,.class-team-notice-campaign-link,.class-team-notice-link-controls{gap:var(--space-2);justify-content:space-between;align-items:center;display:flex}.class-team-notice-section-heading>div:first-child,.class-team-notice-card header>div{gap:.2rem;display:grid}.class-team-notice-section-heading span,.class-team-notice-card header span,.class-team-notice-card small,.class-team-notice-card dd{color:var(--color-muted);font-size:.82rem}.class-team-notice-editor label,.class-team-notice-review-field,.class-team-notice-campaign-picker label,.class-team-notice-resolution-controls label{color:var(--color-heading);gap:.4rem;font-size:.8rem;font-weight:800;display:grid}.class-team-notice-editor input,.class-team-notice-editor select,.class-team-notice-editor textarea,.class-team-notice-review-field textarea,.class-team-notice-campaign-picker select,.class-team-notice-resolution-controls select,.class-team-notice-resolution-controls textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.68rem .78rem}.class-team-notice-editor textarea,.class-team-notice-review-field textarea,.class-team-notice-resolution-controls textarea{resize:vertical}.class-team-notice-editor label>small{color:var(--color-muted);font-weight:600;line-height:1.35}.class-team-notice-field-grid,.class-team-notice-metadata{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-team-notice-fixed-target{padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-heading);background:#f4fbfb;border:1px solid #bcdde0;gap:.25rem;display:grid}.class-team-notice-fixed-target span{color:var(--color-muted);font-size:.8rem}.class-team-notice-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:5px solid #7d8a92;display:grid}.class-team-notice-card.time-sensitive{border-left-color:#b44942}.class-team-notice-card.submitted{border-left-color:#c07c37}.class-team-notice-card.resolved{border-left-color:#2f805a}.class-team-notice-card.archived{opacity:.76}.class-team-notice-card.conflict{border-color:#b44942}.class-team-notice-status{color:#52606a;white-space:nowrap;background:#f5f7f8;border:1px solid #cbd5dc;border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.class-team-notice-status.submitted{color:#805b1b;background:#fff8e8;border-color:#e1bf84}.class-team-notice-status.resolved{color:#235940;background:#eef8f3;border-color:#a8d1bc}.class-team-notice-body-preview{color:var(--color-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.class-team-notice-metadata>div,.class-team-notice-evidence dl>div{gap:.15rem;display:grid}.class-team-notice-metadata dt,.class-team-notice-evidence dt{color:var(--color-heading);text-transform:uppercase;font-size:.72rem;font-weight:800}.class-team-notice-evidence dd{overflow-wrap:anywhere}.class-team-notice-evidence,.class-team-notice-roster{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcfc}.class-team-notice-evidence summary,.class-team-notice-roster summary{color:var(--color-heading);cursor:pointer;font-size:.8rem;font-weight:800}.class-team-notice-evidence dl{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-team-notice-roster ul{gap:.25rem var(--space-3);max-height:180px;margin:var(--space-2) 0 0;color:var(--color-muted);grid-template-columns:repeat(2,minmax(0,1fr));padding-left:1.15rem;font-size:.8rem;display:grid;overflow:auto}.class-team-notice-internal-note,.class-team-notice-review-note,.class-team-notice-resolution{padding:var(--space-2);border-radius:var(--radius-sm);line-height:1.4}.class-team-notice-internal-note{color:#265e83;background:#f3f8fb}.class-team-notice-review-note{color:#71541e;background:#fff8e8}.class-team-notice-resolution{color:#235940;background:#eef8f3}.class-team-notice-campaign-link{padding:var(--space-2);border-radius:var(--radius-sm);background:#f4fbfb;border:1px solid #bcdde0;justify-content:flex-start}.class-team-notice-campaign-link span{gap:.12rem;display:grid}.class-team-notice-link-controls,.class-team-notice-actions{flex-wrap:wrap;justify-content:flex-start}.class-team-notice-campaign-picker,.class-team-notice-resolution-controls{gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.program-notice-read-only{cursor:default}@media (width<=980px){.class-team-notice-layout,.class-team-notice-field-grid,.class-team-notice-metadata,.class-team-notice-evidence dl{grid-template-columns:1fr}}@media (width<=640px){.class-team-notice-conflict,.class-team-notice-section-heading,.class-team-notice-card header{flex-direction:column;align-items:stretch}.class-team-notice-editor,.class-team-notice-queue{padding:var(--space-3)}.class-team-notice-roster ul{grid-template-columns:1fr}}@media (width<=767px),(width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher] .class-team-notice-panel{order:3}.app-shell[data-active-portal=teacher] .hip-hop-progress-layout{order:4}.app-shell[data-active-portal=teacher] .absence-board-grid{order:5}}.operational-date-preview-banner{gap:var(--space-3);margin:0 var(--space-5) var(--space-3);border-radius:var(--radius-md);color:#5d3a00;background:#fff4d6;border:1px solid #d99b2b;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:.85rem 1rem;display:grid;box-shadow:0 8px 22px #5d3a0014}.operational-date-preview-banner div{gap:.15rem;display:grid}.operational-date-preview-banner span{font-size:.82rem}.operational-date-preview-banner .secondary-button{color:#5d3a00;background:#fffaf0;border-color:#b97808}.operational-date-preview-panel{gap:var(--space-5);display:grid}.operational-date-preview-heading{gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.operational-date-preview-heading h2,.operational-date-preview-heading p{margin-top:0}.operational-date-preview-icon{color:#155f68;background:#e4f3f2;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.operational-date-preview-status-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.operational-date-preview-status-grid>div{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft,#f7f8f8);display:grid}.operational-date-preview-status-grid span{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.operational-date-preview-form{gap:var(--space-3);display:grid}.operational-date-preview-form label{gap:var(--space-2);max-width:360px;color:var(--color-heading);font-weight:800;display:grid}.operational-date-preview-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);background:#fff;padding:.75rem .85rem}.operational-date-preview-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.operational-date-preview-safety{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-heading);background:#edf7f6;border-left:4px solid #1b5f67;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.operational-date-preview-safety p,.operational-date-preview-restricted{margin:0}@media (width<=700px){.operational-date-preview-banner{margin-inline:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.operational-date-preview-banner .secondary-button{grid-column:1/-1}.operational-date-preview-status-grid{grid-template-columns:1fr}}.class-catalog-admin,.class-catalog-section,.class-catalog-import-review,.class-catalog-detail-editors{gap:var(--space-4);display:grid}.class-catalog-boundary,.class-catalog-conflict,.class-catalog-toolbar,.class-catalog-section-heading,.class-catalog-actions,.class-catalog-editor>header,.class-catalog-import-receipt>header{align-items:center;gap:var(--space-3);display:flex}.class-catalog-boundary{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#245848;background:#f1faf6;border:1px solid #bdd7ce}.class-catalog-boundary svg,.class-catalog-section-heading>svg{flex:none}.class-catalog-notice,.class-catalog-conflict,.class-catalog-unavailable{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin:0}.class-catalog-notice.status{color:#245848;background:#f1faf6}.class-catalog-notice.error,.class-catalog-unavailable{color:#842f31;background:#fff0f0}.class-catalog-conflict{color:#75531d;background:#fff9ec;border:1px solid #d4ad5c;justify-content:space-between}.class-catalog-unavailable{justify-items:start;gap:var(--space-2);border:1px solid #e4b6b6;display:grid}.class-catalog-unavailable p{margin:0}.class-catalog-toolbar{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);flex-wrap:wrap}.class-catalog-toolbar button{margin-left:auto}.class-catalog-metrics{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.class-catalog-metrics>section{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:.15rem;display:grid}.class-catalog-metrics strong{color:#1b5f67;font-size:1.45rem}.rotating-classes-menu{border-radius:var(--radius-md);background:#fff;border:1px solid #bfd0c8;overflow:hidden}.rotating-classes-menu>summary{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-heading);cursor:pointer;font-weight:900;display:flex}.rotating-classes-menu>summary small{color:var(--color-muted)}.rotating-classes-menu-body{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:grid}.rotating-classes-menu-toolbar{gap:var(--space-3);justify-content:space-between;align-items:end;display:flex}.rotating-classes-menu-toolbar label{gap:var(--space-1);max-width:420px;color:var(--color-heading);flex:1;font-size:.78rem;font-weight:800;display:grid}.rotating-classes-menu-toolbar input{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:38px;font:inherit;background:#fff;padding:.5rem .65rem}.rotating-classes-instruction{color:var(--color-muted);margin:0;font-size:.74rem;font-weight:750}.class-catalog-metrics span,.class-catalog-provenance span,.class-catalog-editor small,.class-catalog-import-receipt span,.class-catalog-form small,.class-catalog-class-row small,.class-catalog-class-row span{color:var(--color-muted)}.class-catalog-provenance{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:#f3f8f8;border-left:4px solid #4f8f95;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);display:grid}.class-catalog-provenance>div,.class-catalog-section-heading>div,.class-catalog-editor>header>div,.class-catalog-import-receipt>header>div{gap:.2rem;display:grid}.class-catalog-provenance dl,.class-catalog-import-receipt dl{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.class-catalog-provenance dl>div,.class-catalog-import-receipt dl>div{min-width:0}.class-catalog-provenance dt,.class-catalog-import-receipt dt{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:900}.class-catalog-provenance dd,.class-catalog-import-receipt dd{overflow-wrap:anywhere;margin:.25rem 0 0}.class-catalog-section{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.class-catalog-section-heading{justify-content:space-between;align-items:flex-start}.class-catalog-section-heading p,.class-catalog-editor p{margin:0}.class-catalog-form,.class-catalog-editor-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.class-catalog-form>label,.class-catalog-editor>label,.class-catalog-editor .class-catalog-field-row>label,.class-catalog-import-review>label,.class-catalog-class-list>label{align-content:start;gap:var(--space-2);min-width:0;font-size:.78rem;font-weight:800;display:grid}.class-catalog-form .wide-form-field{grid-column:span 2}.class-catalog-form>button{align-self:end}.class-catalog-form .class-catalog-identity-warning{border-radius:var(--radius-sm);color:#72510d;background:#fff8e7;border:1px solid #d8a43c;padding:.6rem .7rem;font-weight:700;line-height:1.45}.class-catalog-import-receipt,.class-catalog-editor,.class-catalog-class-list{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid}.class-catalog-import-receipt>header,.class-catalog-editor>header{justify-content:space-between;align-items:flex-start}.class-catalog-import-receipt .wide-definition{grid-column:span 2}.catalog-digest{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.class-catalog-actions{flex-wrap:wrap;justify-content:flex-end}.class-catalog-editor-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.class-catalog-field-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-catalog-field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.class-catalog-class-layout{gap:var(--space-4);grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);align-items:start;display:grid}.class-catalog-class-list{top:var(--space-3);max-height:72vh;position:sticky}.class-catalog-class-list>div{gap:var(--space-2);display:grid;overflow-y:auto}.class-catalog-class-row{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:inherit;background:var(--color-surface-soft);text-align:left;cursor:pointer;gap:.15rem;display:grid}.class-catalog-class-row:hover,.class-catalog-class-row.selected{background:#edf7f7;border-color:#4f8f95}.class-catalog-evidence{padding:var(--space-3);color:#355d61;background:#f3f8f8;border-left:3px solid #4f8f95;font-size:.82rem}.class-catalog-source-detail{padding:var(--space-3);border-radius:var(--radius-md);color:#355d61;background:#f3f8f8;border:1px solid #c8dede;gap:.2rem;display:grid}.class-catalog-source-detail span{overflow-wrap:anywhere;font-size:.78rem}@media (width<=980px){.class-catalog-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.class-catalog-provenance,.class-catalog-form,.class-catalog-editor-grid.compact,.class-catalog-class-layout{grid-template-columns:1fr}.class-catalog-form .wide-form-field,.class-catalog-import-receipt .wide-definition{grid-column:auto}.class-catalog-class-list{max-height:none;position:static}}@media (width<=640px){.class-catalog-toolbar,.class-catalog-conflict,.class-catalog-section-heading,.class-catalog-editor>header,.class-catalog-import-receipt>header{flex-direction:column;align-items:stretch}.class-catalog-toolbar button{margin-left:0}.rotating-classes-menu-toolbar{flex-direction:column;align-items:stretch}.rotating-classes-menu-toolbar label{max-width:none}.class-catalog-metrics,.class-catalog-provenance dl,.class-catalog-import-receipt dl,.class-catalog-field-row,.class-catalog-field-row.three{grid-template-columns:1fr}.class-catalog-actions>button{width:100%}}.staff-program-access-panel,.staff-program-access-section,.staff-program-access-list{gap:var(--space-4);display:grid}.staff-program-access-boundary,.staff-program-access-conflict,.staff-program-access-toolbar,.staff-program-access-section-heading{align-items:center;gap:var(--space-3);display:flex}.staff-program-access-boundary{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#245848;background:#f1faf6;border:1px solid #bdd7ce}.staff-program-access-message,.staff-program-access-conflict{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#f7f4eb;margin:0}.staff-program-access-conflict{border:1px solid #d4ad5c;justify-content:space-between}.staff-program-access-toolbar{flex-wrap:wrap;justify-content:flex-end}.staff-program-access-toolbar>span{color:var(--color-muted);margin-right:auto}.staff-program-access-section{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.staff-program-access-section-heading{justify-content:space-between}.staff-program-access-section-heading>div{gap:.2rem;display:grid}.staff-program-access-section-heading span,.staff-program-access-record small,.staff-program-portal-readiness span{color:var(--color-muted)}.staff-program-access-form,.staff-program-access-record-fields{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.staff-program-access-form>label,.staff-program-access-record-fields>label,.staff-program-access-record>label{align-content:start;gap:var(--space-2);min-width:0;font-size:.78rem;font-weight:800;display:grid}.staff-program-access-form .wide-form-field{grid-column:span 2}.staff-program-portal-readiness{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);gap:.2rem;display:grid}.staff-program-portal-readiness.ready{background:#f1faf6;border-color:#9fcab9}.staff-program-portal-readiness.needs-access{background:#fff9ec;border-color:#d9bd80}.staff-program-access-list{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-program-access-record{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:4px solid #4f8f95;display:grid}.staff-program-access-record.revoked{opacity:.82;border-left-color:#9a9a9a}.staff-program-access-record>header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.staff-program-access-record>header>div{gap:.2rem;display:grid}.staff-program-access-record>header>span{background:var(--color-surface-soft);text-transform:uppercase;border-radius:999px;padding:.25rem .5rem;font-size:.68rem;font-weight:900}@media (width<=980px){.staff-program-access-form,.staff-program-access-record-fields,.staff-program-access-list{grid-template-columns:1fr}.staff-program-access-form .wide-form-field{grid-column:auto}}.email-campaign-panel{gap:var(--space-4);display:grid}.email-campaign-heading{align-items:flex-start}.email-campaign-heading p,.email-campaign-boundary,.email-campaign-conflict p,.email-campaign-message,.email-campaign-section-heading span,.email-campaign-recipient-preview p,.email-campaign-card p,.email-campaign-card small,.email-campaign-card dl,.email-campaign-card dd{margin:0}.email-campaign-heading>div>p:last-child{margin-top:var(--space-1);color:var(--color-muted);line-height:1.45}.email-campaign-boundary{padding:var(--space-3);border-radius:var(--radius-md);color:#265e83;background:#f3f8fb;border:1px solid #bfd5e4;line-height:1.45}.email-campaign-conflict{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:#7d302d;background:#fff4f3;border:1px solid #e1a6a1;border-left:5px solid #b44942;justify-content:space-between;align-items:center;display:flex}.email-campaign-conflict>div{gap:var(--space-1);display:grid}.email-campaign-message{border-radius:var(--radius-md);color:#71541e;background:#fffaf0;border:1px solid #d8c69c;padding:.65rem .75rem;font-size:.84rem}.email-campaign-layout{gap:var(--space-4);grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);align-items:start;display:grid}.email-campaign-layout.approval-only{grid-template-columns:minmax(0,1fr)}.email-campaign-editor,.email-campaign-queue,.email-campaign-list{gap:var(--space-3);display:grid}.email-campaign-editor,.email-campaign-queue{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.email-campaign-section-heading,.email-campaign-section-heading>div,.email-campaign-card header,.email-campaign-actions,.email-campaign-recipient-preview>div{gap:var(--space-2);justify-content:space-between;align-items:center;display:flex}.email-campaign-section-heading>div:first-child,.email-campaign-card header>div{gap:.2rem;display:grid}.email-campaign-section-heading strong,.email-campaign-card strong,.email-campaign-recipient-preview strong{color:var(--color-heading)}.email-campaign-section-heading span,.email-campaign-card header span,.email-campaign-recipient-preview span,.email-campaign-card small,.email-campaign-card dd{color:var(--color-muted);font-size:.82rem}.email-campaign-editor label,.email-campaign-review-field{color:var(--color-heading);gap:.4rem;font-size:.8rem;font-weight:800;display:grid}.email-campaign-editor input,.email-campaign-editor select,.email-campaign-editor textarea,.email-campaign-review-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.68rem .78rem}.email-campaign-editor textarea,.email-campaign-review-field textarea{resize:vertical}.email-campaign-editor>small{margin-top:calc(var(--space-2) * -1);color:var(--color-muted);line-height:1.4}.email-campaign-field-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.email-campaign-recipient-preview{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#f4fbfb;border:1px solid #bcdde0;display:grid}.email-campaign-recipient-preview ul,.email-campaign-snapshot ul{color:var(--color-muted);gap:.25rem;margin:0;padding-left:1.15rem;font-size:.8rem;display:grid}.email-campaign-recipient-preview p{color:#8a3a38;font-size:.82rem}.email-campaign-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:5px solid #7d8a92;display:grid}.email-campaign-card.ready-review{border-left-color:#c07c37}.email-campaign-card.approved{border-left-color:#2f805a}.email-campaign-card.archived{opacity:.75}.email-campaign-card.conflict{border-color:#b44942}.email-campaign-status{color:#52606a;white-space:nowrap;background:#f5f7f8;border:1px solid #cbd5dc;border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.email-campaign-status.ready-review{color:#805b1b;background:#fff8e8;border-color:#e1bf84}.email-campaign-status.approved{color:#235940;background:#eef8f3;border-color:#a8d1bc}.email-campaign-subject{color:var(--color-heading);font-weight:800}.email-campaign-body-preview{color:var(--color-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.email-campaign-metadata{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.email-campaign-metadata>div{gap:.15rem;display:grid}.email-campaign-metadata dt{color:var(--color-heading);text-transform:uppercase;font-size:.72rem;font-weight:800}.email-campaign-snapshot{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcfc}.email-campaign-snapshot summary{color:var(--color-heading);cursor:pointer;font-size:.8rem;font-weight:800}.email-campaign-snapshot ul{max-height:160px;margin-top:var(--space-2);overflow:auto}.email-campaign-review-note{padding:var(--space-2);border-radius:var(--radius-sm);color:#71541e;background:#fff8e8;line-height:1.4}.email-campaign-actions{flex-wrap:wrap;justify-content:flex-start}@media (width<=980px){.email-campaign-layout,.email-campaign-field-grid,.email-campaign-metadata{grid-template-columns:1fr}}@media (width<=640px){.email-campaign-conflict,.email-campaign-section-heading,.email-campaign-card header{flex-direction:column;align-items:stretch}.email-campaign-editor,.email-campaign-queue{padding:var(--space-3)}}.account-review-panel{gap:var(--space-4);display:grid}.account-review-heading{align-items:flex-start}.account-review-heading p,.account-review-boundary p,.account-review-conflict p,.account-review-message,.account-review-section-heading span,.account-review-card p,.account-review-card small,.account-review-card dl,.account-review-card dd,.account-review-evidence-summary span,.account-review-campaign-link span{margin:0}.account-review-heading>div>p:last-child{margin-top:var(--space-1);color:var(--color-muted);line-height:1.45}.account-review-boundary{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:#71541e;background:#fffaf0;border:1px solid #d8c69c;align-items:flex-start;line-height:1.45;display:flex}.account-review-boundary svg{flex:none;margin-top:.1rem}.account-review-conflict{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:#7d302d;background:#fff4f3;border:1px solid #e1a6a1;border-left:5px solid #b44942;justify-content:space-between;align-items:center;display:flex}.account-review-conflict>div{gap:var(--space-1);display:grid}.account-review-message{border-radius:var(--radius-md);color:#265e83;background:#f3f8fb;border:1px solid #bfd5e4;padding:.65rem .75rem;font-size:.84rem}.account-review-layout{gap:var(--space-4);grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);align-items:start;display:grid}.account-review-layout.read-only{grid-template-columns:minmax(0,1fr)}.account-review-editor,.account-review-queue,.account-review-list,.account-review-evidence-fields,.account-review-evidence-editor,.account-review-campaign-picker,.account-review-resolution-editor{gap:var(--space-3);display:grid}.account-review-editor,.account-review-queue{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.account-review-section-heading,.account-review-section-heading>div,.account-review-card header,.account-review-actions,.account-review-campaign-link{gap:var(--space-2);justify-content:space-between;align-items:center;display:flex}.account-review-section-heading>div,.account-review-card header>div,.account-review-campaign-link>div{gap:.2rem;display:grid}.account-review-section-heading span,.account-review-card header span,.account-review-card small,.account-review-card dd,.account-review-evidence-summary span,.account-review-campaign-link span{color:var(--color-muted);font-size:.82rem}.account-review-editor label,.account-review-evidence-fields label,.account-review-resolution-editor label{color:var(--color-heading);gap:.4rem;font-size:.8rem;font-weight:800;display:grid}.account-review-editor input,.account-review-editor select,.account-review-editor textarea,.account-review-evidence-fields input,.account-review-evidence-fields select,.account-review-evidence-fields textarea,.account-review-resolution-editor select,.account-review-resolution-editor textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.68rem .78rem}.account-review-editor textarea,.account-review-evidence-fields textarea,.account-review-resolution-editor textarea{resize:vertical}.account-review-field-grid,.account-review-hash-grid,.account-review-metadata,.account-review-resolution-editor{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-review-evidence-editor,.account-review-campaign-picker,.account-review-resolution-editor,.account-review-evidence-summary,.account-review-campaign-link{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafb}fieldset.account-review-evidence-editor{min-width:0;margin:0}.account-review-evidence-editor legend{padding:0 var(--space-1);color:var(--color-heading);font-size:.84rem;font-weight:800}.account-review-archive-toggle{color:var(--color-muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.account-review-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:5px solid #7d8a92;display:grid}.account-review-card.reviewing{border-left-color:#c07c37}.account-review-card.message-drafted{border-left-color:#437ca3}.account-review-card.resolved{border-left-color:#2f805a}.account-review-card.archived{opacity:.75}.account-review-card.conflict{border-color:#b44942}.account-review-status{color:#52606a;white-space:nowrap;background:#f5f7f8;border:1px solid #cbd5dc;border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.account-review-status.reviewing{color:#805b1b;background:#fff8e8;border-color:#e1bf84}.account-review-status.message-drafted{color:#265e83;background:#f3f8fb;border-color:#a9c8dc}.account-review-status.resolved{color:#235940;background:#eef8f3;border-color:#a8d1bc}.account-review-metadata>div,.account-review-evidence-summary{gap:.2rem;display:grid}.account-review-metadata dt{color:var(--color-heading);text-transform:uppercase;font-size:.72rem;font-weight:800}.account-review-evidence-summary{background:#f4fbfb;border-color:#bcdde0}.account-review-campaign-link{color:#265e83;background:#f3f8fb;border-color:#bfd5e4;justify-content:flex-start}.account-review-campaign-link.needs-review{color:#7d302d;background:#fff4f3;border-color:#e1a6a1}.account-review-resolution-editor>small{color:#71541e;grid-column:1/-1;line-height:1.4}.account-review-resolution{padding:var(--space-2);border-radius:var(--radius-sm);color:#235940;background:#eef8f3;line-height:1.4}.account-review-campaign-options{gap:var(--space-2);max-height:260px;display:grid;overflow:auto}.account-review-campaign-options button{text-align:left;justify-items:start;gap:.2rem;display:grid}.account-review-actions{flex-wrap:wrap;justify-content:flex-start}@media (width<=1100px){.account-review-layout,.account-review-field-grid,.account-review-hash-grid,.account-review-metadata,.account-review-resolution-editor{grid-template-columns:1fr}}@media (width<=640px){.account-review-boundary,.account-review-conflict,.account-review-section-heading,.account-review-card header{flex-direction:column;align-items:stretch}.account-review-editor,.account-review-queue{padding:var(--space-3)}}.calendar-draft-promotion-panel{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#f7fcfa;border:1px solid #9fcfc3;display:grid}.calendar-draft-promotion-panel>header,.calendar-draft-promotion-selection-heading,.calendar-draft-promotion-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.calendar-draft-promotion-panel h4,.calendar-draft-promotion-panel h5,.calendar-draft-promotion-panel p{margin:0}.calendar-draft-promotion-panel h4{color:var(--color-heading);margin-top:.15rem;font-size:1.05rem}.calendar-draft-promotion-revision{color:#2a6257;background:#e4f4ef;border-radius:999px;padding:.35rem .55rem;font-size:.75rem;font-weight:850}.calendar-draft-promotion-boundary,.calendar-draft-promotion-message{border-radius:var(--radius-sm);color:#68511f;background:#fffaf0;border:1px solid #d8c98f;padding:.72rem .82rem;font-size:.82rem;line-height:1.45}.calendar-draft-promotion-message.warning{color:#82461f;background:#fff4e6;border-color:#e4bb87}.calendar-draft-promotion-message.error{color:#8c322a;background:#fff2f0;border-color:#e1aaa4}.calendar-draft-promotion-selection-heading{color:#315d62;font-size:.8rem;font-weight:850}.calendar-draft-promotion-selection-heading>div{gap:var(--space-2);display:flex}.calendar-draft-promotion-selection-heading .text-button{min-height:32px;padding:.25rem .45rem}.calendar-draft-promotion-candidates{gap:var(--space-2);border:0;max-height:24rem;padding:0;display:grid;overflow-y:auto}.calendar-draft-promotion-candidates label{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;padding:.72rem .82rem;display:grid}.calendar-draft-promotion-candidates label.disabled{color:var(--color-muted);cursor:not-allowed;background:#f3f5f5}.calendar-draft-promotion-candidates input{accent-color:#2c8275;width:1rem;height:1rem;margin-top:.12rem}.calendar-draft-promotion-candidates label>span,.calendar-draft-promotion-candidates strong,.calendar-draft-promotion-candidates small,.calendar-draft-promotion-review li,.calendar-draft-promotion-review li span{gap:.2rem;display:grid}.calendar-draft-promotion-candidates strong,.calendar-draft-promotion-review strong{color:var(--color-heading)}.calendar-draft-promotion-candidates small,.calendar-draft-promotion-review li span,.calendar-draft-promotion-receipt p{color:var(--color-muted);font-size:.78rem;line-height:1.4}.calendar-draft-promotion-review{gap:var(--space-3);display:grid}.calendar-draft-promotion-review ol{gap:var(--space-2);max-height:24rem;margin:0;padding:0 0 0 1.6rem;display:grid;overflow-y:auto}.calendar-draft-promotion-review li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:.65rem .75rem}.calendar-draft-promotion-actions{justify-content:flex-end}.calendar-draft-promotion-receipt{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:#276342;background:#edf9f1;border:1px solid #93c9a8;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;display:grid}.calendar-draft-promotion-receipt strong{color:#205737}.calendar-draft-retirement-panel{gap:var(--space-3);padding-top:var(--space-3);color:var(--color-text);border-top:1px solid #cbded9;display:grid}.calendar-draft-retirement-panel>header{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.calendar-draft-retirement-panel h5,.calendar-draft-retirement-panel p{margin:0}.calendar-draft-retirement-panel.warning{padding:var(--space-3);border-radius:var(--radius-sm);background:#fffaf2;border:1px solid #e4bb87}@media (width<=980px){.internal-planning-heading{flex-direction:column;align-items:stretch}.internal-planning-heading-actions{justify-content:flex-start}.internal-planning-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.internal-planning-heading-actions,.internal-planning-fields{grid-template-columns:1fr;display:grid}.internal-planning-heading-actions>span,.internal-planning-heading-actions>button,.internal-planning-add{width:100%}.internal-planning-fields label.wide-field{grid-column:auto}.calendar-draft-promotion-panel>header,.calendar-draft-promotion-actions{flex-direction:column;align-items:stretch}.calendar-draft-promotion-actions>button{width:100%}}.personal-idea-content{min-width:0}.personal-idea-content>strong{overflow-wrap:anywhere}.personal-idea-actions,.personal-idea-row-buttons,.personal-idea-rename{gap:var(--space-2);align-items:center;display:flex}.personal-idea-actions{justify-content:flex-end}.personal-idea-rename input{border-radius:var(--radius-sm);width:min(100%,520px);min-width:0;min-height:38px;color:var(--color-heading);font:inherit;background:#fff;border:1px solid #8dbbb7;flex:1;padding:.55rem .65rem;font-weight:700}.personal-idea-row-buttons{padding-left:var(--space-2);border-left:1px solid var(--color-border)}.personal-idea-row-buttons .icon-button.danger{color:#9b3f35;background:#fff5f3;border-color:#ebc3bd}.personal-idea-row-buttons .icon-button.danger:hover:not(:disabled),.personal-idea-row-buttons .icon-button.danger:focus-visible{color:#fff;background:#9b3f35;border-color:#9b3f35}.personal-idea-checks{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.personal-idea-checks label{gap:var(--space-1);color:var(--color-muted);align-items:center;font-size:.84rem;font-weight:700;display:inline-flex}.personal-idea-checks input{accent-color:#1b5f67;width:17px;height:17px}@media (width<=720px){.personal-idea-actions{justify-content:space-between;align-items:flex-start}.personal-idea-rename{align-items:stretch}}.personal-ideas-empty,.personal-ideas-message{padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);background:#f6f8f8;margin:0}.personal-ideas-message{color:#8b3d31;background:#fff0ed}.communication-center-view{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.communication-center-header,.communication-center-view>.grace-composer{grid-column:1/-1}.communication-center-header{gap:var(--space-4);padding:var(--space-5);align-items:center;display:flex}.communication-center-header h2,.communication-center-header p,.communication-channel-card p,.communication-inbox-empty p{margin:0}.communication-center-header h2{color:var(--color-heading);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.1}.communication-center-header>div{gap:var(--space-2);display:grid}.communication-center-header>div>p:last-child,.communication-channel-card>p,.communication-inbox-empty p{color:var(--color-muted);line-height:1.5}.communication-center-icon,.communication-channel-heading>span,.communication-inbox-empty>span{border-radius:var(--radius-md);color:#1b5f67;background:#e7f3f4;flex:none;place-items:center;display:grid}.communication-center-icon{width:52px;height:52px}.communication-read-only-badge{color:#235940;white-space:nowrap;background:#eef8f3;border:1px solid #b8d8c9;border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.42rem .68rem;font-size:.75rem;font-weight:800;display:inline-flex}.communication-channel-grid{gap:var(--space-4);grid-area:2/1;grid-template-columns:1fr;display:grid}.communication-channel-card{gap:var(--space-3);align-content:start;display:grid}.communication-channel-heading{gap:var(--space-3);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;display:grid}.communication-channel-heading>span{width:42px;height:42px}.communication-channel-heading h3{font-size:1rem}.communication-channel-heading small{color:#7c4a0f;background:#fff7df;border:1px solid #e3b15f;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:800}.communication-channel-heading small.connected{color:#235940;background:#eef8f3;border-color:#b8d8c9}.communication-channel-refresh{justify-self:start}.communication-channel-refresh:disabled{cursor:wait;opacity:.6}.communication-inbox-shell{gap:var(--space-3);align-content:start;justify-self:center;width:min(100%,980px);min-height:360px;display:grid}.communication-center-view>.communication-inbox-shell{grid-area:2/2;justify-self:stretch;width:100%}.communication-inbox-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.communication-inbox-toolbar h3,.communication-inbox-toolbar p{margin:0}.communication-search{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:min(320px,100%);color:var(--color-muted);background:#fff;padding:.6rem .75rem;display:flex}.communication-search:focus-within{border-color:#5a979d;box-shadow:0 0 0 3px #5a979d24}.communication-search input{min-width:0;color:var(--color-heading);font:inherit;background:0 0;border:0;outline:0;flex:1}.communication-inbox-tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.communication-inbox-tabs button{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.45rem;margin-bottom:-1px;padding:.65rem .75rem;font-weight:800;display:inline-flex}.communication-inbox-tabs button.active{color:#1b5f67;border-bottom-color:#24727a}.communication-inbox-tabs button span{min-width:1.4rem;color:inherit;text-align:center;background:#edf3f3;border-radius:999px;padding:.12rem .35rem;font-size:.72rem}.communication-queue-switch{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f4f7f7;justify-self:start;gap:.25rem;padding:.25rem;display:inline-flex}.communication-queue-switch button{border-radius:calc(var(--radius-md) - 3px);color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.52rem .72rem;font-size:.8rem;font-weight:800;display:inline-flex}.communication-queue-switch button.active{color:#1b5f67;background:#fff;box-shadow:0 1px 4px #203b3e1f}.communication-inbox-empty{align-content:center;place-items:center;gap:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fbfcfc;min-height:270px;display:grid}.communication-inbox-empty>span{width:48px;height:48px}.communication-inbox-empty strong{color:var(--color-heading)}.communication-inbox-empty p{max-width:420px}.communication-inbox-error>span{color:#8a3a38;background:#fbedeb}.communication-activity-list{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;overflow:hidden}.communication-activity-row{gap:var(--space-3);background:#fff;grid-template-columns:40px minmax(0,1fr) 138px;align-items:center;padding:.9rem 1rem;display:grid}.communication-activity-row+.communication-activity-row{border-top:1px solid var(--color-border)}.communication-activity-row:hover{background:#fafcfc}.communication-activity-icon{color:#1b5f67;background:#e7f3f4;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.communication-activity-content{gap:.3rem;min-width:0;display:grid}.communication-activity-content>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.communication-activity-content strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.communication-contact-identity{gap:.18rem;min-width:0;display:grid}.communication-contact-identity>span{color:#405d64;font-size:.8rem;font-weight:750}.communication-activity-content span,.communication-activity-content p,.communication-last-updated{color:var(--color-muted);font-size:.78rem}.communication-activity-content small{color:var(--color-muted);font-size:.72rem}.communication-activity-content p,.communication-last-updated{margin:0}.communication-activity-content p{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.communication-direction{color:#4d5960;background:#eff2f3;border-radius:999px;padding:.3rem .5rem;font-size:.7rem;font-weight:800}.communication-direction.inbound{color:#235940;background:#e9f5ef}.communication-direction.outbound{color:#265e83;background:#eaf3f9}.communication-item-side{justify-items:end;gap:var(--space-2);display:grid}.communication-contact-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.communication-contact-tools button{border-radius:var(--radius-md);color:#265e83;min-height:38px;font:inherit;cursor:pointer;background:#f3f8fb;border:1px solid #bfd5e4;place-items:center;gap:.22rem;padding:.35rem;font-size:.7rem;font-weight:850;display:grid}.communication-contact-tools button:last-child{color:#235940;background:#f4fbf7;border-color:#bdd8ca}.communication-contact-tools button:hover:not(:disabled){background:#fff;border-color:currentColor}.communication-contact-tools button:disabled{cursor:default;opacity:.42}.communication-voicemail-row{align-items:start}.communication-voicemail-transcript{-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden;color:#3f4c52!important;text-overflow:initial!important;white-space:normal!important}.communication-response-checklist,.communication-resolution{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:.35rem;display:flex}.communication-response-checklist button,.communication-resolution button{color:#235940;font:inherit;cursor:pointer;background:#f4fbf7;border:1px solid #bdd8ca;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .58rem;font-size:.72rem;font-weight:800;display:inline-flex}.communication-response-checklist button:last-child{color:#265e83;background:#f3f8fb;border-color:#bfd5e4}.communication-response-checklist button:disabled,.communication-resolution button:disabled{cursor:wait;opacity:.55}.communication-resolution>span{color:#235940;font-size:.75rem;font-weight:800}.communication-resolution button{border-color:var(--color-border);color:var(--color-muted);background:#fff}.communication-workflow-error{border-radius:var(--radius-md);color:#8a3a38;background:#fdf3f2;border:1px solid #e7c0bd;margin:0;padding:.65rem .75rem;font-size:.82rem}.communication-action-notice{border-radius:var(--radius-md);color:#265e83;background:#f3f8fb;border:1px solid #bfd5e4;margin:0;padding:.65rem .75rem;font-size:.82rem}.communication-last-updated{justify-self:end}.communication-pagination{justify-content:center;align-items:center;gap:var(--space-3);padding-top:var(--space-1);color:var(--color-muted);font-size:.78rem;display:flex}.communication-pagination button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:#1b5f67;font:inherit;cursor:pointer;background:#fff;padding:.42rem .65rem;font-weight:800}.communication-pagination button:disabled{cursor:default;opacity:.45}@media (width<=720px){.communication-center-view{grid-template-columns:1fr}.communication-center-header{flex-wrap:wrap;align-items:flex-start}.communication-read-only-badge{margin-left:0}.communication-channel-grid,.communication-center-view>.communication-inbox-shell{grid-area:auto/1}.communication-channel-heading{grid-template-columns:42px minmax(0,1fr)}.communication-channel-heading small{grid-column:1/-1;justify-self:start}.communication-inbox-toolbar{flex-direction:column;align-items:stretch}.communication-search{min-width:0}.communication-activity-row{grid-template-columns:40px minmax(0,1fr)}.communication-activity-content>div{flex-direction:column;align-items:flex-start;gap:.2rem}.communication-direction{justify-self:start}.communication-item-side{grid-column:2;justify-items:start;width:min(100%,220px)}.communication-inbox-tabs{overflow-x:auto}.communication-pagination{justify-content:space-between}}.facility-issue-panel{align-content:start}.facility-issue-list{gap:var(--space-3);display:grid}.facility-issue-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #d57b3e;grid-template-columns:minmax(132px,180px) minmax(0,1fr);align-items:start;display:grid}.facility-issue-card.in-progress{border-left-color:#2c9ca8}.facility-issue-card.done{border-left-color:#2f8f62}.facility-issue-card.archived{opacity:.7}.facility-issue-card:not(:has(.facility-issue-photo)){grid-template-columns:1fr}.facility-issue-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:100%}.facility-issue-body,.facility-issue-card-header{gap:var(--space-2);display:grid}.facility-issue-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.facility-issue-card-header div{gap:var(--space-1);display:grid}.facility-issue-card strong{color:var(--color-heading)}.facility-issue-card span,.facility-issue-card small,.facility-issue-list p{color:var(--color-muted);margin:0;line-height:1.45}.sub-request-panel{gap:var(--space-4);align-content:start;display:grid}.teacher-weekly-schedule-panel{align-content:start}.schedule-summary{margin:0 0 var(--space-4);color:var(--color-muted)}.teacher-schedule-days,.teacher-schedule-class-list{gap:var(--space-3);display:grid}.teacher-schedule-days{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-schedule-day,.teacher-schedule-class{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.teacher-schedule-day-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.teacher-schedule-class{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.teacher-schedule-class>div,.teacher-schedule-class>small{overflow-wrap:anywhere;min-width:0}.teacher-schedule-day-heading{gap:var(--space-2);display:grid}.teacher-schedule-day-heading strong,.teacher-schedule-class strong{color:var(--color-heading)}.teacher-schedule-day-heading span,.teacher-schedule-class span,.teacher-schedule-class small{color:var(--color-muted)}.teacher-schedule-class div{gap:var(--space-1);display:grid}.teacher-schedule-class.roster-enabled{cursor:pointer}.teacher-schedule-class.roster-enabled:hover,.teacher-schedule-class.roster-enabled:focus-visible{background:#f4fbfb;border-color:#2c9ca8;outline:0}.teacher-schedule-class.pending{background:#fffaf0;border-color:#e9c972}.teacher-schedule-class.covered{background:#f2faf4;border-color:#9bcfad}.schedule-status-pill{text-transform:uppercase;border-radius:999px;justify-self:end;width:fit-content;padding:.2rem .55rem;font-size:.72rem;font-weight:900}.schedule-status-pill.pending{color:#7a4e00;background:#fff4d8}.schedule-status-pill.covered{color:#24663a;background:#e5f5ea}.roll-sheet-modal{width:min(1120px,100%)}.roll-sheet-summary{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-muted);align-items:center;font-weight:800;display:inline-flex}.roll-class-list,.roll-focused-session{gap:var(--space-4);display:grid}.roll-class-heading{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.roll-class-heading strong{color:var(--color-heading)}.roll-class-heading div{gap:var(--space-1);display:grid}.roll-class-heading span{color:var(--color-muted)}.roll-count{text-transform:uppercase;color:#46545a;background:#eef1f3;border-radius:999px;justify-self:end;width:fit-content;padding:.28rem .58rem;font-size:.72rem;font-weight:900;line-height:1.1}.roll-class-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);background:#fff;display:grid}.roll-class-panel.today{background:#f4fbfb;border-color:#2c9ca8}.roll-class-panel.past{background:#f5f7f7;border-color:#d4dde1}.roll-today-empty{padding:var(--space-3) var(--space-4);border-radius:calc(var(--radius-md) - 2px);color:#46545a;background:#f7f9f9;border:1px dashed #c5d1d5;margin:0;font-weight:900}.roll-roster-table-wrap{border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);overflow-x:auto}.roll-roster-table{border-collapse:collapse;width:100%;min-width:680px}.roll-roster-table th,.roll-roster-table td{border:1px solid var(--color-border);text-align:left;padding:.72rem .85rem}.roll-roster-table th{color:var(--color-muted);text-transform:uppercase;background:#f7f9f9;font-size:.74rem;font-weight:900}.roll-roster-table td{color:var(--color-heading)}.roll-date-heading.past,.roll-date-cell.past{background:#eef1f3}.roll-date-heading.today,.roll-date-cell.today{background:#e7f3f4}.roll-date-heading.future,.roll-date-cell.future{background:#fff}.roll-date-heading,.roll-date-cell{width:96px;text-align:center!important}.roll-student-cell{min-width:220px}.roll-student-cell strong,.roll-student-cell span{display:block}.roll-student-cell strong{color:var(--color-heading)}.roll-student-cell sup{color:#b45b19;margin-left:.18rem;font-weight:900}.roll-student-cell span{color:var(--color-muted);margin-top:.12rem;font-size:.76rem;font-weight:800}.roll-attendance-toggle{gap:var(--space-2);color:var(--color-heading);white-space:nowrap;align-items:center;font-weight:800;display:inline-flex}.roll-date-cell .roll-attendance-toggle{justify-content:center}.roll-attendance-toggle input{accent-color:#1b5f67;width:18px;height:18px}.roll-date-cell .roll-attendance-toggle span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.missing-student-form{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.missing-student-form label{display:grid}.missing-student-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.72rem .85rem}.missing-student-form button:disabled{opacity:.62;cursor:not-allowed}.roll-message{margin:var(--space-4) 0 0;color:#1b5f67;font-weight:800}.sub-request-list{gap:var(--space-3);display:grid}.sub-request-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #d57b3e;display:grid}.sub-request-card.covered{border-left-color:#2f8f62}.sub-request-card.archived{opacity:.7}.sub-request-card-header{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.sub-request-card-header div{gap:var(--space-1);display:grid}.sub-request-card strong{color:var(--color-heading)}.sub-request-card p,.sub-request-card span,.sub-request-card small,.sub-request-card li{color:var(--color-muted);margin:0}.sub-request-card ul{gap:var(--space-1);margin:0;padding-left:1.1rem;display:grid}.schedule-tbd-coverage-box,.schedule-tbd-coverage-list,.schedule-tbd-coverage-card,.schedule-tbd-coverage-heading>div{gap:var(--space-2);display:grid}.schedule-tbd-coverage-box{padding:var(--space-4);border-radius:var(--radius-md);background:snow;border:1px solid #e2b8b8}.schedule-tbd-coverage-heading,.schedule-tbd-coverage-card>div{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.schedule-tbd-coverage-heading strong,.schedule-tbd-coverage-card strong{color:var(--color-heading)}.schedule-tbd-coverage-heading small,.schedule-tbd-coverage-card span,.schedule-tbd-coverage-card p,.schedule-tbd-coverage-card small,.schedule-tbd-coverage-summary,.schedule-tbd-coverage-empty{color:var(--color-muted);margin:0}.schedule-tbd-coverage-heading>span{color:#7e2626;background:#f4cccc;border-radius:999px;place-items:center;min-width:2rem;min-height:2rem;padding:.3rem .55rem;font-size:.78rem;font-weight:900;display:inline-grid}.schedule-tbd-coverage-summary{line-height:1.45}.schedule-tbd-coverage-list{max-height:30rem;padding-right:var(--space-1);overflow-y:auto}.schedule-tbd-coverage-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);content-visibility:auto;contain-intrinsic-size:auto 112px;background:#fff;border-left:4px solid #c95f5f}.schedule-tbd-coverage-empty{padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px dashed #d8b2b2}.private-lesson-review-panel{align-content:start}.private-lesson-request-list{gap:var(--space-3);display:grid}.private-lesson-request-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #d57b3e;display:grid}.private-lesson-request-card.approved{border-left-color:#2f8f62}.private-lesson-request-card.changes-requested{border-left-color:#b84b35}.private-lesson-request-card.archived{opacity:.7}.private-lesson-card-header{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.private-lesson-card-header div,.private-lesson-actions,.private-lesson-actions label{gap:var(--space-2);display:grid}.private-lesson-request-card strong{color:var(--color-heading)}.private-lesson-request-card p,.private-lesson-request-card span,.private-lesson-request-card small,.private-lesson-request-card li{color:var(--color-muted);margin:0}.private-lesson-actions label{color:var(--color-heading);font-size:.82rem;font-weight:800}.private-lesson-actions textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:74px;color:var(--color-heading);font:inherit;resize:vertical;background:#fff;padding:.72rem .85rem}.private-lesson-review-calendar{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid;overflow-x:auto}.private-lesson-review-calendar-heading{gap:var(--space-3);justify-content:space-between;align-items:center;min-width:680px;display:flex}.private-lesson-review-calendar-heading span{color:var(--color-muted);font-size:.8rem;font-weight:800}.private-lesson-review-calendar-grid{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:repeating-linear-gradient(#18282c0d 0 1px,#0000 1px 60px),#fff;min-width:680px;display:grid;overflow:hidden}.private-lesson-review-corner,.private-lesson-review-calendar-grid .room-heading{border-bottom:1px solid var(--color-border);color:var(--color-heading);background:#f5f8f7;padding:.48rem .6rem;font-size:.72rem;font-weight:900}.private-lesson-review-calendar-grid .room-heading{border-left:1px solid var(--color-border)}.private-lesson-review-calendar-grid .room-heading.active{background:#fff3e8}.private-lesson-review-times{border-right:1px solid var(--color-border);background:#f5f8f7c7;position:relative}.private-lesson-review-times span{color:var(--color-muted);font-size:.68rem;font-weight:800;position:absolute;right:.45rem;transform:translateY(-50%)}.private-lesson-review-calendar-grid .room-column{border-left:1px solid var(--color-border);min-width:0;position:relative}.private-lesson-review-calendar-grid .room-column.active{background:#d57b3e12}.private-lesson-review-open-slot{z-index:1;cursor:copy;background:0 0;border:0;width:100%;position:absolute;left:0}.private-lesson-review-open-slot:hover,.private-lesson-review-open-slot:focus-visible{background:#2c9ca814;outline:1px solid #2c9ca8}.private-lesson-review-open-slot:disabled{cursor:not-allowed}.private-lesson-review-event{z-index:2;border-radius:var(--radius-sm);color:var(--color-heading);background:#e9f2f3;border:1px solid #385d6857;align-content:start;gap:.1rem;padding:.36rem .42rem;display:grid;position:absolute;left:.35rem;right:.35rem;overflow:hidden}.private-lesson-review-event.requested{background:#ffe7d1;border-color:#b55b1e94}.private-lesson-review-event.master_calendar{background:#edf5ea}.private-lesson-review-event strong,.private-lesson-review-event span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.private-lesson-review-event strong{color:var(--color-heading);font-size:.68rem}.private-lesson-review-event span{color:var(--color-muted);font-size:.64rem;font-weight:800}.app-modal-backdrop{z-index:40;padding:var(--space-4);background:#16222685;place-items:start center;display:grid;position:fixed;inset:0;overflow:auto}.app-modal{width:min(900px,100%);max-height:min(88vh,920px);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;overflow:auto;box-shadow:0 24px 80px #1320263d}.modal-heading,.modal-actions,.week-switcher{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.modal-heading{margin-bottom:var(--space-4)}.modal-heading h3{color:var(--color-heading);margin:0;font-size:1.45rem}.sub-request-form,.system-bug-form,.student-absence-form,.facility-issue-form{gap:var(--space-4);display:grid}.sub-request-form label,.system-bug-form label,.student-absence-form label,.facility-issue-form label,.private-lesson-form label{gap:var(--space-2);color:var(--color-heading);font-size:.85rem;font-weight:800;display:grid}.sub-request-form select,.sub-request-form textarea,.system-bug-form input,.system-bug-form textarea,.student-absence-form input,.student-absence-form select,.student-absence-form textarea,.facility-issue-form textarea,.private-lesson-form input,.private-lesson-form select,.private-lesson-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.75rem .85rem}.sub-request-form textarea,.system-bug-form textarea,.student-absence-form textarea,.facility-issue-form textarea,.private-lesson-form textarea{resize:vertical;min-height:92px}.facility-issue-modal{width:min(640px,100%)}.system-bug-modal,.student-absence-modal{width:min(680px,100%)}.music-cut-modal{width:min(1040px,100%)}.music-cut-form{gap:var(--space-4);display:grid}.music-cut-grid{gap:var(--space-3);grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:end;display:grid}.music-cut-header-grid{grid-template-columns:minmax(0,1fr) minmax(150px,180px) minmax(260px,.55fr)}.music-cut-form label,.music-cut-notes{gap:var(--space-2);color:var(--color-heading);font-size:.84rem;font-weight:800;display:grid}.music-cut-form input,.music-cut-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.72rem .85rem}.music-cut-form textarea{resize:vertical;min-height:86px}.music-cut-segmented,.music-cut-edit-modes{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8faf9;padding:.35rem;display:flex}.music-cut-segmented button,.music-cut-edit-modes button{gap:var(--space-2);border-radius:var(--radius-sm);min-height:42px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.music-cut-segmented button.active,.music-cut-edit-modes button.active{color:#fff;background:#1b5f67}.music-cut-duration-row,.music-target-length{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.music-link-workspace,.music-link-source-grid{gap:var(--space-3);display:grid}.music-reference-player,.music-reference-empty{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.music-reference-player{gap:var(--space-3);padding:var(--space-3);display:grid}.music-reference-copy{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.music-reference-copy strong{color:var(--color-heading)}.music-reference-copy span,.music-reference-player a,.music-reference-duration,.music-reference-empty{color:var(--color-muted);font-size:.8rem;font-weight:800}.music-reference-duration{margin:-.25rem 0 0}.music-reference-frame{border-radius:var(--radius-sm);background:#111827;border:0;width:100%}.music-reference-frame.spotify{height:152px}.music-reference-frame.youtube{height:clamp(210px,35vw,360px)}.music-reference-player a{width:fit-content}.music-reference-empty{padding:var(--space-3);margin:0}.music-target-length{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-template-columns:auto minmax(120px,160px) minmax(120px,160px);align-items:end}.music-target-length strong{color:var(--color-heading);align-self:center;font-size:1rem}.music-target-length label{grid-template-columns:minmax(0,1fr)}.music-upload-panel{gap:var(--space-3);display:grid}.music-upload-drop{gap:var(--space-2);min-height:82px;padding:var(--space-4);border-radius:var(--radius-md);color:#1b5f67;cursor:pointer;background:#eef7f8;border:1px dashed #8fb6bb;justify-content:center;align-items:center;display:flex;position:relative}.music-upload-drop input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.music-upload-panel audio[controls]{width:100%}.music-upload-panel audio:not([controls]){display:none}.music-waveform-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.music-waveform-toolbar{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.music-waveform-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.music-waveform-actions span,.music-waveform-note{color:var(--color-muted);font-size:.78rem;font-weight:900}.music-waveform-actions .secondary-button:disabled{cursor:not-allowed;opacity:.5}.music-waveform-note{border-radius:var(--radius-sm);background:#fff8e5;border:1px solid #eed39d;margin:0;padding:.5rem .65rem}.music-waveform-toolbar div{gap:var(--space-1);display:grid}.music-waveform-toolbar span{color:var(--color-muted);font-size:.8rem;font-weight:800}.music-waveform{--music-waveform-inset:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:crosshair;touch-action:none;background:linear-gradient(#f7fbfb 0%,#eef4f4 100%);min-height:176px;position:relative;overflow:hidden}.music-waveform-bars{inset:var(--music-waveform-inset);align-items:center;gap:1px;display:flex;position:absolute}.music-waveform-bars span{opacity:.72;background:#2c7b85;border-radius:999px;flex:1;min-width:0}.music-waveform-timeline-layer{top:0;right:var(--music-waveform-inset);bottom:0;left:var(--music-waveform-inset);z-index:1;pointer-events:none;position:absolute}.music-waveform-selection{z-index:2;pointer-events:none;background:#d57b3e38;border-inline:2px solid #d57b3e;justify-content:center;align-items:start;min-width:2px;display:flex;position:absolute;top:0;bottom:0}.music-waveform-saved-selection{z-index:1;pointer-events:auto;background:#ffd64a61;border-inline:2px solid #d8a620;min-width:3px;position:absolute;top:0;bottom:0}.music-waveform-playhead{z-index:6;pointer-events:none;background:#102f35;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 0 2px #ffffffd1}.music-waveform-marker{top:var(--space-2);left:var(--space-2);z-index:3;pointer-events:auto;align-items:center;gap:.25rem;display:inline-flex;position:absolute}.music-waveform-marker span,.music-waveform-marker button{justify-content:center;align-items:center;width:1.45rem;height:1.45rem;display:inline-flex}.music-waveform-marker span{color:#5f4a00;background:#fff7c2;border:1px solid #d8a620;border-radius:999px;font-size:.72rem;font-weight:900}.music-waveform-marker button{color:#fff;cursor:pointer;background:#1b5f67;border:1px solid #1b5f67;border-radius:999px;padding:0}.music-waveform-marker button:disabled{cursor:not-allowed;opacity:.46}.music-waveform-resize-handle{z-index:4;cursor:ew-resize;pointer-events:auto;background:0 0;border:0;border-radius:0;width:12px;padding:0;position:absolute;top:0;bottom:0}.music-waveform-resize-handle:after{content:"";opacity:.55;background:#b98700;width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.music-waveform-resize-handle:hover:after,.music-waveform-resize-handle:focus-visible:after{opacity:1;background:#8a6200;width:5px}.music-waveform-resize-handle.start{left:-7px}.music-waveform-resize-handle.end{right:-7px}.music-waveform-selection span{margin-top:var(--space-2);border-radius:var(--radius-sm);color:#5f351e;white-space:nowrap;background:#fff1df;padding:.24rem .42rem;font-size:.72rem;font-weight:900}.music-waveform-transport{--music-waveform-inset:var(--space-4);padding:.48rem var(--music-waveform-inset) .58rem;border-radius:var(--radius-sm);background:#fff;border:1px solid #cfdedb;gap:.28rem;display:grid}.music-transport-scrubber{min-height:56px;position:relative}.music-transport-track-line,.music-transport-fill{border-radius:999px;height:6px;position:absolute;top:36px;left:0;right:0}.music-transport-track-line{background:#f4f7f7;border:1px solid #b9c8c7}.music-transport-fill{width:var(--music-transport-progress,0%);background:#1b5f67;right:auto}.music-transport-head{top:30px;bottom:4px;left:var(--music-transport-progress,0%);z-index:2;pointer-events:none;background:#102f35;border-radius:999px;width:3px;position:absolute;transform:translate(-50%);box-shadow:0 0 0 2px #ffffffdb}.music-transport-time-row{justify-content:space-between;gap:var(--space-3);display:flex}.music-transport-time-row span{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.music-waveform-transport input[type=range].music-transport-range{z-index:3;cursor:pointer;opacity:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.music-transport-button{top:0;left:var(--music-transport-progress,0%);z-index:4;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex;position:absolute;transform:translate(-50%);box-shadow:0 2px 8px #1b5f6738}.music-transport-scrubber:focus-within .music-transport-button,.music-transport-button:focus-visible{outline-offset:2px;outline:3px solid #1b5f673d}.music-section-list{gap:var(--space-2);display:grid}.music-final-cut-tally{gap:var(--space-2);border-radius:var(--radius-sm);background:#eef8f3;border:1px solid #b9d9cf;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.62rem .75rem;display:flex}.music-final-cut-tally strong{color:#235940;font-size:.96rem}.music-final-cut-tally span{color:var(--color-muted);font-size:.78rem;font-weight:900}.music-section-list article{gap:var(--space-3);border-radius:var(--radius-sm);background:#fff8d6;border:1px solid #e2c457;justify-content:space-between;align-items:start;padding:.58rem .72rem;display:flex}.music-section-list article>div{gap:var(--space-2);flex:1;min-width:0;display:grid}.music-section-list label{gap:var(--space-2);color:var(--color-muted);font-size:.76rem;font-weight:900;display:grid}.music-section-list textarea{resize:vertical;min-height:58px}.music-section-list p,.music-cut-summary span{color:var(--color-muted);margin:0;font-weight:800}.music-section-actions{gap:var(--space-1);align-items:center;display:flex}.music-section-list button{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.music-section-list button:disabled{cursor:not-allowed;opacity:.45}.music-cut-summary{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8faf9;align-items:center;display:flex}.student-absence-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.facility-photo-picker{cursor:pointer;width:fit-content}.facility-photo-picker span{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#fff;justify-content:center;align-items:center;padding:.72rem .85rem;font-weight:800;display:inline-flex}.facility-photo-picker input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.facility-photo-preview{gap:var(--space-2);margin:0;display:grid}.facility-photo-preview img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;width:min(100%,360px)}.facility-photo-preview figcaption{color:var(--color-muted);font-size:.82rem;font-weight:800}.private-lesson-form{gap:var(--space-2);display:grid}.private-lesson-modal{width:min(1180px,100%);margin-block:0 var(--space-4);max-height:none}.private-lesson-modal .modal-heading{top:calc(var(--space-5) * -1);z-index:2;margin-bottom:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--color-border);background:#fff;position:sticky}.private-lesson-modal .modal-heading h3{font-size:1.2rem}.private-lesson-form-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.private-lesson-form label{gap:.28rem;font-size:.78rem}.private-lesson-form input,.private-lesson-form select,.private-lesson-form textarea{border-radius:var(--radius-sm);padding:.48rem .62rem;font-size:.86rem}.private-lesson-form textarea{min-height:42px;max-height:72px}.private-lesson-form .wide-form-field{grid-column:span 1}.private-lesson-calendar-picker{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8faf9;display:grid}.private-lesson-picker-toolbar{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.private-lesson-date-switcher{min-width:min(420px,100%)}.private-lesson-room-tabs{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.private-lesson-room-tabs button{gap:var(--space-1);min-height:68px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;display:grid}.private-lesson-room-tabs button.active{color:#1b5f67;background:#e7f3f4;border-color:#1b5f67}.private-lesson-room-tabs strong{color:inherit}.private-lesson-room-tabs span{color:var(--color-muted);font-size:.76rem;font-weight:800}.private-lesson-timeline-shell{gap:var(--space-2);min-width:0;display:grid;overflow-x:auto}.private-lesson-timeline-header,.private-lesson-timeline-body{min-width:860px;display:grid}.private-lesson-timeline-header{z-index:5;background:#fff;position:sticky;top:0}.private-lesson-timeline-body{border-bottom:1px solid var(--color-border);position:relative}.private-lesson-timeline-column{border-right:1px solid var(--color-border);background:#fff;min-width:0;position:relative}.private-lesson-timeline-column:nth-child(2n){background:#fbfcfc}.private-lesson-drop-slot{z-index:1;cursor:copy;background:0 0;border:0;border-radius:0;width:100%;position:absolute;left:0}.private-lesson-drop-slot:hover,.private-lesson-drop-slot:focus-visible{background:#2c9ca814;outline:1px solid #2c9ca8}.private-lesson-drop-slot:disabled{cursor:not-allowed}.private-lesson-timeline-event,.private-lesson-draft-event,.private-lesson-draft-preview{z-index:2;border-radius:var(--radius-sm);color:#5f351e;background:#fff1df;border:1px solid #d7c091;border-left:4px solid #d57b3e;align-content:start;gap:.12rem;padding:.42rem .5rem;font-size:.72rem;line-height:1.2;display:grid;position:absolute;left:.42rem;right:.42rem;overflow:hidden;box-shadow:0 4px 10px #12313b14}.private-lesson-timeline-event.private_lesson{color:#4b3f8f;background:#eee9ff;border-color:#c9bff2 #c9bff2 #c9bff2 #8c7bd8}.private-lesson-timeline-event.pending_private_lesson{color:#1b5f67;background:#e7f3f4;border-color:#9dcbd0 #9dcbd0 #9dcbd0 #1b5f67}.private-lesson-timeline-event strong,.private-lesson-draft-event strong{color:inherit}.private-lesson-timeline-event span,.private-lesson-draft-event span,.private-lesson-selected-slot{color:inherit;font-weight:800}.private-lesson-draft-event{z-index:4;color:#1b5f67;cursor:grab;background:#e7f3f4;border-color:#78bfa1 #78bfa1 #78bfa1 #1b5f67}.private-lesson-draft-preview{z-index:3;color:#1b5f67;pointer-events:none;background:#e7f3f48a;border:2px solid #2c9ca8;border-left:4px solid #1b5f67}.private-lesson-draft-preview.blocked{color:#8f4024;background:#fff1dfa8;border-color:#b84b35}.private-lesson-draft-event:active{cursor:grabbing}.private-lesson-draft-event.dragging{z-index:20;opacity:.96;cursor:grabbing;transform:rotate(.4deg);box-shadow:0 14px 28px #12313b33}.private-lesson-draft-event.warning{color:#8f4024;background:#fff1df;border-color:#e4b385 #e4b385 #e4b385 #b84b35}.private-lesson-resize-handle{cursor:ns-resize;background:#1b5f6747;border:0;border-radius:999px;width:2.2rem;height:.2rem;padding:0;position:absolute;left:50%;transform:translate(-50%)}.private-lesson-resize-handle:hover,.private-lesson-resize-handle:focus-visible{outline-offset:1px;background:#1b5f67;outline:2px solid #2c9ca8}.private-lesson-resize-handle.top{top:.16rem}.private-lesson-resize-handle.bottom{bottom:.16rem}.private-lesson-delete-draft{color:#1b5f67;width:1.05rem;height:1.05rem;font:inherit;cursor:pointer;background:#ffffffd1;border:1px solid #1b5f6738;border-radius:999px;place-items:center;padding:0;font-size:.9rem;font-weight:900;line-height:1;display:inline-grid;position:absolute;top:.24rem;right:.28rem}.private-lesson-delete-draft:hover,.private-lesson-delete-draft:focus-visible{color:#8f4024;border-color:#b84b35;outline:2px solid #b84b353d}.private-lesson-selected-slot{color:var(--color-muted);margin:0;font-size:.82rem}.private-lesson-conflict-note{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;display:grid}.private-lesson-conflict-note.warning{color:#8f4024;background:#fff1df;border-color:#e4b385}.private-lesson-conflict-note strong{color:inherit}.private-lesson-conflict-note p,.private-lesson-conflict-note ul{color:inherit;margin:0;font-size:.86rem;line-height:1.45}.week-switcher{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#f8faf9}.sub-request-days,.sub-request-class-picker{gap:var(--space-3);display:grid}.sub-request-days{grid-template-columns:repeat(6,minmax(0,1fr))}.day-choice,.class-choice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;min-width:0}.day-choice{gap:var(--space-1);padding:var(--space-3);text-align:left;cursor:pointer;display:grid}.day-choice.active{background:#e7f3f4;border-color:#1b5f67}.day-choice strong,.class-choice strong{color:var(--color-heading)}.day-choice span,.class-choice small,.empty-state{color:var(--color-muted)}.whole-day-row{justify-self:start}.sub-request-class-picker{max-height:260px;overflow:auto}.class-choice{padding:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3)!important;display:grid!important}.class-choice span{gap:var(--space-1);display:grid}.class-choice.disabled{background:#f5f7f7}.sub-request-status-pill{width:fit-content;color:var(--color-muted);text-transform:uppercase;background:#eef2f2;border-radius:999px;justify-self:start;padding:.2rem .5rem;font-size:.72rem;font-weight:900}.sub-request-status-pill.pending{color:#7a4e00;background:#fff4d8}.sub-request-status-pill.covered{color:#24663a;background:#e5f5ea}.empty-state{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;margin:0}.permission-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chip{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#fff;border-radius:999px;padding:.35rem .55rem;font-size:.78rem;font-weight:800}.chip.active{color:#1b5f67;background:#e7f3f4;border-color:#1b5f67}.work-item{grid-template-columns:minmax(0,1fr) auto;align-items:start}.work-item strong{color:#1b5f67}.work-item span{color:#8f4024;align-self:start;font-size:.78rem;font-weight:800}.integration-table{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.integration-row{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-items:start;display:grid}.integration-row strong{color:var(--color-heading)}.integration-row span{color:var(--color-text);font-size:.86rem;font-weight:700}.pack-bible-view{gap:var(--space-4);min-width:0;display:grid}.pack-bible-view>.panel,.pack-bible-view h2,.pack-bible-view h3,.pack-bible-view h4,.pack-bible-view p,.pack-bible-view li,.pack-bible-view dd,.pack-bible-view span,.pack-bible-view strong,.pack-bible-view small{overflow-wrap:anywhere;min-width:0}.pack-bible-command{background:#fbfdfb;border-color:#b8d8c9}.pack-bible-command-layout{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.pack-bible-command-layout h2,.pack-bible-command-layout p{margin:0}.pack-bible-command-layout h2{color:var(--color-heading)}.pack-bible-source-count{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:34px;color:var(--color-heading);background:#fff;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.pack-bible-summary-grid,.pack-bible-source-grid,.pack-bible-feedback-grid,.pack-bible-canonical-grid,.pack-bible-discrepancy-grid,.pack-bible-policy-grid,.pack-bible-filter-row{gap:var(--space-3);display:grid}.pack-bible-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pack-bible-stat,.pack-bible-source-card,.pack-bible-feedback-card,.pack-bible-canonical-card,.pack-bible-discrepancy-card,.pack-bible-policy-card,.pack-bible-faq-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-content:start;display:grid}.pack-bible-stat{grid-template-columns:auto 1fr;align-items:center}.pack-bible-stat strong{color:var(--color-heading);font-size:2rem;line-height:1}.pack-bible-stat span{color:var(--color-muted);grid-column:1/-1;font-size:.82rem;font-weight:800}.pack-bible-stat.published,.pack-bible-faq-card.published{background:#eef8f3;border-color:#b8d8c9}.pack-bible-stat.review,.pack-bible-policy-card.needs-correction,.pack-bible-faq-card.needs-review,.pack-bible-source-card.source-gap{background:#fff8e6;border-color:#ead7a1}.pack-bible-stat.draft,.pack-bible-faq-card.shared-draft,.pack-bible-source-card.shared-draft{background:#f7f8fa;border-color:#cfd6df}.pack-bible-stat.source,.pack-bible-source-card.current-season-source,.pack-bible-policy-card.current-season-source{background:#e7f3f4;border-color:#97c9d1}.pack-bible-rules{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pack-bible-rules span{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#fff;padding:.75rem;font-size:.86rem;font-weight:700;line-height:1.45}.pack-bible-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-bible-feedback-grid{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.pack-bible-feedback-card{background:#fbfdfb;border-color:#b8d8c9}.pack-bible-canonical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-bible-canonical-card.owner-confirmed{background:#e7f3f4;border-color:#97c9d1}.pack-bible-canonical-card.watch-current-packet{background:#fff8e6;border-color:#ead7a1}.pack-bible-discrepancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-bible-discrepancy-card{background:#fffaf0;border-color:#e1c99c}.pack-bible-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-bible-card-heading{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pack-bible-card-heading small{color:var(--color-muted);font-size:.75rem;font-weight:800}.pack-bible-status-pill,.pack-bible-category{border-radius:999px;align-items:center;min-height:24px;padding:.22rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex}.pack-bible-status-pill{color:#1b5f67;background:#dceff1}.pack-bible-category{color:#77521c;background:#fff1c6}.pack-bible-source-card strong,.pack-bible-feedback-card strong,.pack-bible-canonical-card strong,.pack-bible-discrepancy-card strong,.pack-bible-policy-card strong,.pack-bible-faq-card h4{color:var(--color-heading);margin:0}.pack-bible-source-card p,.pack-bible-feedback-card p,.pack-bible-canonical-card p,.pack-bible-discrepancy-card p,.pack-bible-policy-card p,.pack-bible-entry-note{color:var(--color-text);margin:0;line-height:1.5}.pack-bible-canonical-card small{color:var(--color-muted);font-size:.76rem;font-weight:800;line-height:1.45}.pack-bible-discrepancy-card dl{gap:var(--space-2);margin:0;display:grid}.pack-bible-discrepancy-card dl div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffb8;gap:.25rem;padding:.75rem;display:grid}.pack-bible-discrepancy-card dt{color:var(--color-muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.pack-bible-discrepancy-card dd{color:var(--color-text);margin:0;line-height:1.45}.pack-bible-entry-note{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);background:#ffffffa3;padding:.75rem;font-size:.84rem;font-style:italic}.pack-bible-source-card a{gap:var(--space-2);color:#1b5f67;align-items:center;width:fit-content;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex}.pack-bible-source-card a:hover{text-decoration:underline}.pack-bible-source-card code{overflow-wrap:anywhere;color:var(--color-heading);font-size:.8rem;display:block}.pack-bible-source-card ul,.pack-bible-canonical-card ul,.pack-bible-policy-card ul,.pack-bible-faq-card ul{gap:var(--space-2);color:var(--color-text);margin:0;padding-left:1.15rem;line-height:1.45;display:grid}.pack-bible-action-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.pack-bible-command-actions,.pack-bible-card-tools{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pack-bible-card-tools{margin-left:auto}.pack-bible-action-button{gap:var(--space-2);border-radius:var(--radius-md);color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#1b5f67;border:1px solid #1b5f67;justify-content:center;align-items:center;padding:.65rem .85rem;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex}.pack-bible-action-button.secondary{border-color:var(--color-border);color:var(--color-heading);background:#fff}.pack-bible-action-button:hover:not(:disabled){background:#164d54}.pack-bible-action-button.secondary:hover:not(:disabled){background:#f3f7f7}.pack-bible-action-button:disabled{cursor:not-allowed;opacity:.54}.pack-bible-icon-button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:#1b5f67;cursor:pointer;background:#fff;place-items:center;width:36px;height:36px;display:inline-grid}.pack-bible-icon-button:hover{background:#f3fafa;border-color:#1b5f67}.pack-bible-edit-badge,.pack-bible-review-status{border-radius:var(--radius-md);color:#1b5f67;background:#eef8f3;border:1px solid #b8d8c9;align-items:center;min-height:28px;padding:.35rem .6rem;font-size:.78rem;font-weight:900;display:inline-flex}.pack-bible-review-status{margin:var(--space-3) 0 0}.pack-bible-review-status.warning{color:#77521c;background:#fff8e6;border-color:#ead7a1}.pack-bible-edit-panel{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffc7;display:grid}.pack-bible-edit-panel label{gap:var(--space-2);color:var(--color-heading);font-size:.78rem;font-weight:900;display:grid}.pack-bible-edit-panel input,.pack-bible-edit-panel textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.7rem .8rem;font-size:.9rem}.pack-bible-edit-panel textarea{resize:vertical;line-height:1.45}.pack-bible-filter-row{margin-bottom:var(--space-4);grid-template-columns:minmax(260px,1fr) minmax(160px,.35fr) minmax(190px,.45fr)}.pack-bible-feedback-card label,.pack-bible-filter-row label{gap:var(--space-2);color:var(--color-heading);font-size:.78rem;font-weight:800;display:grid}.pack-bible-feedback-card select,.pack-bible-feedback-card textarea,.pack-bible-filter-row input,.pack-bible-filter-row select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-heading);font:inherit;background:#fff;padding:.7rem .8rem}.pack-bible-feedback-card textarea{resize:vertical;line-height:1.45}.pack-bible-search{position:relative}.pack-bible-search svg{color:var(--color-muted);pointer-events:none;position:absolute;bottom:.78rem;left:.75rem}.pack-bible-search input{padding-left:2.35rem}.pack-bible-faq-list{gap:var(--space-3);display:grid}.pack-bible-faq-card h4{font-size:1rem;line-height:1.35}.pack-bible-review-workspace{gap:var(--space-4);background:linear-gradient(#f6fbfa 0%,#fff 44%);border-color:#9dc9c5;display:grid}.pack-bible-review-title{gap:var(--space-3);color:#1b5f67;flex-wrap:wrap;align-items:flex-start;display:flex}.pack-bible-review-title>div{flex:420px}.pack-bible-review-title h3,.pack-bible-review-title p{margin:0}.pack-bible-review-title p{color:var(--color-text);margin-top:.3rem;line-height:1.5}.pack-bible-review-only-badge,.pack-bible-review-signal,.pack-bible-review-warning,.pack-bible-review-stable{border-radius:999px;align-items:center;min-height:26px;padding:.25rem .55rem;font-size:.72rem;font-weight:900;display:inline-flex}.pack-bible-review-only-badge{color:#1b5f67;background:#e7f3f4;border:1px solid #9dc9c5}.pack-bible-review-signal{color:#46545a;background:#eef1f3}.pack-bible-review-warning{color:#7a4f0d;background:#fff0c3}.pack-bible-review-stable{color:#1d6848;background:#e3f4eb}.pack-bible-review-summary{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.pack-bible-review-summary>div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffd6;gap:.25rem;display:grid}.pack-bible-review-summary strong{color:var(--color-heading);font-size:1.5rem;line-height:1}.pack-bible-review-summary span{color:var(--color-muted);font-size:.72rem;font-weight:800;line-height:1.3}.pack-bible-review-boundary,.pack-bible-review-message,.pack-bible-review-alert{gap:var(--space-2);border-radius:var(--radius-md);color:#205e49;background:#eef8f3;border:1px solid #b8d8c9;align-items:flex-start;margin:0;padding:.75rem;font-size:.82rem;font-weight:700;line-height:1.45;display:flex}.pack-bible-review-message,.pack-bible-review-alert{color:#77521c;background:#fff8e6;border-color:#ead7a1}.pack-bible-review-boundary svg,.pack-bible-review-alert svg{flex:none;margin-top:.12rem}.pack-bible-review-filters{gap:var(--space-3);grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(150px,.55fr));display:grid}.pack-bible-review-filters label,.pack-bible-governance-form label,.pack-bible-governance-form fieldset{gap:var(--space-2);color:var(--color-heading);margin:0;font-size:.78rem;font-weight:800;display:grid}.pack-bible-review-filters input,.pack-bible-review-filters select,.pack-bible-governance-form input,.pack-bible-governance-form select,.pack-bible-governance-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .75rem}.pack-bible-governance-form textarea{resize:vertical;line-height:1.45}.pack-bible-review-results-heading{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.pack-bible-review-results-heading strong{color:var(--color-heading)}.pack-bible-review-results-heading small{max-width:760px;color:var(--color-muted);line-height:1.4}.pack-bible-review-list{gap:var(--space-3);display:grid}.pack-bible-review-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid;box-shadow:0 8px 22px #17393d0a}.pack-bible-review-card h4{color:var(--color-heading);margin:0;font-size:1rem;line-height:1.4}.pack-bible-status-pill.approved{color:#1d6848;background:#e3f4eb}.pack-bible-status-pill.rejected,.pack-bible-status-pill.changes-requested{color:#7a2e2e;background:#fbe8e8}.pack-bible-review-meta,.pack-bible-review-reasons{gap:var(--space-2);flex-wrap:wrap;display:flex}.pack-bible-review-meta span,.pack-bible-review-reasons span{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);background:#f8fafb;padding:.3rem .5rem;font-size:.72rem;font-weight:800}.pack-bible-review-reasons span{text-transform:capitalize}.pack-bible-review-claims{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafb}.pack-bible-review-claims summary{gap:var(--space-2);color:#1b5f67;cursor:pointer;align-items:center;padding:.75rem;font-size:.82rem;font-weight:900;display:flex}.pack-bible-review-claims[open] summary svg{transform:rotate(180deg)}.pack-bible-review-claims ol{gap:var(--space-2);margin:0;padding:0 1rem 1rem 2.4rem;display:grid}.pack-bible-review-claims li{color:var(--color-text);padding-left:.2rem;line-height:1.45}.pack-bible-review-claims li small{color:var(--color-muted);margin-top:.2rem;font-size:.68rem;font-weight:700;display:block}.pack-bible-review-claims>p{color:var(--color-text);margin:0 1rem .75rem;font-size:.82rem;line-height:1.45}.pack-bible-review-claims dl{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 1rem 1rem;display:grid}.pack-bible-review-claims dl div{gap:.2rem;display:grid}.pack-bible-review-claims dt{color:var(--color-muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.pack-bible-review-claims dd{color:var(--color-heading);margin:0;font-size:.74rem;font-weight:700}.pack-bible-governance-form{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#f6fbfa;border:1px solid #9dc9c5;display:grid}.pack-bible-governance-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pack-bible-governance-form fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;padding:0}.pack-bible-governance-form legend{margin-bottom:var(--space-2);grid-column:1/-1}.pack-bible-governance-form .pack-bible-review-check{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;align-items:center;min-height:42px;padding:.55rem .65rem;display:flex}.pack-bible-governance-form .pack-bible-review-check input{width:18px;min-height:18px;margin:0}.pack-bible-governance-form .pack-bible-review-check.current-lookup{align-self:end}.pack-bible-claim-governance{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid #cfe1df;display:grid}.pack-bible-claim-governance>div>strong,.pack-bible-claim-governance>div>p{margin:0}.pack-bible-claim-governance>div>p{color:var(--color-muted);margin-top:.25rem;font-size:.78rem;line-height:1.45}.pack-bible-claim-review-row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid}.pack-bible-claim-review-row>p{color:var(--color-text);margin:0;font-size:.86rem;line-height:1.5}.pack-bible-claim-review-fields{gap:var(--space-3);grid-template-columns:minmax(150px,.4fr) minmax(150px,.4fr) minmax(240px,1fr);display:grid}.pack-bible-show-more{justify-self:center}.ask-pac-view{gap:var(--space-4);min-width:0;display:grid}.ask-pac-view h2,.ask-pac-view h3,.ask-pac-view p,.ask-pac-view span,.ask-pac-view strong,.ask-pac-view small{overflow-wrap:anywhere;min-width:0}.ask-pac-command{gap:var(--space-3);background:#f5fbfb;border-color:#97c9d1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.ask-pac-command h2,.ask-pac-command p{margin:0}.ask-pac-session,.ask-pac-review-flag,.ask-pac-confidence{gap:var(--space-2);border-radius:var(--radius-md);align-items:center;min-height:32px;padding:.35rem .6rem;font-size:.78rem;font-weight:900;display:inline-flex}.ask-pac-session.ready,.ask-pac-confidence.high{color:#216142;background:#eef8f3;border:1px solid #b8d8c9}.ask-pac-session.checking,.ask-pac-confidence.medium,.ask-pac-review-flag{color:#77521c;background:#fff8e6;border:1px solid #ead7a1}.ask-pac-session.unavailable,.ask-pac-confidence.low{color:#8a3d2e;background:#fff1ed;border:1px solid #e0b4a6}.ask-pac-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;display:grid}.ask-pac-chat-panel,.ask-pac-review-panel{gap:var(--space-3);display:grid}.ask-pac-starter-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.ask-pac-starter{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:36px;color:var(--color-heading);font:inherit;cursor:pointer;background:#fff;padding:.45rem .65rem;font-size:.82rem;font-weight:800}.ask-pac-starter:hover{background:#f3fafa;border-color:#1b5f67}.ask-pac-thread{gap:var(--space-3);min-height:420px;max-height:64vh;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid;overflow:auto}.ask-pac-empty{place-self:center;place-items:center;gap:var(--space-2);max-width:420px;padding:var(--space-5);text-align:center;color:var(--color-muted);display:grid}.ask-pac-empty strong{color:var(--color-heading)}.ask-pac-message{gap:var(--space-2);width:min(100%,760px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;align-content:start;display:grid}.ask-pac-message.user{background:#f7f8fa;border-color:#cfd6df;justify-self:end}.ask-pac-message.assistant{background:#fbfdfb;border-color:#b8d8c9;justify-self:start}.ask-pac-message.error{background:#fff1ed;border-color:#e0b4a6}.ask-pac-message.sending{opacity:.72}.ask-pac-message-heading{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.ask-pac-message-heading>span{gap:var(--space-2);color:var(--color-heading);align-items:center;font-size:.82rem;font-weight:900;display:inline-flex}.ask-pac-message p{color:var(--color-text);white-space:pre-wrap;margin:0;line-height:1.55}.ask-pac-citations{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;display:flex}.ask-pac-citations strong{color:var(--color-heading);font-size:.78rem;font-weight:900}.ask-pac-citations span{border:1px solid var(--color-border);color:var(--color-muted);background:#fff;border-radius:999px;padding:.25rem .5rem;font-size:.74rem;font-weight:800}.ask-pac-report-button{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:#1b5f67;width:fit-content;min-height:34px;font:inherit;cursor:pointer;background:#fff;align-items:center;padding:.42rem .65rem;font-size:.78rem;font-weight:900;display:inline-flex}.ask-pac-report-button:hover{background:#f3fafa;border-color:#1b5f67}.ask-pac-compose{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.ask-pac-compose label,.ask-pac-report-form label,.ask-pac-report-card label{gap:var(--space-2);color:var(--color-heading);font-size:.78rem;font-weight:900;display:grid}.ask-pac-compose textarea,.ask-pac-report-form textarea,.ask-pac-report-form select,.ask-pac-report-card textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.75rem .85rem;line-height:1.45}.ask-pac-compose textarea,.ask-pac-report-form textarea,.ask-pac-report-card textarea{resize:vertical}.ask-pac-review-panel{top:var(--space-4);position:sticky}.ask-pac-muted{color:var(--color-muted);margin:0;font-weight:700;line-height:1.5}.ask-pac-report-list{gap:var(--space-3);display:grid}.ask-pac-report-card{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fffaf0;border:1px solid #ead7a1;display:grid}.ask-pac-report-heading,.ask-pac-report-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.ask-pac-report-heading strong{color:var(--color-heading)}.ask-pac-report-heading small{color:var(--color-muted);font-size:.74rem;font-weight:800}.ask-pac-report-card p{color:var(--color-text);margin:0;line-height:1.45}.ask-pac-proposed-correction{border-radius:var(--radius-md);background:#eef8f3;border:1px solid #b8d8c9;padding:.65rem}.ask-pac-report-card details{gap:var(--space-2);color:var(--color-text);display:grid}.ask-pac-report-card summary{color:var(--color-heading);cursor:pointer;font-size:.8rem;font-weight:900}.ask-pac-report-modal{max-width:640px}.ask-pac-report-form{gap:var(--space-3);display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.portal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form,.alert-manager-grid,.absence-board-columns,.calendar-grid,.comp-month-grid,.comp-table-row,.communication-grid,.content-grid,.date-filter-grid,.office-command-center,.office-todo-compose,.owner-command-center,.owner-metric-row,.platform-track-grid,.private-lesson-form-grid,.profile-editor,.profile-grid,.portal-progress-grid,.pack-bible-canonical-grid,.pack-bible-discrepancy-grid,.pack-bible-feedback-grid,.pack-bible-filter-row,.pack-bible-policy-grid,.pack-bible-review-filters,.pack-bible-claim-review-fields,.pack-bible-governance-grid,.pack-bible-rules,.pack-bible-source-grid,.pack-bible-summary-grid,.ask-pac-compose,.ask-pac-grid,.progress-tile-grid,.progress-row,.progress-summary-grid,.room-feed-grid,.schedule-module-grid,.student-absence-form-grid,.sub-request-days,.sub-finder-results,.teacher-command-center,.teacher-schedule-days,.teacher-schedule-class,.sync-channel,.sync-channel-list,.integration-table,.tile-grid,.user-row,.add-conflict-grid,.conflict-mode-row,.facility-issue-card,.facility-issue-card-header,.forms-link-card,.integration-row,.music-cut-grid,.music-cut-header-grid,.personal-idea-row,.personal-ideas-add>div{grid-template-columns:1fr}.pack-bible-review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-bible-review-claims dl,.roll-class-heading,.missing-student-form{grid-template-columns:1fr}.roll-count{justify-self:start}.ask-pac-review-panel{position:static}.app-modal{max-height:94vh}.modal-heading,.modal-actions,.alert-board-heading,.alert-board-post,.alert-manager-card-header,.absence-column-heading,.absence-report-card div,.facility-issue-card-header,.office-today-item div,.private-lesson-card-header,.sub-request-card-header,.system-bug-card-header,.week-switcher,.comp-finder-header,.topbar{flex-direction:column;align-items:stretch}.search-box{min-width:0}.office-todo-row{grid-template-columns:34px minmax(0,1fr)}.office-todo-actions{grid-column:2;justify-content:flex-start}}@media (width<=620px){.workspace,.sidebar{padding:var(--space-3)}.portal-nav{grid-template-columns:1fr}.topbar-actions,.portal-title{flex-direction:column;align-items:stretch}.sync-pill{justify-content:center}.pack-bible-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.comp-finder-shell.compact{gap:var(--space-3)}.comp-finder-header.compact{padding:var(--space-3) var(--space-4)}.comp-finder-header.compact h2{font-size:1.55rem}.comp-finder-stats{gap:var(--space-2);align-items:center;display:flex}.comp-finder-stats span{border-radius:var(--radius-md);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;align-items:baseline;gap:.35rem;padding:.55rem .7rem;font-size:.82rem;font-weight:800;display:inline-flex}.comp-finder-stats strong{color:#235940;font-size:1.25rem}.workspace-tabs{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.workspace-tabs button{border:0;border-right:1px solid var(--color-border);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;background:#fff;padding:.65rem;font-size:.88rem;font-weight:800}.workspace-tabs button:last-child{border-right:0}.workspace-tabs button.active{color:#fff;background:#1b5f67}.comp-finder-controls.compact,.conflict-panel.compact,.comp-category-panel.compact{gap:var(--space-3);padding:var(--space-3)}.filter-chip-list.compact,.conflict-list.compact{gap:.45rem}.filter-chip.compact,.conflict-item.compact{padding:.42rem .55rem;font-size:.78rem}.filter-chip span{color:var(--color-muted)}.comp-section-list.compact{gap:var(--space-3)}.compact-section-heading{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.compact-section-heading h3{color:var(--color-heading);margin:0;font-size:1rem}.compact-section-heading span{color:#235940;text-align:center;background:#eef8f3;border-radius:999px;min-width:2rem;padding:.25rem .45rem;font-size:.76rem;font-weight:800}.comp-table-row.compact{grid-template-columns:minmax(180px,1.2fr) minmax(110px,.65fr) minmax(110px,.7fr) minmax(170px,1fr) minmax(96px,.55fr) minmax(62px,.35fr) minmax(72px,.35fr);padding:.58rem .7rem;font-size:.8rem}.pick-button{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:32px;color:var(--color-heading);font:inherit;cursor:pointer;background:#fff;padding:.38rem .55rem;font-size:.76rem;font-weight:800}.pick-button.selected{color:#fff;background:#1b5f67;border-color:#1b5f67}.true-calendar-layout{gap:var(--space-3);grid-template-columns:minmax(420px,1fr) minmax(280px,.55fr);display:grid}.true-calendar-panel,.selected-date-panel,.tentative-schedule,.empty-schedule{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff}.calendar-toolbar{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.calendar-toolbar h3,.selected-date-panel h3,.empty-schedule h3{color:var(--color-heading);margin:0}.calendar-toolbar h3{text-align:center}.calendar-toolbar button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);font:inherit;cursor:pointer;background:#fbfcfc;padding:.48rem .65rem;font-size:.78rem;font-weight:800}.weekday-row,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.weekday-row{margin-bottom:.35rem}.weekday-row span{color:var(--color-muted);text-align:center;font-size:.7rem;font-weight:800}.calendar-blank,.calendar-day{border-radius:var(--radius-md);min-height:72px}.calendar-day{border:1px solid var(--color-border);color:var(--color-heading);font:inherit;cursor:pointer;background:#fbfcfc;align-content:space-between;justify-items:start;padding:.5rem;display:grid}.calendar-day:hover,.calendar-day.selected{background:#e7f3f4;border-color:#1b5f67}.calendar-day.picked-date{background:#e4f4ec;border-color:#3f8b5d}.calendar-day.picked-date span{color:#fff;background:#3f8b5d}.calendar-day.conflict-date{background:#fff1df;border-color:#d57b3e}.calendar-day.conflict-date span{color:#fff;background:#d57b3e}.calendar-day span{color:#235940;background:#dff2e9;border-radius:999px;padding:.18rem .4rem;font-size:.68rem;font-weight:900}.selected-date-panel,.selected-date-list,.tba-list,.tentative-schedule{gap:var(--space-2);align-content:start;display:grid}.mini-event,.schedule-row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.mini-event.not-finalized,.schedule-row.not-finalized{background:#fff8f2;border-left:4px solid #d57b3e}.mini-event.conflicted{background:#fff1df;border-color:#d57b3e;border-left-style:solid;border-left-width:4px}.mini-event strong,.schedule-row strong{color:var(--color-heading)}.mini-event small,.empty-note,.empty-schedule p,.schedule-row span{color:var(--color-muted);margin:0}.tba-list{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.tba-row{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fff8f2;padding:.48rem .6rem;font-size:.78rem;font-weight:800}.conflict-topline{gap:var(--space-2);grid-template-columns:auto auto minmax(200px,1fr);align-items:center;display:grid}.conflict-topline select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .75rem}.add-conflict-grid.compact{grid-template-columns:minmax(200px,1fr) 160px 160px 86px}.schedule-row{grid-template-columns:minmax(220px,1fr) minmax(110px,.5fr) minmax(180px,.9fr) auto auto;align-items:center}@media (width<=980px){.true-calendar-layout,.schedule-row,.conflict-topline,.add-conflict-grid.compact,.comp-table-row.compact{grid-template-columns:1fr}.comp-finder-stats{flex-direction:column;align-items:stretch}}@media (width<=620px){.workspace-tabs{grid-template-columns:1fr}.weekday-row,.month-grid{gap:.22rem}.calendar-day{min-height:54px;padding:.35rem}}.master-calendar-shell{gap:var(--space-4);display:grid}.master-calendar-header,.master-calendar-controls,.master-calendar-board,.calendar-booking-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff}.master-calendar-header{gap:var(--space-4);padding:var(--space-4);justify-content:space-between;align-items:center;display:flex}.master-calendar-header h2,.master-calendar-header p,.calendar-booking-card h3,.calendar-booking-card p{margin:0}.master-calendar-header h2{color:var(--color-heading);font-size:1.85rem}.master-calendar-header p{max-width:760px;color:var(--color-muted)}.master-calendar-stats{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.master-calendar-stats span{border-radius:var(--radius-md);color:#235940;text-align:center;background:#eef8f3;border:1px solid #b8d8c9;gap:.1rem;min-width:92px;padding:.65rem .75rem;font-size:.75rem;font-weight:800;display:grid}.master-calendar-stats strong{color:#235940;font-size:1.35rem}.master-calendar-controls{gap:var(--space-3);padding:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.calendar-primary-controls,.calendar-filter-controls{gap:var(--space-3);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.calendar-filter-controls{border-top:1px solid var(--color-border);padding-top:var(--space-3);align-items:end}.calendar-primary-controls>.segmented-control,.calendar-filter-controls>.location-tabs{flex-wrap:wrap;min-width:0;display:flex}.calendar-primary-controls>.calendar-date-nav{flex:300px;min-width:0}.calendar-room-filter{flex:0 260px;width:100%;min-width:0}.calendar-room-filter select{min-width:0;max-width:100%}.calendar-date-nav{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7faf8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:48px;padding:.25rem;display:grid}.calendar-date-nav strong{color:var(--color-heading);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:950;overflow:hidden}.calendar-date-nav .secondary-button{min-height:36px;padding:0 .7rem}.location-tabs{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7faf8;grid-auto-flow:column;gap:.25rem;padding:.25rem;display:inline-grid}.location-tabs button{border-radius:calc(var(--radius-md) - 4px);min-height:38px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .9rem;font-weight:900}.location-tabs button.active{color:#fff;box-shadow:var(--shadow-sm);background:#235940}.master-calendar-controls.classes-controls{grid-template-columns:minmax(0,1fr)}.class-status-legend{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.class-schedule-heading .class-status-legend{display:flex}.class-status-legend span{white-space:nowrap;border:1px solid #0000;border-radius:3px;padding:.35rem .55rem;font-size:.7rem;font-weight:900}.class-status-legend .permanent{background:#d9ead3;border-color:#93c47d}.class-status-legend .rotating{background:#fff2cc;border-color:#d6b656}.class-status-legend .covered{background:#f9cb9c;border-color:#e69138}.class-status-legend .uncovered{background:#f4cccc;border-color:#c00}.master-calendar-controls .class-rotating-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:nowrap;background:#f7faf8;flex-direction:row;align-items:center;gap:.5rem;min-height:48px;padding:0 .75rem;display:flex}.master-calendar-controls .class-rotating-toggle input{width:1rem;min-height:1rem;margin:0}.season-range-pill{border-radius:var(--radius-md);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;align-content:center;min-height:48px;padding:.55rem .8rem;font-size:.82rem;font-weight:900;display:grid}.master-calendar-controls label,.calendar-booking-card label{gap:var(--space-1);color:var(--color-heading);font-size:.82rem;font-weight:800;display:grid}.master-calendar-controls input,.master-calendar-controls select,.calendar-booking-card input,.calendar-booking-card select,.calendar-booking-card textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:38px;color:var(--color-heading);font:inherit;background:#fff;padding:.55rem .65rem}.calendar-booking-card textarea{resize:vertical;min-height:88px}.master-calendar-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);align-items:start;display:grid}.master-calendar-board{min-width:0;padding:var(--space-3)}.master-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.master-month-day,.master-month-blank{border-radius:var(--radius-md);min-height:118px}.master-month-day{border:1px solid var(--color-border);color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fbfcfc;align-content:start;gap:.25rem;padding:.55rem;display:grid}.master-month-day.selected,.master-week-day.selected>button{background:#e7f3f4;border-color:#1b5f67}.master-month-day span,.master-month-day small{color:var(--color-muted);font-size:.68rem;line-height:1.25}.master-month-day small{text-overflow:ellipsis;white-space:nowrap;background:#eef8f3;border-radius:999px;padding:.18rem .35rem;overflow:hidden}.season-view{gap:var(--space-4);max-height:78vh;padding-right:var(--space-1);display:grid;overflow-y:auto}.season-month-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.season-month-heading{justify-content:space-between;gap:var(--space-3);align-items:center;display:flex}.season-month-heading div{gap:.15rem;display:grid}.season-month-heading strong{color:var(--color-heading);font-size:1rem}.season-month-heading span{color:var(--color-muted);font-size:.75rem;font-weight:800}.season-weekday-row,.season-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.season-weekday-row span{color:var(--color-muted);text-align:center;text-transform:uppercase;font-size:.68rem;font-weight:900}.season-day{border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);min-height:92px;color:var(--color-heading);font:inherit;text-align:left;background:#fff;align-content:start;gap:.28rem;padding:.45rem;display:grid}.season-day-date{width:fit-content;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.season-day.blank{cursor:default;background:0 0;border-color:#0000}.season-day.selected{background:#e7f3f4;border-color:#1b5f67}.season-day strong{color:var(--color-heading);font-size:.78rem}.season-day small{color:var(--color-muted);font-size:.66rem;font-weight:800}.season-milestone-pill{color:#12313b;text-overflow:ellipsis;white-space:nowrap;background:#eef1f3;border-radius:999px;padding:.16rem .32rem;font-size:.64rem;font-weight:900;line-height:1.2;display:block;overflow:hidden}.season-milestone-stack{grid-template-rows:repeat(3,1.05rem);gap:.18rem;min-width:0;display:grid}.season-milestone-spacer{min-height:1.05rem}.season-milestone-pill.range-segment{z-index:2;border-radius:0;min-height:1.05rem;position:relative}.season-milestone-pill.range-segment.continues-left{margin-left:-.82rem;padding-left:.82rem}.season-milestone-pill.range-segment.continues-right{margin-right:-.82rem;padding-right:.82rem}.season-milestone-pill.range-segment.range-start{border-top-left-radius:999px;border-bottom-left-radius:999px}.season-milestone-pill.range-segment.range-end{border-top-right-radius:999px;border-bottom-right-radius:999px}.season-calendar-wide-event{color:#12313b;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#d5f5f6;border:0;border-left:3px solid #1b5f67;border-radius:999px;padding:.16rem .32rem;font-size:.64rem;font-weight:900;line-height:1.2;overflow:hidden}.season-milestone-pill.recital,.season-selected-card.recital,.season-agenda-item.recital{background:#eee9ff;border-left-color:#8c7bd8}.season-milestone-pill.deadline,.season-selected-card.deadline,.season-agenda-item.deadline{background:#fff1df;border-left-color:#d57b3e}.season-milestone-pill.closure,.season-selected-card.closure,.season-agenda-item.closure{background:#ffe8e2;border-left-color:#b84b35}.season-milestone-pill.competition,.season-selected-card.competition,.season-agenda-item.competition{background:#eee8f8;border-left-color:#7252a8}.season-milestone-pill.season,.season-selected-card.season,.season-agenda-item.season{background:#d5f5f6;border-left-color:#2c9ca8}.season-selected-list,.season-agenda-list{gap:var(--space-2);display:grid}.season-selected-card,.season-agenda-item{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#fff;border-left:4px solid #7d8a92;gap:.25rem;padding:.6rem;display:grid}.season-selected-card div{text-align:left;gap:.15rem;display:grid}.season-agenda-item{text-align:left}.season-selected-card span,.season-selected-card p,.season-agenda-item span{color:var(--color-muted);margin:0;font-size:.72rem;line-height:1.35}.season-agenda-item{font:inherit;cursor:pointer}.class-schedule-view{gap:var(--space-2);padding-right:var(--space-1);display:grid}.class-schedule-heading{justify-content:space-between;gap:var(--space-2);background:#fff;align-items:center;padding:.1rem 0 .45rem;display:flex;position:static}.class-schedule-heading div{gap:.1rem;display:grid}.class-schedule-status{flex-wrap:wrap;align-items:center;gap:.35rem!important;display:flex!important}.class-schedule-heading h3,.class-schedule-heading p{margin:0}.class-schedule-heading h3{color:var(--color-heading);font-size:1rem}.class-schedule-table{background:#dce3e0;border:1px solid #cfd8d4;gap:1px;min-width:800px;display:grid;overflow:hidden}.master-calendar-layout.class-calendar-layout{grid-template-columns:minmax(0,1fr)}.edit-mode-pill{width:fit-content;color:var(--color-muted);text-transform:uppercase;background:#f7faf8;border:1px solid #d5dfdb;border-radius:999px;padding:.18rem .45rem;font-size:.66rem;font-weight:900}.edit-mode-pill.active{color:#235940;background:#e4f4ec;border-color:#b8d8c9}.class-schedule-row{background:#dce3e0;grid-template-columns:82px 92px 104px 62px minmax(280px,1fr) minmax(112px,.38fr);align-items:stretch;gap:1px;display:grid}.class-schedule-head{position:static}.class-schedule-head span{color:#235940;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#eef8f3;border:0;border-radius:0;padding:.32rem .38rem;font-size:.66rem;font-weight:900;overflow:hidden}.class-schedule-day,.class-schedule-location,.class-schedule-time,.class-schedule-room,.class-schedule-name,.class-week-cell{min-height:30px;color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;background:#fbfcfc;border:0;border-radius:0;padding:.24rem .34rem;font-size:.72rem;font-weight:750;overflow:hidden}.class-week-assignment{gap:.14rem;min-width:0;display:grid}.class-schedule-day,.class-schedule-location,.class-schedule-time,.class-schedule-room{color:var(--color-heading);background:#fff;align-items:center;display:flex}.class-schedule-name{background:#fff;align-items:center;display:flex}.class-schedule-name strong{color:#235940;font-size:.68rem;font-weight:950}.class-schedule-row input,.class-schedule-row select{width:100%;min-height:30px;color:var(--color-heading);font:inherit;background:#fff;border:1px solid #d5dfdb;border-radius:0;padding:.24rem .34rem;font-size:.72rem;font-weight:800}.class-schedule-row input.class-week-cell{text-align:center}.class-week-cell{text-align:center;justify-content:center;align-items:center;height:100%;display:flex}.class-schedule-row input.class-week-cell.permanent,.class-week-cell.permanent{color:#274e13;background:#d9ead3}.class-schedule-row input.class-week-cell.rotating,.class-week-cell.rotating{color:#6f5400;background:#fff2cc}.class-schedule-row input.class-week-cell.uncovered,.class-week-cell.uncovered{color:#900;background:#f4cccc}.class-schedule-row input.class-week-cell.covered,.class-week-cell.covered{color:#783f04;background:#f9cb9c}.class-schedule-row input.class-week-cell.inactive,.class-week-cell.inactive{color:#8a9691;background:#f5f7f6;border-color:#e3e7e5}.class-new-teacher-prompt{color:#6f4500;text-align:center;justify-content:center;align-items:center;gap:.18rem;font-size:.62rem;font-weight:850;line-height:1.1;display:flex}.class-new-teacher-prompt button{color:#235940;min-height:20px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5c08a;border-radius:4px;padding:.05rem .28rem;font-size:.6rem;font-weight:950}.class-schedule-row input:focus,.class-schedule-row select:focus{outline-offset:1px;outline:2px solid #b8d8c9}.class-schedule-view{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:880px;margin:0 auto 0 0;padding-right:0}.class-schedule-view.has-sticky-actions{column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) 168px;max-width:1060px}.class-schedule-heading{flex-wrap:wrap;grid-column:1;width:100%;max-width:880px}.class-schedule-status small{color:var(--color-muted);font-size:.7rem;font-weight:800}.class-sheet-actions{top:var(--space-3);z-index:5;align-self:start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;grid-area:1/2/span 2;display:grid;position:sticky}.class-sheet-actions button{white-space:normal;min-width:0}.class-schedule-table-scroll{grid-column:1;width:100%;min-width:0;overflow-x:auto}@media (width<=720px){.class-schedule-view.has-sticky-actions{display:block}.class-sheet-actions{margin:var(--space-2) 0;flex-wrap:wrap;justify-content:flex-end;display:flex;top:0}}.class-schedule-table{background:0 0;border:0;gap:.35rem;width:100%;min-width:646px;max-width:862px}.class-schedule-row{grid-template-columns:74px minmax(220px,340px) repeat(4,minmax(88px,112px))}.class-schedule-head{background:#bfd0c8;border:1px solid #bfd0c8;gap:1px}.class-schedule-head span{text-align:center}.class-schedule-head span:first-child,.class-schedule-head span:nth-child(2){text-align:left}.class-schedule-day-heading{gap:1px;margin-top:.35rem;display:grid}.class-schedule-day-divider{color:#235940;letter-spacing:.04em;text-transform:uppercase;background:#eef8f3;border-bottom:2px solid #235940;align-items:center;min-height:27px;padding:.24rem .5rem;font-size:.72rem;font-weight:950;display:flex}.class-schedule-date-row{background:#bfd0c8;gap:1px}.class-schedule-date-row>span,.class-schedule-date-row>time{color:#235940;text-align:center;background:#f7faf8;min-height:23px;padding:.18rem .34rem;font-size:.66rem;font-weight:900;line-height:1.35}.class-location-group{background:#dce3e0;border:2px solid;border-radius:4px;gap:1px;display:grid;overflow:hidden}.class-location-group.watsonville{border-color:#3d8993}.class-location-group.santa-cruz{border-color:#8b6ba8}.class-location-label{letter-spacing:.04em;text-transform:uppercase;min-height:24px;padding:.2rem .5rem;font-size:.68rem;font-weight:950}.class-location-group.watsonville .class-location-label{color:#164f57;background:#dceff1}.class-location-group.santa-cruz .class-location-label{color:#56356f;background:#eee5f5}.class-schedule-time,.class-schedule-name,.class-week-cell{min-height:28px;font-size:.69rem}.rotating-class-row-label{cursor:pointer;gap:.38rem}.class-schedule-row .rotating-class-row-label input[type=checkbox]{accent-color:#c9a900;flex:none;width:15px;height:15px;min-height:15px;margin:0;padding:0}.rotating-class-row-label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rotation-class-schedule-table{margin:0}.rotation-class-schedule-scroll{width:100%;min-width:0;overflow-x:auto}button.class-week-cell{width:100%;font:inherit;cursor:default;border:0;border-radius:0;padding:.24rem .34rem;font-size:.69rem;font-weight:800}.class-schedule-table.editing button.class-week-cell:not(.inactive){cursor:cell}.class-schedule-row input.class-week-cell{font-size:.69rem}.master-week-grid{gap:var(--space-2);padding-bottom:var(--space-1);grid-template-columns:repeat(7,minmax(150px,1fr));display:grid;overflow-x:auto}.master-week-day{gap:var(--space-2);align-content:start;display:grid}.master-week-day>button,.master-room-column>div{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);font:inherit;text-align:left;background:#fbfcfc;padding:.6rem}.master-week-day>button span,.master-room-column>div span{color:var(--color-muted);margin-top:.15rem;font-size:.72rem;font-weight:800;display:block}.master-day-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.master-room-column{gap:var(--space-2);align-content:start;display:grid}.master-calendar-event{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fff;border-left:4px solid #1b5f67;gap:.22rem;padding:.55rem;display:grid}.master-calendar-event span,.master-calendar-event small{color:var(--color-muted);font-size:.72rem;line-height:1.25}.master-calendar-event.class{border-left-color:#0797d5}.master-calendar-event.private-lesson{border-left-color:#8c7bd8}.master-calendar-event.staff-shift,.master-calendar-event.blocked,.master-calendar-event.needs-review{border-left-color:#d57b3e}.master-calendar-event.draft{background:#eef8f3;border-left-color:#3a9d62}.master-calendar-side{gap:var(--space-3);display:grid}.calendar-booking-card{gap:var(--space-2);padding:var(--space-3);display:grid}.calendar-booking-card h3{color:var(--color-heading)}.calendar-conflict-note{border-radius:var(--radius-md);color:#235940;background:#eef8f3;padding:.55rem .65rem;font-size:.78rem;font-weight:800}.calendar-conflict-note.warning{color:#8f4024;background:#fff1df}.calendar-link-list{gap:var(--space-2);display:grid}.calendar-link-list span{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);background:#fbfcfc;padding:.45rem .55rem;font-size:.78rem;font-weight:800}.form-link-list div{gap:.35rem;display:grid}.form-link-list a{border-radius:var(--radius-md);color:#2d4772;background:#f5f8ff;border:1px solid #c5d0e4;padding:.55rem .65rem;font-size:.82rem;font-weight:900;text-decoration:none}.form-link-list small{overflow-wrap:anywhere;color:var(--color-muted);font-size:.76rem;line-height:1.4}@media (width<=1100px){.master-calendar-layout,.master-calendar-controls,.owners-subfinder-controls,.owners-subfinder-layout{grid-template-columns:1fr}.master-calendar-header,.owners-subfinder-header{flex-direction:column;align-items:stretch}.master-calendar-controls.classes-controls{grid-template-columns:1fr}.master-calendar-stats,.owners-subfinder-stats,.subfinder-result-grid{grid-template-columns:1fr;justify-content:stretch}.master-calendar-stats span{flex:1}.subfinder-class-scroll,.owners-subfinder-results{max-height:none}}@media (width<=720px){.master-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-month-card{overflow-x:auto}.season-month-grid,.season-weekday-row{min-width:700px}.season-view{max-height:none}}.calendar-source-note{margin-top:var(--space-2);color:var(--color-muted);font-size:.8rem;font-weight:800;display:block}.calendar-timeline-shell{gap:var(--space-2);min-width:0;display:grid;overflow-x:auto}.calendar-wide-events{gap:var(--space-2);min-width:930px;padding:var(--space-2);border-radius:var(--radius-md);background:#eef8f8;border:1px solid #a9d1d4;grid-template-columns:96px minmax(0,1fr);align-items:start;display:grid}.calendar-wide-events>strong{color:#1b5f67;text-transform:uppercase;padding:.55rem .25rem;font-size:.72rem}.calendar-wide-events>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-wide-events button{border-radius:var(--radius-md);min-width:180px;color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #a9d1d4;gap:.1rem;padding:.45rem .6rem;display:grid}.calendar-wide-events span,.calendar-wide-events small{color:var(--color-muted);font-size:.68rem}.timeline-header-row,.timeline-body{grid-template-columns:72px minmax(0,1fr);min-width:930px;display:grid}.timeline-header-row{z-index:4;background:#fff;align-items:stretch;position:sticky;top:0}.timeline-corner,.timeline-heading{border:1px solid var(--color-border);min-height:58px;color:var(--color-heading);background:#fbfcfc;border-right:0}.timeline-corner{border-radius:var(--radius-md) 0 0 var(--radius-md);color:var(--color-muted);text-transform:uppercase;place-items:center;font-size:.72rem;font-weight:900;display:grid}.timeline-header-row .timeline-heading:last-child,.day-room-headings .timeline-heading:last-child{border-right:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0}.timeline-heading{font:inherit;text-align:center;align-content:center;gap:.15rem;padding:.5rem;display:grid}button.timeline-heading{cursor:pointer}.timeline-heading.selected{background:#e7f3f4;border-color:#1b5f67}.timeline-heading strong{color:var(--color-heading);font-size:.78rem}.timeline-heading span{color:var(--color-muted);font-size:.68rem;font-weight:800}.week-columns,.timeline-header-row:not(.day-room-headings){grid-template-columns:repeat(7,minmax(122px,1fr))}.timeline-header-row:not(.day-room-headings){grid-template-columns:72px repeat(7,minmax(122px,1fr))}.day-room-headings,.room-columns{grid-template-columns:repeat(4,minmax(160px,1fr))}.day-room-headings{grid-template-columns:72px repeat(4,minmax(160px,1fr))}.timeline-body{align-items:stretch;position:relative}.timeline-time-axis{border-right:1px solid var(--color-border);background:#fff;position:relative}.timeline-time-axis span{color:var(--color-muted);font-size:.68rem;font-weight:800;position:absolute;right:.55rem;transform:translateY(-.55rem)}.timeline-columns{min-width:0;display:grid}.timeline-column{border-right:1px solid var(--color-border);background:linear-gradient(#fff 0%,#fbfcfc 100%);min-width:0;position:relative}.timeline-column:first-child{border-left:0}.timeline-line{border-top:1px solid #e8eff0;position:absolute;left:0;right:0}.timeline-event{z-index:2;color:#12313b;font:inherit;text-align:left;cursor:pointer;background:#eef1f3;border:1px solid #12313b29;border-left:5px solid #7d8a92;border-radius:7px;gap:.1rem;padding:.35rem .4rem;display:grid;position:absolute;left:4px;right:4px;overflow:hidden;box-shadow:0 4px 12px #12313b1f}.timeline-event strong{color:#12313b;white-space:normal;font-size:.74rem;line-height:1.12;overflow:hidden}.timeline-event span,.timeline-event small{color:#12313bb8;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:800;line-height:1.05;overflow:hidden}.timeline-event.rental{background:#fff1df;border-left-color:#d57b3e}.timeline-event.private-lesson{background:#eee9ff;border-left-color:#8c7bd8}.timeline-event.rehearsal{background:#d5f5f6;border-left-color:#2c9ca8}.timeline-event.class{background:#ddf6fb;border-left-color:#0797d5}.timeline-event.other{background:#eef1f3;border-left-color:#7d8a92}.calendar-color-legend{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.calendar-color-legend span{color:#12313b;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:900}.calendar-color-legend .rental{background:#fff1df}.calendar-color-legend .private-lesson{background:#eee9ff}.calendar-color-legend .rehearsal{background:#d5f5f6}.calendar-color-legend .class{background:#ddf6fb}.owners-subfinder-shell{gap:var(--space-4);display:grid}.owners-subfinder-header,.owners-subfinder-controls,.owners-subfinder-class-list,.owners-subfinder-results{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff}.owners-subfinder-header{gap:var(--space-4);padding:var(--space-4);justify-content:space-between;align-items:center;display:flex}.owners-subfinder-header h2,.owners-subfinder-header p{margin:0}.owners-subfinder-header h2{color:var(--color-heading);font-size:1.85rem}.owners-subfinder-header p{max-width:780px;color:var(--color-muted)}.owners-subfinder-stats,.subfinder-result-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.subfinder-result-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.subfinder-count-card{min-width:104px;padding:var(--space-3);border-radius:var(--radius-md);color:#235940;background:#eef8f3;border:1px solid #b8d8c9;gap:.12rem;display:grid}.subfinder-count-card strong{color:#235940;font-size:1.45rem;line-height:1}.subfinder-count-card span{color:#235940;text-transform:uppercase;font-size:.75rem;font-weight:900}.owners-subfinder-controls{gap:var(--space-3);padding:var(--space-3);grid-template-columns:minmax(260px,1fr) minmax(160px,220px) minmax(160px,220px);align-items:end;display:grid}.owners-subfinder-controls label:not(.search-box){gap:var(--space-1);color:var(--color-heading);font-size:.82rem;font-weight:800;display:grid}.owners-subfinder-controls select{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .75rem}.subfinder-search{min-width:0}.owners-subfinder-layout{gap:var(--space-4);grid-template-columns:minmax(380px,.9fr) minmax(360px,1.1fr);align-items:start;display:grid}.owners-subfinder-class-list,.owners-subfinder-results{gap:var(--space-3);padding:var(--space-4);display:grid}.subfinder-class-scroll,.owners-subfinder-results{max-height:calc(100vh - 260px);overflow:auto}.subfinder-class-scroll{gap:var(--space-2);padding-right:.25rem;display:grid}.subfinder-class-card{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fbfcfc;border-left:4px solid #7d8a92;gap:.22rem;display:grid}.subfinder-class-card.active{background:#e7f3f4;border-color:#1b5f67}.subfinder-class-card strong{color:var(--color-heading)}.subfinder-class-card span,.subfinder-class-card small{color:var(--color-muted);font-size:.78rem;line-height:1.3}.subfinder-selected-class,.subfinder-result-section{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;display:grid}.subfinder-selected-class h3,.subfinder-result-section h4{color:var(--color-heading);margin:0}.subfinder-selected-class>div{gap:var(--space-2);display:grid}.subfinder-selected-class span{gap:var(--space-2);color:var(--color-muted);align-items:center;font-size:.86rem;font-weight:800;display:inline-flex}.subfinder-person-row{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:.25rem;display:grid}.subfinder-person-row strong{color:var(--color-heading)}.subfinder-person-row span,.subfinder-person-row small,.subfinder-result-section p{color:var(--color-muted);margin:0;font-size:.84rem;line-height:1.4}.subfinder-result-section.muted{background:#f7f8f9}.calendar-modal-backdrop{z-index:50;padding:var(--space-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12313b59;place-items:center;display:grid;position:fixed;inset:0}.calendar-event-modal{gap:var(--space-4);width:min(620px,100%);max-height:min(760px,92vh);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;display:grid;overflow:auto;box-shadow:0 24px 80px #12313b47}.calendar-modal-heading{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.calendar-modal-heading h3{color:var(--color-heading);margin:0;font-size:1.35rem}.calendar-detail-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.calendar-detail-grid div,.calendar-modal-section{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.calendar-detail-grid dt{color:var(--color-muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.calendar-detail-grid dd{color:var(--color-heading);margin:.2rem 0 0;font-weight:800}.calendar-modal-section{gap:var(--space-2);display:grid}.calendar-modal-section strong{color:var(--color-heading)}.calendar-modal-section p,.calendar-modal-section ul{color:var(--color-muted);margin:0;font-size:.88rem;line-height:1.45}.availability-shell{gap:var(--space-4);display:grid}.availability-header,.availability-sidebar,.availability-grid-panel,.availability-events-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff}.availability-header{gap:var(--space-4);padding:var(--space-4);justify-content:space-between;align-items:center;display:flex}.availability-header h2,.availability-header p,.availability-events-card h3,.availability-settings-card h3,.availability-legend h3{margin:0}.availability-header h2{color:var(--color-heading);font-size:1.8rem;line-height:1.1}.availability-header p{max-width:780px;color:var(--color-muted)}.availability-summary{gap:var(--space-2);grid-template-columns:repeat(3,minmax(96px,1fr));display:grid}.availability-summary section{padding:var(--space-3);border-radius:var(--radius-md);color:#235940;text-align:center;background:#eef8f3;border:1px solid #b8d8c9;gap:.12rem;display:grid}.availability-summary strong{color:#235940;font-size:1.45rem;line-height:1}.availability-summary span{color:#235940;text-transform:uppercase;font-size:.72rem;font-weight:900}.availability-layout{gap:var(--space-4);grid-template-columns:minmax(230px,.5fr) minmax(540px,1.2fr) minmax(260px,.55fr);align-items:start;display:grid}.availability-sidebar,.availability-grid-panel,.availability-events-panel{padding:var(--space-4)}.availability-sidebar,.availability-events-panel,.availability-person-card,.availability-settings-card,.availability-legend,.availability-events-card{gap:var(--space-3);display:grid}.availability-sidebar label{gap:var(--space-2);color:var(--color-heading);font-size:.84rem;font-weight:800;display:grid}.availability-sidebar select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--color-heading);font:inherit;background:#fff;padding:.65rem .75rem}.availability-person-card,.availability-settings-card,.availability-legend,.availability-events-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc}.availability-person-card>div{gap:var(--space-2);color:var(--color-heading);align-items:center;display:flex}.availability-person-card p,.availability-person-card span,.availability-events-card p{color:var(--color-muted);margin:0;font-size:.84rem;line-height:1.4}.availability-chip-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.availability-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;cursor:pointer;background:#fff;padding:.48rem .65rem;font-size:.78rem;font-weight:800}.availability-chip.active{color:#fff;background:#1b5f67;border-color:#1b5f67}.availability-legend-item{border-radius:var(--radius-md);width:fit-content;padding:.38rem .55rem;font-size:.78rem;font-weight:900}.availability-legend-item.teaching,.availability-event-row.teaching{background:#eef8f3;border-color:#b8d8c9}.availability-legend-item.private,.availability-event-row.private{background:#e7f3f4;border-color:#97c9d1}.availability-legend-item.manual,.availability-event-row.manual,.availability-conflict-row{background:#fff1eb;border-color:#e9c8b8}.availability-grid{border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:92px repeat(6,minmax(96px,1fr));display:grid;overflow:auto}.availability-grid-corner,.availability-grid-day,.availability-grid-time,.availability-cell{border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:42px}.availability-grid-day,.availability-grid-time{gap:var(--space-1);color:var(--color-heading);background:#f7f8f9;align-items:center;padding:.52rem;font-size:.76rem;font-weight:900;display:flex}.availability-grid-day{justify-content:center}.availability-grid-row{display:contents}.availability-cell{min-width:0;color:var(--color-muted);font:inherit;cursor:pointer;background:#fff;padding:.28rem;font-size:.68rem;line-height:1.15}.availability-cell:hover{outline-offset:-2px;outline:2px solid #1b5f67}.availability-cell span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.availability-cell.teaching{color:#235940;background:#e4f4ec}.availability-cell.private{color:#1b5f67;background:#d5f5f6}.availability-cell.manual{color:#8f4024;background:#fff1eb}.availability-event-row,.availability-conflict-row{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:.2rem;display:grid}.availability-event-row strong,.availability-conflict-row strong,.availability-events-card h3,.availability-settings-card h3,.availability-legend h3{color:var(--color-heading)}.availability-event-row span,.availability-event-row small,.availability-conflict-row span,.availability-conflict-row small{color:var(--color-muted);font-size:.78rem;line-height:1.35}.availability-conflict-row small{gap:var(--space-1);align-items:center;display:inline-flex}.renter-page{background:#eef4f1;min-height:100vh;padding:clamp(1rem,3vw,2.5rem)}.renter-hero,.renter-form{width:min(100%,980px);margin:0 auto}.renter-hero{gap:var(--space-4);padding:var(--space-5) 0;justify-content:space-between;align-items:end;display:flex}.renter-hero h1,.renter-hero p,.renter-form-section h2{margin:0}.renter-hero h1{color:var(--color-heading);font-size:clamp(2rem,5vw,4rem);line-height:1}.renter-hero p{max-width:680px;color:var(--color-muted);font-size:1.02rem;line-height:1.5}.renter-hero-card{min-width:220px;padding:var(--space-4);border-radius:var(--radius-md);color:#235940;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #b8d8c9;gap:.3rem;display:grid}.renter-form{gap:var(--space-4);display:grid}.renter-form-section{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;display:grid}.renter-section-heading{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.renter-section-heading h2{color:var(--color-heading);font-size:1.25rem}.renter-section-heading span{color:#235940;font-size:.78rem;font-weight:900}.renter-field-grid,.renter-choice-grid{gap:var(--space-3);display:grid}.renter-field-grid,.renter-field-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.renter-form label,.renter-weekly-grid fieldset{gap:var(--space-2);color:var(--color-heading);font-size:.86rem;font-weight:800;display:grid}.renter-form input,.renter-form select,.renter-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;background:#fff;padding:.78rem .85rem}.renter-form textarea{resize:vertical;min-height:110px}.renter-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.renter-radio-card,.renter-check-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;align-items:center;gap:var(--space-2)!important;display:flex!important}.renter-radio-card input,.renter-check-card input{width:auto}.public-absence-page{background:#f1f3f7}.public-absence-page .renter-hero-card,.public-absence-form .renter-submit-message{color:#2d4772;border-color:#c5d0e4}.public-absence-confirmation-page{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.public-absence-confirmation{gap:var(--space-3);max-width:560px;color:var(--color-heading);text-align:center;justify-items:center;padding:clamp(2rem,6vw,4rem);display:grid}.public-absence-confirmation svg{color:#2f8f62}.public-absence-confirmation h1{margin:0;font-size:clamp(2.4rem,7vw,4.5rem)}.public-absence-confirmation p{max-width:34rem;color:var(--color-muted);margin:0;font-size:1.08rem;line-height:1.55}.public-absence-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-absence-student-field{gap:var(--space-2);min-width:0;color:var(--color-heading);font-size:.86rem;font-weight:800;display:grid}.public-absence-student-field>small,.public-absence-schedule-status{color:var(--color-muted);margin:0;font-size:.78rem;font-weight:700;line-height:1.45}.public-absence-student-search{position:relative}.public-absence-student-menu{z-index:20;border-radius:var(--radius-md);background:#fff;border:1px solid #c5d0e4;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;box-shadow:0 16px 32px #1e2d4824}.public-absence-student-menu button{gap:var(--space-2);border:0;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:.75rem .85rem;display:flex}.public-absence-student-menu button:last-child{border-bottom:0}.public-absence-student-menu button:hover,.public-absence-student-menu button:focus-visible,.public-absence-student-menu button[aria-selected=true]{background:#f1f5fb}.public-absence-student-menu span{color:var(--color-muted);white-space:nowrap;font-size:.75rem;font-weight:800}.public-absence-schedule-status{gap:var(--space-2);padding:0 var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.public-absence-schedule-retry{min-height:2rem;padding:.3rem .55rem;font-size:.76rem}.public-absence-manual-details{gap:var(--space-3);display:grid}.public-absence-note-confirmation{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:#71541e;background:#fffaf0;border:1px solid #d8c69c;justify-items:start;display:grid}.public-absence-note-confirmation p{margin:0;font-size:.84rem;line-height:1.45}.public-absence-fieldset{gap:var(--space-2);color:var(--color-heading);border:0;padding:0;font-size:.86rem;font-weight:800;display:grid}.public-absence-class-picker{margin-top:var(--space-3)}.public-absence-class-picker legend{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;display:flex}.public-absence-class-picker legend span{color:var(--color-muted);font-size:.76rem;font-weight:900}.public-absence-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}.public-absence-class-card{align-items:flex-start}.public-absence-class-card span{gap:.2rem;min-width:0;display:grid}.public-absence-class-card small{color:var(--color-muted);font-size:.78rem;font-weight:700;line-height:1.35}.public-absence-empty-state{padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-muted);background:#fbfcff;border:1px dashed #c5d0e4;margin:0;font-size:.86rem}.public-absence-pain-list{grid-template-columns:repeat(3,minmax(0,1fr))}.public-class-drop-page{background:#f5f2ec}.public-class-drop-page .renter-hero-card,.public-class-drop-form .renter-submit-message{color:#714d21;border-color:#dfc9a8}.payment-plan-page{background:#eef3f7}.payment-plan-page .renter-hero-card,.payment-plan-form .renter-submit-message{color:#254763;border-color:#bed0e3}.payment-count-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-date-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.payment-plan-summary dl{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.payment-plan-summary dl div{padding:var(--space-3);border-radius:var(--radius-md);background:#f7fbff;border:1px solid #bed0e3;gap:.25rem;display:grid}.payment-plan-summary dt{color:var(--color-muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.payment-plan-summary dd{color:var(--color-heading);margin:0;font-size:1rem;font-weight:950}.payment-plan-summary p{color:var(--color-muted);margin:0;line-height:1.45}.payment-plan-agreement{align-items:start}.billing-calendar-view{gap:var(--space-4);display:grid}.billing-calendar-heading,.billing-day-group header,.billing-item-card{border:1px solid var(--color-border);background:#fff}.billing-calendar-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);display:flex}.billing-calendar-heading h3,.billing-item-card h4{margin:0}.billing-day-list{gap:var(--space-4);display:grid}.billing-day-group{gap:var(--space-2);display:grid}.billing-day-group header{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.billing-day-group header span,.billing-item-card span,.billing-item-card p,.billing-empty-state p,.billing-empty-state small{color:var(--color-muted)}.billing-item-list{gap:var(--space-2);display:grid}.billing-item-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border-left:5px solid #5c7cfa;grid-template-columns:minmax(0,1fr) auto;display:grid}.billing-item-card.payment-due{border-left-color:#0f9f6e}.billing-item-card.fee-run{border-left-color:#d97706}.billing-item-card.office-todo{border-left-color:#51606f}.billing-item-card.done{opacity:.68}.billing-item-card p,.billing-empty-state p{margin:0}.billing-item-meta{text-align:right;justify-items:end;gap:.2rem;display:grid}.billing-item-card .message-actions{grid-column:1/-1}.billing-empty-state{gap:var(--space-2);padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#f8fafc;display:grid}.renter-weekly-grid{gap:var(--space-3);display:grid}.renter-weekly-grid fieldset{border:0;padding:0}.renter-day-list{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.renter-agreement{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:#eef8f3;border:1px solid #b8d8c9;display:grid}.renter-agreement p,.renter-submit-message{color:var(--color-muted);margin:0;line-height:1.48}.renter-submit-message{padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid #b8d8c9;font-weight:800}.renter-submit-button{justify-self:end;min-width:230px}.renter-application-list,.renter-application-card,.renter-application-details{gap:var(--space-3);display:grid}.renter-application-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #d57b3e}.renter-application-card.approved{border-left-color:#3a9d62}.renter-application-card.declined{border-left-color:#8f2f30}.renter-application-card-header{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.renter-application-card-header div{gap:.18rem;display:grid}.renter-application-card strong,.renter-application-details dt{color:var(--color-heading)}.renter-application-card p,.renter-application-card small,.renter-application-card span,.renter-application-details dd{color:var(--color-muted);margin:0;font-size:.84rem;line-height:1.4}.renter-application-details{grid-template-columns:repeat(3,minmax(0,1fr))}.renter-application-details div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.renter-application-details dt{text-transform:uppercase;font-size:.72rem;font-weight:900}.retention-workspace{gap:var(--space-5);display:grid}.retention-hero-panel p,.retention-import-panel small,.retention-student-summary dd,.retention-recommendation-card p,.retention-recommendation-card small,.retention-recommendation-card em,.retention-mini-list span{color:var(--color-muted);font-size:.86rem;line-height:1.45}.retention-status-row,.retention-filter-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.retention-status-row span{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);background:#fff;padding:.45rem .65rem;font-size:.8rem;font-weight:800}.data-message-inline{padding-left:var(--space-3);border-left:3px solid #2563eb;margin:0}.retention-grid{gap:var(--space-5);grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);display:grid}.retention-grid .wide-panel{grid-column:1/-1}.retention-import-panel,.retention-candidate-panel,.retention-manual-panel,.retention-email-panel{align-content:start;gap:var(--space-4);display:grid}.retention-import-panel label,.retention-email-panel label,.retention-manual-panel label{color:var(--color-heading);gap:var(--space-2);font-size:.78rem;font-weight:900;display:grid}.retention-report-list,.retention-candidate-list,.retention-recommendation-list,.retention-mini-list{gap:var(--space-3);display:grid}.retention-file-input{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:#fff}.retention-file-input input{font-size:.8rem}.retention-filter-row input,.retention-filter-row select,.retention-import-panel input,.retention-email-panel input,.retention-email-panel textarea,.retention-manual-panel input,.retention-manual-panel select{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;min-height:2.4rem;padding:.6rem .7rem}.retention-filter-row input{flex:220px}.retention-filter-row select{flex:0 0 150px}.retention-filter-row.stacked{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.retention-candidate-list{max-height:520px;padding-right:var(--space-1);overflow:auto}.retention-candidate-row,.office-action-card{border:1px solid var(--color-border);font:inherit;text-align:left}.retention-candidate-row{border-radius:var(--radius-md);color:inherit;cursor:pointer;padding:var(--space-3);background:#fff;gap:.25rem;display:grid}.retention-candidate-row.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.retention-candidate-row strong,.retention-recommendation-card strong,.retention-mini-list strong{color:var(--color-heading)}.retention-candidate-row span,.retention-candidate-row small{color:var(--color-muted);font-size:.82rem}.retention-detail-grid{gap:var(--space-5);grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);display:grid}.retention-student-summary dl{gap:var(--space-3);margin:0;display:grid}.retention-student-summary div,.retention-recommendation-card,.retention-mini-list article,.retention-email-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:#fff}.retention-student-summary dt{color:var(--color-heading);text-transform:uppercase;font-size:.72rem;font-weight:900}.retention-student-summary dd{margin:.25rem 0 0}.retention-recommendation-card,.retention-mini-list article{gap:var(--space-2);display:grid}.retention-recommendation-card div{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.retention-recommendation-card em{color:#a16207;font-style:normal;font-weight:800}.retention-email-panel textarea{resize:vertical;min-height:170px}.retention-email-preview{gap:var(--space-3);display:grid}.retention-email-preview pre{color:var(--color-muted);white-space:pre-wrap;margin:0;font-family:inherit;font-size:.84rem;line-height:1.45}.team-billing-workspace{gap:var(--space-5);display:grid}.team-billing-hero p,.team-billing-import-panel p,.team-billing-meta-list span,.team-billing-summary p,.team-billing-summary span{color:var(--color-muted);font-size:.88rem;line-height:1.45}.team-billing-grid{gap:var(--space-5);grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);display:grid}.team-billing-grid .wide-panel{grid-column:1/-1}.team-billing-import-panel,.team-billing-roster-panel,.team-billing-detail-panel,.team-billing-summary,.team-billing-controls{align-content:start;gap:var(--space-4);display:grid}.team-billing-meta-list,.team-billing-roster-list,.team-billing-toggle-grid,.team-billing-control-grid,.team-billing-extra-grid{gap:var(--space-3);display:grid}.team-billing-meta-list article,.team-billing-summary,.team-billing-toggle,.team-billing-control-grid label,.team-billing-extra-grid label{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:#fff}.team-billing-meta-list strong,.team-billing-summary h4,.team-billing-toggle span,.team-billing-control-grid span,.team-billing-extra-grid span{color:var(--color-heading);text-transform:uppercase;font-size:.74rem;font-weight:900}.team-billing-meta-list article,.team-billing-toggle,.team-billing-control-grid label,.team-billing-extra-grid label{gap:var(--space-2);display:grid}.team-billing-roster-list{max-height:620px;padding-right:var(--space-1);overflow:auto}.team-billing-detail-grid{gap:var(--space-5);grid-template-columns:minmax(240px,.65fr) minmax(420px,1.35fr);display:grid}.team-billing-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-billing-toggle-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.team-billing-extra-grid{grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr) minmax(140px,.5fr)}.team-billing-toggle.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.team-billing-control-grid input,.team-billing-toggle input,.team-billing-extra-grid input,.team-billing-roster-panel select,.team-billing-roster-panel .retention-filter-row input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;min-height:2.35rem;padding:.55rem .65rem}.team-billing-roster-panel .retention-filter-row label{align-items:center;gap:var(--space-2);flex:240px;display:flex}.team-billing-summary h4,.team-billing-summary p{margin:0}.team-billing-workspace.compact{gap:var(--space-3)}.team-billing-sync-strip{align-items:center;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;display:flex}.team-billing-sync-strip span,.team-billing-sync-strip strong{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);background:#fff;padding:.42rem .58rem;font-size:.78rem;font-weight:800}.team-billing-sync-strip strong{color:var(--color-muted);flex:240px;font-weight:700}.team-billing-rules-board{gap:var(--space-3);padding:var(--space-4);display:grid}.team-billing-rules-header,.team-billing-rules-title{align-items:center;gap:var(--space-2);justify-content:space-between;display:flex}.team-billing-rules-header h3,.team-billing-rules-header p{margin:0}.team-billing-rules-title{justify-content:flex-start}.team-billing-rules-title strong{color:var(--color-heading);min-width:96px}.team-billing-global-rules,.team-billing-team-rules{gap:var(--space-2);display:grid}.team-billing-rules-row,.team-billing-team-rule-header,.team-billing-team-rule-row{gap:0;display:grid}.team-billing-rules-row{border:1px solid var(--color-border);border-bottom:0;grid-template-columns:repeat(10,minmax(58px,1fr))}.team-billing-rules-row label{gap:0;min-width:0;display:grid}.team-billing-rules-row span,.team-billing-team-rule-header span{color:var(--color-muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.team-billing-team-rules-table{gap:0;display:grid;overflow:auto}.team-billing-team-rule-header,.team-billing-team-rule-row{grid-template-columns:minmax(112px,1.1fr) repeat(11,minmax(54px,.62fr)) minmax(62px,.5fr);align-items:center;min-width:820px}.team-billing-team-rule-header{border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#f8fafc;padding:0}.team-billing-team-rule-row{border:1px solid var(--color-border);background:#fff;border-top:0;padding:0}.team-billing-team-rule-row:nth-child(4n+2){background:#fff7ed}.team-billing-team-rule-row:nth-child(4n+3){background:#f0fdfa}.team-billing-team-rule-row:nth-child(4n+4){background:#eff6ff}.team-billing-team-rule-row:nth-child(4n+5){background:#f8fafc}.team-billing-team-rule-row strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.team-billing-rules-row label,.team-billing-team-rule-header span,.team-billing-team-rule-row>strong,.team-billing-team-rule-row>.team-billing-input-shell,.team-billing-team-rule-row>button,.team-billing-crew-rule-header span,.team-billing-crew-rule-row>strong,.team-billing-crew-rule-row>span,.team-billing-crew-rule-row>label,.team-billing-crew-rule-row>button{border-right:1px solid var(--color-border);min-height:2.45rem;padding:.35rem .42rem}.team-billing-rules-row label{border-bottom:1px solid var(--color-border)}.team-billing-rules-row label:last-child,.team-billing-team-rule-header span:last-child,.team-billing-team-rule-row>button,.team-billing-crew-rule-header span:last-child,.team-billing-crew-rule-row>button{border-right:0}.team-billing-team-rule-header span,.team-billing-team-rule-row>strong,.team-billing-team-rule-row>button,.team-billing-crew-rule-header span,.team-billing-crew-rule-row>strong,.team-billing-crew-rule-row>span,.team-billing-crew-rule-row>button{align-items:center;display:flex}.team-billing-team-rule-row>button,.team-billing-crew-rule-row>button{justify-content:center}.team-billing-crew-rule-header,.team-billing-crew-rule-row{grid-template-columns:minmax(116px,1.1fr) 46px repeat(5,minmax(112px,1fr)) minmax(62px,.55fr);align-items:stretch;gap:0;min-width:760px;display:grid}.team-billing-crew-rule-header{border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#f8fafc}.team-billing-crew-rule-row{border:1px solid var(--color-border);border-top:0}.team-billing-crew-rule-row.tone-0{background:#ecfeff}.team-billing-crew-rule-row.tone-1{background:#fef3c7}.team-billing-crew-rule-row.tone-2{background:#f0fdf4}.team-billing-crew-rule-row.tone-3{background:#f5f3ff}.team-billing-crew-rule-row label{gap:.15rem;min-width:0;display:grid}.team-billing-crew-rule-row small{color:var(--color-muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:900;overflow:hidden}.team-billing-board{gap:var(--space-4);grid-template-columns:minmax(300px,.52fr) minmax(0,1.48fr);display:grid}.team-billing-roster-panel,.team-billing-detail-panel{min-width:0}.team-billing-roster-toolbar{align-items:center;gap:var(--space-2);grid-template-columns:minmax(180px,1fr) minmax(150px,.55fr);display:grid}.team-billing-roster-toolbar label{align-items:center;gap:var(--space-2);display:flex}.team-billing-roster-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.team-billing-roster-head,.team-billing-roster-row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(112px,1.5fr) minmax(74px,.8fr) 30px 30px 36px minmax(64px,.7fr);display:grid}.team-billing-roster-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;background:#f8fafc;padding:.45rem .65rem;font-size:.68rem;font-weight:900}.team-billing-roster-body{max-height:620px;overflow:auto}.team-billing-roster-row{border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:#fff;width:100%;min-height:34px;padding:.34rem .65rem}.team-billing-roster-row:hover,.team-billing-roster-row.selected{background:#eef6ff}.team-billing-roster-row.selected{box-shadow:inset 3px 0 #2563eb}.team-billing-roster-row strong,.team-billing-roster-row span{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.team-billing-roster-row strong{color:var(--color-heading)}.panel-heading.compact{margin-bottom:0}.team-billing-detail-panel{align-content:start}.team-billing-detail-panel .team-billing-detail-grid{gap:var(--space-3);grid-template-columns:1fr}.team-billing-control-grid.compact{grid-template-columns:repeat(5,minmax(88px,1fr))}.team-billing-rules-row input,.team-billing-team-rule-row input,.team-billing-roster-toolbar input,.team-billing-roster-toolbar select{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;width:100%;min-height:2rem;padding:.4rem .5rem;font-size:.82rem}.team-billing-input-shell{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:1fr;align-items:center;min-width:0;display:grid;overflow:hidden}.team-billing-team-rule-row>.team-billing-input-shell,.team-billing-crew-rule-row .team-billing-input-shell{background:0 0;border:0;border-radius:0}.team-billing-input-shell.money{grid-template-columns:1.15rem minmax(0,1fr)}.team-billing-input-shell em{color:var(--color-muted);justify-self:end;font-size:.78rem;font-style:normal;font-weight:900}.team-billing-input-shell input,.team-billing-rules-row .team-billing-input-shell input,.team-billing-team-rule-row .team-billing-input-shell input,.team-billing-control-grid .team-billing-input-shell input,.team-billing-toggle .team-billing-input-shell input,.team-billing-extra-grid .team-billing-input-shell input{border:0;border-radius:0;width:100%;min-width:0;min-height:1.95rem;padding:.35rem .45rem}.team-billing-input-shell input:disabled,.team-billing-extra-grid>label>input:disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9}.team-billing-rules-board button:disabled{opacity:.5;cursor:not-allowed}.team-billing-selected-info{gap:var(--space-2);flex-wrap:wrap;display:flex}.team-billing-selected-info span{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.78rem;display:flex}.team-billing-toggle,.team-billing-control-grid label,.team-billing-extra-grid label{min-width:0}.team-billing-toggle input,.team-billing-control-grid input,.team-billing-extra-grid input{box-sizing:border-box}.team-billing-team-rule-row .ghost-button,.team-billing-crew-rule-row .ghost-button{border:0;border-radius:0;min-height:2rem;padding:.35rem .55rem}.class-finder-workspace{gap:var(--space-4);display:grid}.class-finder-toolbar{align-items:end;gap:var(--space-3);padding:var(--space-4);grid-template-columns:minmax(140px,.8fr) minmax(220px,1.3fr) repeat(4,minmax(118px,.75fr)) minmax(190px,1fr);display:grid}.class-finder-heading h3,.class-finder-heading p{margin:0}.class-finder-toolbar label,.class-finder-search{gap:.35rem;min-width:0;display:grid}.class-finder-toolbar label>span{color:var(--color-muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.class-finder-search{align-items:center;gap:var(--space-2);display:flex}.class-finder-toolbar input,.class-finder-toolbar select{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;width:100%;min-width:0;min-height:2.35rem;padding:.45rem .55rem;font-size:.86rem}.class-finder-toggle-group{gap:.45rem;display:grid}.class-finder-toolbar .class-finder-toggle{align-items:center;gap:.55rem;display:flex}.class-finder-toolbar .class-finder-toggle input{appearance:none;cursor:pointer;background:#cbd5e1;border:0;border-radius:999px;width:2rem;height:1.1rem;min-height:1.1rem;padding:0;transition:background .14s;position:relative}.class-finder-toolbar .class-finder-toggle input:after{content:"";background:#fff;border-radius:50%;width:.82rem;height:.82rem;transition:transform .14s;position:absolute;top:.14rem;left:.14rem;box-shadow:0 1px 3px #0f172a3d}.class-finder-toolbar .class-finder-toggle input:checked{background:#0f766e}.class-finder-toolbar .class-finder-toggle input:checked:after{transform:translate(.9rem)}.class-finder-toolbar .class-finder-toggle input:focus-visible{outline-offset:2px;outline:3px solid #2dd4bf59}.class-finder-toolbar .class-finder-toggle>span{color:var(--color-heading);text-transform:none;font-size:.76rem}.class-finder-copy-panel{align-content:start;gap:var(--space-3);min-width:0;display:grid}.class-finder-copy-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.class-finder-copy-actions>span{color:var(--color-muted);font-size:.78rem;font-weight:800}.class-finder-email-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-finder-email-fields label{color:var(--color-heading);gap:.35rem;font-size:.74rem;font-weight:850;display:grid}.class-finder-email-fields label>span{color:var(--color-muted);font-size:.66rem;font-weight:700}.class-finder-email-fields input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;width:100%;min-height:2.45rem;padding:.5rem .62rem}.class-finder-email-preview{border-radius:var(--radius-md);background:#eef4f3;border:1px solid #cddedb}.class-finder-email-preview>header{color:#fff;background:#123f46;gap:.25rem;padding:.8rem 1rem;display:grid}.class-finder-email-preview>header span{color:#bfe1dc;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.class-finder-email-preview>header strong{font-size:.9rem}.class-finder-email-body{color:var(--color-heading);gap:var(--space-2);margin:var(--space-3);background:#fff;padding:clamp(1rem,3vw,1.5rem);line-height:1.55;display:grid}.class-finder-email-body p{margin:0;font-size:.84rem}.class-finder-email-table-wrap{max-width:100%;overflow-x:auto}.class-finder-email-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.72rem}.class-finder-email-table th,.class-finder-email-table td{text-align:left;vertical-align:top;border:1px solid #c9ced3;padding:.42rem .48rem}.class-finder-email-table th{color:#1f2937;text-transform:uppercase;background:#e5e7eb;font-size:.66rem;font-weight:900}.class-finder-email-table tr.available td{background:#cceadf}.class-finder-email-table tr.some-space td{background:#deedd7}.class-finder-email-table tr.almost-full td{background:#ffe0b2}.class-finder-email-table tr.full td{background:#f4cccc;text-decoration:line-through}.class-finder-email-table tr.unknown td{background:#eceff1}.class-finder-email-table td:first-child,.class-finder-email-table td:nth-child(2),.class-finder-email-table td:nth-child(3),.class-finder-email-table td:nth-child(5),.class-finder-email-table td:nth-child(6){white-space:nowrap}.class-finder-email-links{flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.35rem;font-size:.78rem;display:flex}.class-finder-email-links a{color:#0f766e;font-weight:800}.class-finder-email-signature{display:grid}.class-finder-email-signature span{color:var(--color-muted);font-size:.75rem}.class-finder-email-empty{border-radius:var(--radius-sm);color:var(--color-muted);padding:var(--space-3);text-align:center;background:#f8fafc}.class-finder-plain-text summary{color:#0b6c72;cursor:pointer;font-size:.78rem;font-weight:850}.class-finder-plain-text[open] summary{margin-bottom:var(--space-2)}.class-finder-plain-text textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-heading);font:inherit;min-height:320px;padding:var(--space-3);resize:vertical;white-space:pre-wrap;width:100%;font-size:.84rem;line-height:1.55}.crew-teaching-entry{background:#fffbeb;border-color:#c6a85b}.crew-teaching-tools,.teacher-teaching-tools-view{gap:var(--space-4);display:grid}.teacher-teaching-tools-utility{gap:var(--space-4);justify-content:space-between;align-items:center;display:flex}.teacher-teaching-tools-utility>div{gap:var(--space-1);display:grid}.teacher-teaching-tools-utility h3,.teacher-teaching-tools-utility p{margin:0}.teacher-teaching-tools-utility>p,.teacher-teaching-tools-utility>div>p:last-child{color:var(--color-muted)}.crew-teaching-hero{gap:var(--space-4);background:radial-gradient(circle at 92% 12%,#ffffffd9 0 5rem,#0000 5.05rem),linear-gradient(135deg,#ecf8f5 0%,#fff8df 100%);border-color:#cddfd8;display:grid;overflow:hidden}.crew-back-button{width:fit-content}.crew-teaching-hero-content{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.crew-teaching-icon,.crew-tool-heading-icon{color:#0b6c72;background:#d7f2ee;border:1px solid #b8ddd6;place-items:center;display:grid}.crew-teaching-icon{border-radius:16px;width:56px;height:56px}.crew-teaching-hero h2,.crew-teaching-hero p,.crew-tool-heading h3,.crew-tool-heading p,.crew-placeholder-note h3{margin:0}.crew-teaching-hero h2{color:var(--color-heading);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.1}.crew-teaching-hero-content>div:nth-child(2){gap:.35rem;display:grid}.crew-teaching-hero-content>div:nth-child(2)>p:last-child,.crew-tool-heading>div:last-child>p:last-child{color:var(--color-muted);line-height:1.5}.crew-tool-nav{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#eef3f2;grid-template-columns:repeat(5,minmax(0,1fr));padding:.35rem;display:grid}.crew-tool-nav button{gap:var(--space-2);border-radius:calc(var(--radius-md) - 2px);min-height:44px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.65rem .8rem;font-size:.84rem;font-weight:800;display:flex}.crew-tool-nav button:hover,.crew-tool-nav button.active{color:#155e63;background:#fff;border-color:#cbdedb;box-shadow:0 4px 14px #142d3014}.crew-tool-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(250px,.32fr);align-items:start;display:grid}.crew-tool-main{gap:var(--space-5);display:grid}.crew-tool-heading{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.crew-tool-heading-icon{border-radius:12px;width:42px;height:42px}.crew-tool-heading>div:last-child{gap:.25rem;display:grid}.crew-placeholder-note{gap:var(--space-3);background:#fffaf0;border-color:#e6d497;display:grid}.crew-placeholder-note>svg{color:#a2760c}.crew-placeholder-note ul{gap:var(--space-2);color:var(--color-muted);margin:0;padding-left:1.1rem;font-size:.88rem;line-height:1.45;display:grid}.crew-playlist-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.crew-playlist-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.crew-playlist-art{color:#fff;background:#4d8d8e;border-radius:12px;place-items:center;width:52px;height:52px;display:grid}.crew-playlist-art.tone-2{background:#b07a39}.crew-playlist-art.tone-3{background:#7a6ca8}.crew-playlist-art.tone-4{background:#a95c69}.crew-playlist-card>div:nth-child(2){gap:.25rem;display:grid}.crew-playlist-card strong,.crew-syllabus-grid strong,.crew-exercise-grid strong,.crew-class-timeline strong,.crew-move-group-heading strong{color:var(--color-heading)}.crew-playlist-card span,.crew-syllabus-grid p,.crew-syllabus-grid small,.crew-exercise-grid p,.crew-exercise-grid small,.crew-class-timeline p,.crew-move-group-heading span{color:var(--color-muted);font-size:.82rem}.crew-playlist-card button{border:1px solid var(--color-border);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-muted);cursor:pointer;background:#fff;place-items:center;display:grid}.crew-class-timeline{display:grid}.crew-timeline-row{gap:var(--space-3);grid-template-columns:72px 28px minmax(0,1fr);align-items:start;min-height:72px;display:grid}.crew-time-badge{color:#6f5519;text-align:center;background:#fff3c4;border-radius:999px;padding:.28rem .45rem;font-size:.72rem;font-weight:900}.crew-timeline-marker{z-index:0;color:#fff;background:#218087;border-radius:999px;place-items:center;width:25px;height:25px;font-size:.7rem;font-weight:900;display:grid;position:relative}.crew-timeline-marker:after{content:"";z-index:-1;background:#cfe1de;width:1px;position:absolute;top:25px;bottom:-48px;left:12px}.crew-timeline-row:last-child .crew-timeline-marker:after{display:none}.crew-class-timeline p{margin:.25rem 0 0}.crew-syllabus-grid,.crew-exercise-grid,.crew-move-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.crew-syllabus-grid article{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;grid-template-columns:auto minmax(0,1fr);display:grid}.crew-syllabus-grid article>span,.crew-exercise-grid article>span{color:#228188;letter-spacing:.08em;font-size:.76rem;font-weight:900}.crew-syllabus-grid article>div{gap:.3rem;display:grid}.crew-syllabus-grid p{margin:0;line-height:1.45}.crew-syllabus-grid small{grid-column:2}.crew-exercise-grid article{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#f7fbfa);display:grid}.crew-exercise-grid p{margin:0;line-height:1.5}.crew-move-toolbar{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7faf9;flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.crew-move-toolbar label{flex:280px;gap:.35rem;display:grid}.crew-move-toolbar label>span{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:900}.crew-move-toolbar select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:2.5rem;color:var(--color-heading);font:inherit;background:#fff;padding:.5rem .65rem}.crew-move-grid>section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.crew-move-group-heading{gap:var(--space-3);padding:var(--space-3);color:#238188;background:#edf8f6;justify-content:space-between;align-items:center;display:flex}.crew-move-group-heading>div{gap:.18rem;display:grid}.crew-move-list{display:grid}.crew-move-list button{gap:var(--space-2);width:100%;padding:.7rem var(--space-3);border:0;border-top:1px solid var(--color-border);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;font-size:.86rem;display:grid}.crew-move-list button.checked{color:#236449;background:#f2faf5}.crew-check-box{color:#fff;background:#fff;border:1.5px solid #b5c6c3;border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.crew-move-list button.checked .crew-check-box{background:#318a62;border-color:#318a62}@media (width<=900px){.teacher-action-grid.teacher-main-action-grid,.teacher-action-grid.teacher-request-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-tool-layout,.crew-syllabus-grid,.crew-exercise-grid,.crew-move-grid{grid-template-columns:1fr}.crew-tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.teacher-teaching-tools-utility{flex-direction:column;align-items:stretch}.crew-teaching-hero-content{grid-template-columns:auto minmax(0,1fr)}.crew-teaching-hero-content>.status{grid-column:1/-1;width:fit-content}.crew-playlist-grid,.crew-tool-nav{grid-template-columns:1fr}.crew-tool-nav button{justify-content:flex-start}}@media (width<=1180px){.availability-header,.availability-layout{grid-template-columns:1fr}.availability-header{flex-direction:column;align-items:stretch}.availability-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.availability-grid{min-width:760px}.retention-grid,.retention-detail-grid,.team-billing-grid,.team-billing-detail-grid,.team-billing-board,.team-billing-detail-panel .team-billing-detail-grid{grid-template-columns:1fr}.team-billing-rules-row{grid-template-columns:repeat(4,minmax(82px,1fr))}.class-finder-toolbar{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (width<=620px){.calendar-detail-grid,.calendar-modal-heading{grid-template-columns:1fr}.calendar-modal-heading,.renter-hero,.renter-application-card-header{flex-direction:column;align-items:stretch}.renter-field-grid,.renter-field-grid.two-column,.renter-choice-grid,.renter-day-list,.payment-count-grid,.payment-date-grid,.payment-plan-summary dl,.renter-application-details,.availability-summary,.retention-filter-row.stacked,.retention-status-row,.team-billing-control-grid,.team-billing-control-grid.compact,.team-billing-extra-grid,.team-billing-rules-row,.team-billing-roster-toolbar,.class-finder-toolbar,.class-finder-email-fields{grid-template-columns:1fr}.class-finder-plain-text textarea{min-height:280px}}.crew-source-actions{gap:var(--space-2);justify-items:end;display:grid}.crew-source-actions a,.crew-teaching-principle a{color:#176b70;align-items:center;gap:.35rem;font-size:.76rem;font-weight:850;text-decoration:none;display:inline-flex}.crew-tool-nav button>span{text-align:left;gap:.12rem;min-width:0;display:grid}.crew-tool-nav button strong{color:inherit;font-size:.84rem}.crew-tool-nav button small{color:var(--color-muted);font-size:.66rem;font-weight:650;line-height:1.25}.crew-resource-category-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.crew-resource-category{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.crew-category-heading{gap:var(--space-2);padding:.8rem var(--space-3);color:#176b70;background:#edf8f6;border-bottom:1px solid #d7e9e6;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.crew-category-heading strong{color:var(--color-heading)}.crew-category-heading>span,.crew-count-pill{color:#176b70;background:#fff;border-radius:999px;place-items:center;min-width:26px;min-height:24px;padding:.18rem .42rem;font-size:.7rem;font-weight:900;display:grid}.crew-link-list,.crew-compact-resource-list{display:grid}.crew-link-list>a,.crew-link-list>div,.crew-compact-resource-list>a,.crew-compact-resource-list>div{gap:var(--space-2);min-height:49px;padding:.65rem var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.crew-link-list>:last-child,.crew-compact-resource-list>:last-child{border-bottom:0}.crew-link-list>a:hover,.crew-compact-resource-list>a:hover{background:#f5fbfa}.crew-link-list strong,.crew-compact-resource-list strong{color:var(--color-heading);font-size:.84rem}.crew-link-list>a>span:nth-child(2),.crew-link-list>div>span:nth-child(2),.crew-compact-resource-list>a>span:nth-child(2),.crew-compact-resource-list>div>span:nth-child(2){gap:.15rem;display:grid}.crew-link-list small,.crew-compact-resource-list small{color:var(--color-muted);font-size:.7rem;line-height:1.35}.crew-link-list>a>svg,.crew-compact-resource-list>a>svg{color:#71908c}.crew-resource-play{color:#176b70;background:#ddf1ee;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.crew-compact-resource-list>.coming-soon{background:#fffaf0}.crew-compact-resource-list>.coming-soon .crew-resource-play{color:#8a6414;background:#fff0c2}.crew-resource-status{color:#7a5914;white-space:nowrap;background:#fff0c2;border-radius:999px;padding:.22rem .48rem;font-size:.65rem;font-weight:850}.crew-compact-resource-list>.compact{min-height:42px;padding:.5rem .65rem}.crew-plan-switcher{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f2f6f5;grid-template-columns:repeat(2,minmax(0,1fr));padding:.3rem;display:grid}.crew-plan-switcher button{border-radius:calc(var(--radius-md) - 2px);color:var(--color-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:.2rem;padding:.75rem;display:grid}.crew-plan-switcher button.active{color:var(--color-heading);background:#fff;border-color:#c7ddda;box-shadow:0 5px 15px #142d3014}.crew-plan-switcher button span{font-size:.72rem}.crew-call-response{gap:var(--space-4);background:#fffaf0;border-color:#ded3af;display:grid}.crew-call-response h3,.crew-call-response p{margin:0}.crew-call-response>div{gap:.35rem;display:grid}.crew-call-response>div>p:last-child{color:var(--color-muted);font-size:.82rem;line-height:1.45}.crew-call-response ol{counter-reset:level;gap:0;margin:0;padding:0;list-style:none;display:grid}.crew-call-response li{counter-increment:level;border-top:1px solid #e7dec2;gap:.25rem;padding:.75rem .75rem .75rem 2.5rem;display:grid;position:relative}.crew-call-response li:before{content:counter(level);color:#fff;background:#a77726;border-radius:999px;place-items:center;width:25px;height:25px;font-size:.7rem;font-weight:900;display:grid;position:absolute;top:.75rem;left:0}.crew-call-response li strong{color:var(--color-heading);font-size:.82rem}.crew-call-response li span{color:var(--color-muted);font-size:.76rem;line-height:1.4}.crew-sub-nav{gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.crew-sub-nav button{border:1px solid var(--color-border);color:var(--color-muted);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.55rem .75rem;font-size:.78rem;font-weight:800}.crew-sub-nav button.active{color:#fff;background:#25878e;border-color:#25878e}.crew-progression{gap:var(--space-3);display:grid}.crew-progression>article{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff,#f8fbfa);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.crew-progression-number{color:#176b70;background:#ddf1ee;border-radius:12px;place-items:center;width:40px;height:40px;font-size:.72rem;font-weight:950;display:grid}.crew-progression>article>div:nth-child(2){gap:.35rem;display:grid}.crew-progression-title{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.crew-progression-title strong{color:var(--color-heading)}.crew-progression-title span{color:#176b70;font-size:.72rem;font-weight:850}.crew-progression p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.45}.crew-progression-tags{flex-wrap:wrap;gap:.35rem;display:flex}.crew-progression-tags span{color:#5d6d70;background:#eef3f2;border-radius:999px;padding:.25rem .45rem;font-size:.66rem;font-weight:750}.crew-progression>article>svg{color:#9bafac}.crew-teaching-principle{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);color:#846019;background:#fff8dd;border:1px solid #dfcc8a;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.crew-teaching-principle p{color:#6f5b2c}.crew-slot-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.crew-slot-card,.crew-tutorial-category{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.crew-slot-card summary,.crew-tutorial-category summary{gap:var(--space-3);padding:var(--space-3);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.crew-slot-card summary::-webkit-details-marker{display:none}.crew-tutorial-category summary::-webkit-details-marker{display:none}.crew-slot-card[open] summary,.crew-tutorial-category[open] summary{border-bottom:1px solid var(--color-border);background:#f5fbfa}.crew-slot-card summary>span:first-child,.crew-tutorial-category summary>span:first-child{gap:.25rem;display:grid}.crew-slot-card summary strong,.crew-tutorial-category summary strong{color:var(--color-heading)}.crew-slot-card summary small,.crew-tutorial-category summary small{color:var(--color-muted);font-size:.72rem;line-height:1.35}.crew-animation-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);color:#735697;background:#f8f3ff;border:1px solid #cdbce5;grid-template-columns:auto minmax(0,1fr);display:grid}.crew-move-of-day-card{gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-md);color:#176b70;font:inherit;text-align:left;cursor:pointer;background:#edf8f6;border:1px solid #bdd9d4;grid-template-columns:auto minmax(0,1fr);display:grid}.crew-move-of-day-card:hover,.crew-move-of-day-card:focus-visible{background:#e1f4f1;border-color:#6faea7;box-shadow:0 6px 16px #14444817}.crew-move-of-day-card>span{gap:.35rem;display:grid}.crew-move-of-day-card strong{color:var(--color-heading)}.crew-move-of-day-card small{color:var(--color-muted);font-size:.78rem;line-height:1.45}.crew-move-of-day-card>span>span{color:#176b70;align-items:center;gap:.35rem;width:fit-content;font-size:.72rem;font-weight:850;display:inline-flex}.crew-slot-instructions{display:grid}.crew-slot-instructions>div{padding:.6rem var(--space-3);border-bottom:1px solid var(--color-border);gap:.2rem;display:grid}.crew-slot-instructions>div:last-child{border-bottom:0}.crew-slot-instructions strong{color:var(--color-heading);font-size:.78rem}.crew-slot-instructions span{color:var(--color-muted);font-size:.72rem;line-height:1.4}.crew-animation-card div{gap:.35rem;display:grid}.crew-animation-card strong{color:var(--color-heading)}.crew-animation-card p{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.45}.crew-olympics{gap:var(--space-5);display:grid}.crew-olympics-setup{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff8dc,#fff);border:1px solid #e3c76e;grid-template-columns:auto minmax(0,1fr);display:grid}.crew-olympics-badge{color:#fff;background:#c18c22;border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.crew-olympics h3,.crew-olympics p{margin:0}.crew-olympics-setup>div:last-child{gap:.35rem;display:grid}.crew-olympics-setup ol{color:var(--color-muted);gap:.35rem;margin:.45rem 0 0;padding-left:1.2rem;font-size:.8rem;line-height:1.45;display:grid}.crew-olympics-event-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.crew-olympics-event-grid article{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid}.crew-olympics-event-grid article>span{color:#b07b18;letter-spacing:.08em;font-size:.68rem;font-weight:950}.crew-olympics-event-grid article>strong{color:var(--color-heading)}.crew-olympics-event-grid ul{color:var(--color-muted);margin:0;padding-left:1rem;font-size:.75rem;line-height:1.45}.crew-trivia{gap:var(--space-3);display:grid}.crew-section-title{gap:var(--space-2);color:#176b70;align-items:center;display:flex}.crew-section-title>div{gap:.15rem;display:grid}.crew-section-title h3{margin:0}.crew-trivia-grid{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.crew-trivia-grid article{padding:var(--space-3);background:#fff;gap:.3rem;display:grid}.crew-trivia-grid strong{color:var(--color-heading);font-size:.78rem}.crew-trivia-grid span{color:var(--color-muted);font-size:.74rem}.crew-concept-columns{gap:var(--space-4);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;display:grid}.crew-concept-collection{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.crew-concept-collection>div:first-child{padding:var(--space-3);border-bottom:1px solid var(--color-border);background:#f3f8f7;gap:.25rem;display:grid}.crew-concept-collection>div:first-child strong{color:var(--color-heading)}.crew-concept-collection>div:first-child p{color:var(--color-muted);margin:0;font-size:.76rem}.crew-prompt-workspace{gap:var(--space-4);grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);align-items:start;display:grid}.crew-prompt-draw{top:var(--space-4);gap:var(--space-3);min-height:310px;padding:var(--space-5);border-radius:var(--radius-md);color:#72569b;text-align:center;background:radial-gradient(circle at 85% 15%,#ffffffa6 0 2.8rem,#0000 2.85rem),linear-gradient(145deg,#f5ecff,#fff9e9);border:1px solid #bba8db;place-items:center;display:grid;position:sticky}.crew-prompt-draw h3,.crew-prompt-draw p{margin:0}.crew-prompt-draw h3{color:#3f3154;font-size:1.5rem;line-height:1.2}.crew-prompt-draw>p:not(.eyebrow){color:#746985;font-size:.82rem;line-height:1.45}.crew-prompt-bank{gap:var(--space-3);display:grid}.crew-prompt-bank>div:last-child{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.crew-prompt-bank>div:last-child>span{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:44px;color:var(--color-text);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.55rem .65rem;font-size:.76rem;display:grid}.crew-prompt-bank small{color:#8b6fb3;font-size:.62rem;font-weight:950}.crew-progress-summary{gap:.1rem var(--space-2);grid-template-columns:auto auto;align-items:baseline;min-width:220px;display:grid}.crew-progress-summary strong{color:#176b70}.crew-progress-summary>span{color:var(--color-muted);font-size:.72rem}.crew-progress-summary>div{background:#dce8e6;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.crew-progress-summary>div>span{border-radius:inherit;background:#299099;height:100%;transition:width .18s;display:block}.crew-curriculum-summary{padding:0 var(--space-1);color:var(--color-muted);margin:-.5rem 0 0;font-size:.82rem;line-height:1.45}.crew-checklist-order-note{gap:var(--space-2);padding:.7rem var(--space-3);border-radius:var(--radius-md);color:#176b70;background:#f4fbfa;border:1px solid #d7e8e5;grid-template-columns:auto minmax(0,1fr);align-items:start;margin:-.4rem 0 0;display:grid}.crew-checklist-order-note p{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.45}.crew-checklist-order-note strong{color:var(--color-heading)}.crew-move-group-heading{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.crew-move-order{color:#176b70;background:#fff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:.65rem;font-weight:950;display:grid}.crew-library-summary{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#eff9f7;border:1px solid #c7ddda;flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.crew-library-summary>div{gap:.25rem;display:grid}.crew-library-summary h3,.crew-library-summary p{margin:0}.crew-library-summary>div>p:last-child{color:var(--color-muted);font-size:.78rem}.crew-tutorial-library,.crew-tutorial-category-grid{gap:var(--space-3);display:grid}.crew-tutorial-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.crew-tutorial-category summary>svg{color:#74938f;transition:transform .15s}.crew-tutorial-category[open] summary>svg{transform:rotate(90deg)}@media (width<=1100px){.crew-resource-category-grid,.crew-concept-columns,.crew-tutorial-category-grid,.crew-prompt-workspace{grid-template-columns:1fr}.crew-olympics-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-prompt-draw{position:static}}@media (width<=1380px){.crew-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.crew-source-actions{grid-column:1/-1;justify-items:start}.crew-plan-switcher,.crew-slot-grid,.crew-olympics-event-grid,.crew-trivia-grid,.crew-prompt-bank>div:last-child{grid-template-columns:1fr}.crew-progression>article{grid-template-columns:auto minmax(0,1fr)}.crew-progression>article>svg{display:none}.crew-teaching-principle{grid-template-columns:auto minmax(0,1fr)}.crew-teaching-principle a{grid-column:2}.crew-olympics-setup{grid-template-columns:1fr}.crew-progress-summary{width:100%}}.teacher-mobile-header,.teacher-mobile-tabbar,.teacher-mobile-menu-backdrop,.teacher-mobile-menu-sheet{display:none}#teacher-mobile-start,#teacher-schedule,#teacher-today{scroll-margin-top:5.25rem}@media (width<=767px),(width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher]{--teacher-mobile-accent:#14666c;--teacher-mobile-accent-soft:#e5f4f2;--teacher-mobile-bar-height:4.45rem;background:linear-gradient(180deg, #edf6f4 0, #f5f7f6 10rem), var(--color-bg);min-height:100dvh;display:block}.app-shell[data-active-portal=teacher]>.sidebar{display:none}.app-shell[data-active-portal=teacher]>.workspace{min-height:100dvh;padding:var(--space-3) max(var(--space-3), env(safe-area-inset-right)) calc(var(--teacher-mobile-bar-height) + var(--space-5) + env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left))}.app-shell[data-active-portal=teacher] .topbar,.app-shell[data-active-portal=teacher] .portal-hero{display:none}.app-shell[data-active-portal=teacher] button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.teacher-mobile-header{z-index:35;gap:var(--space-3);min-height:4rem;margin:calc(var(--space-3) * -1) calc(max(var(--space-3), env(safe-area-inset-right)) * -1) var(--space-3) calc(max(var(--space-3), env(safe-area-inset-left)) * -1);padding:calc(.55rem + env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) .55rem max(.85rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafdfcf0;border-bottom:1px solid #c1d7d3e6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 6px 20px #153f4312}.teacher-mobile-brand{align-items:center;gap:.65rem;min-width:0;display:flex}.teacher-mobile-brand-mark{color:#fff;background:var(--teacher-mobile-accent);letter-spacing:.04em;border-radius:.75rem;flex:none;place-items:center;width:2.35rem;height:2.35rem;font-size:.68rem;font-weight:950;display:grid}.teacher-mobile-brand>span:last-child{gap:.08rem;min-width:0;display:grid}.teacher-mobile-brand small{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.65rem;font-weight:850}.teacher-mobile-brand strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.teacher-mobile-connection{color:#2e654e;background:#edf8f2;border:1px solid #bedacf;border-radius:999px;flex:none;align-items:center;gap:.35rem;min-height:1.8rem;padding:.32rem .52rem;font-size:.67rem;font-weight:850;display:inline-flex}.teacher-mobile-connection>span{background:#319564;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 0 3px #3195641f}.teacher-mobile-connection.unavailable{color:#8a3c33;background:#fff2f0;border-color:#e2b8b3}.teacher-mobile-connection.unavailable>span{background:#bd5749;box-shadow:0 0 0 3px #bd57491f}.teacher-mobile-system-status{gap:var(--space-2);margin-bottom:var(--space-3);color:#285f62;background:#edf8f6;border:1px solid #bfd8d3;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.62rem .72rem;font-size:.75rem;font-weight:800;line-height:1.35;display:grid;box-shadow:0 5px 16px #193a3d0d}.teacher-mobile-system-status.unsaved{color:#77521c;background:#fff8e5;border-color:#dfc17e}.teacher-mobile-tabbar{z-index:60;min-height:calc(var(--teacher-mobile-bar-height) + env(safe-area-inset-bottom));padding:.35rem max(.4rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.4rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top:1px solid #c9dcd8;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #153f431a}.teacher-mobile-tab{color:#718083;min-width:0;min-height:3.7rem;font:inherit;background:0 0;border:0;border-radius:.8rem;align-content:center;place-items:center;gap:.18rem;padding:.32rem .2rem;font-size:.68rem;font-weight:850;display:grid;position:relative}.teacher-mobile-tab.active{color:var(--teacher-mobile-accent);background:var(--teacher-mobile-accent-soft)}.teacher-mobile-tab-icon{place-items:center;display:inline-grid;position:relative}.teacher-mobile-unread{color:#fff;background:#b94c40;border:2px solid #fff;border-radius:999px;place-items:center;min-width:1.05rem;height:1.05rem;padding:0 .24rem;font-size:.56rem;font-weight:950;line-height:1;display:grid;position:absolute;top:-.48rem;left:.82rem}.teacher-mobile-menu-backdrop{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#121f227a;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.teacher-mobile-menu-sheet{right:max(var(--space-3), env(safe-area-inset-right));bottom:calc(var(--teacher-mobile-bar-height) + env(safe-area-inset-bottom) + var(--space-2));left:max(var(--space-3), env(safe-area-inset-left));z-index:71;gap:var(--space-4);max-height:min(72dvh,36rem);padding:var(--space-4);overscroll-behavior:contain;background:#fff;border:1px solid #cfdfdc;border-radius:1.25rem;display:grid;position:fixed;overflow-y:auto;box-shadow:0 24px 70px #0f23264d}.teacher-mobile-menu-heading{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.teacher-mobile-menu-heading h2{color:var(--color-heading);margin:0;font-size:1.28rem}.teacher-mobile-menu-group{gap:var(--space-2);display:grid}.teacher-mobile-menu-group h3{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:900}.teacher-mobile-menu-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-mobile-menu-link{gap:var(--space-2);border:1px solid var(--color-border);min-width:0;min-height:4.4rem;color:var(--teacher-mobile-accent);font:inherit;text-align:left;background:#fbfcfc;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.72rem;display:grid}.teacher-mobile-menu-link.active{background:var(--teacher-mobile-accent-soft);border-color:#8fc5c4}.teacher-mobile-menu-link>span{gap:.12rem;min-width:0;display:grid}.teacher-mobile-menu-link strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.teacher-mobile-menu-link small{color:var(--color-muted);font-size:.63rem;line-height:1.25}.teacher-mobile-signout{gap:var(--space-2);color:#8a3c33;width:100%;min-height:3rem;font:inherit;background:#fff7f5;border:1px solid #e2c3bf;border-radius:.85rem;justify-content:center;align-items:center;font-weight:850;display:inline-flex}.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-alert-card{display:none}.app-shell[data-active-portal=teacher] .messaging-alert-card{gap:var(--space-2);margin-bottom:var(--space-3);box-shadow:none;padding:.7rem}.app-shell[data-active-portal=teacher] .messaging-alert-row{display:none}.app-shell[data-active-portal=teacher] .messaging-alert-open-all{min-height:2.75rem;padding-inline:.55rem}.app-shell[data-active-portal=teacher] .teacher-portal-workspace{gap:var(--space-3);flex-direction:column;display:flex}.app-shell[data-active-portal=teacher] .teacher-schedule-grid{order:2}.app-shell[data-active-portal=teacher] .teacher-command-center{order:1}.app-shell[data-active-portal=teacher] .staff-program-access-panel{order:3}.app-shell[data-active-portal=teacher] .absence-board-grid{order:4;margin-top:0}.app-shell[data-active-portal=teacher] .panel{padding:var(--space-3);border-radius:.9rem;box-shadow:0 7px 22px #193a3d0f}.app-shell[data-active-portal=teacher] .panel-heading{margin-bottom:var(--space-3)}.app-shell[data-active-portal=teacher] .panel h3{font-size:1.05rem}.app-shell[data-active-portal=teacher] .teacher-weekly-schedule-panel>.panel-heading{align-items:stretch;gap:.65rem;display:grid}.app-shell[data-active-portal=teacher] .teacher-schedule-actions{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:stretch;display:grid}.app-shell[data-active-portal=teacher] .week-switcher.compact{background:0 0;border:0;flex-direction:row;width:fit-content;padding:0}.app-shell[data-active-portal=teacher] .teacher-schedule-actions .icon-button,.app-shell[data-active-portal=teacher] .teacher-schedule-actions .secondary-button{min-height:2.75rem}.app-shell[data-active-portal=teacher] .teacher-schedule-actions .icon-button{width:2.75rem;min-width:2.75rem}.app-shell[data-active-portal=teacher] .teacher-schedule-actions .secondary-button{width:100%}.app-shell[data-active-portal=teacher] .schedule-week-label,.app-shell[data-active-portal=teacher] .schedule-summary{font-size:.8rem}.app-shell[data-active-portal=teacher] .schedule-summary{margin-bottom:var(--space-3)}.app-shell[data-active-portal=teacher] .teacher-schedule-days{gap:var(--space-2);grid-template-columns:1fr}.app-shell[data-active-portal=teacher] .teacher-schedule-day.is-empty{display:none}.app-shell[data-active-portal=teacher] .teacher-schedule-day,.app-shell[data-active-portal=teacher] .teacher-schedule-class{gap:var(--space-2);border-radius:.75rem;padding:.72rem}.app-shell[data-active-portal=teacher] .teacher-schedule-day-heading strong,.app-shell[data-active-portal=teacher] .teacher-schedule-class strong{font-size:.88rem}.app-shell[data-active-portal=teacher] .teacher-schedule-day-heading span,.app-shell[data-active-portal=teacher] .teacher-schedule-class span,.app-shell[data-active-portal=teacher] .teacher-schedule-class small{font-size:.76rem;line-height:1.35}.app-shell[data-active-portal=teacher] .teacher-week-empty{min-height:9rem;padding:var(--space-4)}.app-shell[data-active-portal=teacher] .teacher-command-center{gap:var(--space-3);grid-template-columns:1fr;margin-bottom:0}.app-shell[data-active-portal=teacher] .teacher-action-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-active-portal=teacher] .teacher-action-card{border-radius:.75rem;grid-template-columns:1fr;align-content:center;justify-items:start;gap:.42rem;min-height:4.75rem;padding:.7rem}.app-shell[data-active-portal=teacher] .teacher-action-card.primary-action{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);min-height:4rem}.app-shell[data-active-portal=teacher] .teacher-action-card strong{font-size:.82rem;line-height:1.2}.app-shell[data-active-portal=teacher] .teacher-action-card small{display:none}.app-shell[data-active-portal=teacher] .teacher-action-card small.teacher-action-scope{font-size:.68rem;line-height:1.25;display:block}.app-shell[data-active-portal=teacher] .teacher-action-card>svg{color:var(--teacher-mobile-accent)}.app-shell[data-active-portal=teacher] .teacher-bulletin-empty{min-height:8rem;padding:var(--space-3)}.app-shell[data-active-portal=teacher] .teacher-bulletin-note{padding:var(--space-3)}.app-shell[data-active-portal=teacher] .absence-board-scope{font-size:.75rem}.app-shell[data-active-portal=teacher] .absence-board-column,.app-shell[data-active-portal=teacher] .absence-report-list{gap:var(--space-2)}.app-shell[data-active-portal=teacher] .absence-report-card{padding:var(--space-3)}.app-shell[data-active-portal=teacher] .absence-class-row{padding:.6rem;gap:.3rem var(--space-2)!important;grid-template-columns:minmax(0,1fr) auto!important}.app-shell[data-active-portal=teacher] .absence-class-row strong,.app-shell[data-active-portal=teacher] .absence-class-row small{overflow-wrap:anywhere;grid-column:1/-1}.app-shell[data-active-portal=teacher] .empty-state{padding:var(--space-3);font-size:.82rem;line-height:1.4}body:has(.app-shell[data-active-portal=teacher] .app-modal-backdrop){overflow:hidden}body:has(.app-shell[data-active-portal=teacher] .teacher-mobile-menu-sheet){overflow:hidden}.app-shell[data-active-portal=teacher] .app-modal-backdrop{z-index:90;align-items:stretch;padding:0;overflow:hidden}.app-shell[data-active-portal=teacher] .app-modal{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;padding:calc(var(--space-3) + env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left));overscroll-behavior:contain;border:0;border-radius:0;overflow:hidden auto}.app-shell[data-active-portal=teacher]:has(.app-modal-backdrop) .teacher-mobile-system-status{top:max(.6rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));left:max(.75rem, env(safe-area-inset-left));z-index:100;position:fixed;box-shadow:0 .65rem 1.8rem #0f2a2e33}.app-shell[data-active-portal=teacher]:has(.app-modal-backdrop):has(.teacher-mobile-system-status) .app-modal{padding-top:calc(4.7rem + env(safe-area-inset-top))}.app-shell[data-active-portal=teacher] .app-modal .modal-heading{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.app-shell[data-active-portal=teacher] .app-modal .modal-heading h3{font-size:1.18rem;line-height:1.2}.app-shell[data-active-portal=teacher] .app-modal .modal-heading .secondary-button{min-width:4.5rem;min-height:2.75rem}.app-shell[data-active-portal=teacher] .app-modal .modal-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.app-shell[data-active-portal=teacher] .app-modal .modal-actions>button{width:100%;min-height:3rem}.app-shell[data-active-portal=teacher] .app-modal input,.app-shell[data-active-portal=teacher] .app-modal select,.app-shell[data-active-portal=teacher] .app-modal textarea{min-height:2.75rem;font-size:16px}.app-shell[data-active-portal=teacher] .app-modal textarea{min-height:6rem}.app-shell[data-active-portal=teacher] .app-modal .week-switcher{gap:var(--space-2);padding:var(--space-2);text-align:center;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;display:grid}.app-shell[data-active-portal=teacher] .app-modal .week-switcher .icon-button{width:2.75rem;height:2.75rem}.app-shell[data-active-portal=teacher] .sub-request-days{gap:var(--space-2);padding:.15rem .1rem var(--space-2);scroll-snap-type:x proximity;overscroll-behavior-inline:contain;grid-template-columns:none;grid-auto-columns:minmax(5rem,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.app-shell[data-active-portal=teacher] .day-choice{scroll-snap-align:start;min-height:4.25rem;padding:.65rem}.app-shell[data-active-portal=teacher] .sub-request-class-picker{max-height:none}.app-shell[data-active-portal=teacher] .class-choice{min-height:3.75rem;padding:.7rem}.app-shell[data-active-portal=teacher] .private-lesson-modal{margin:0}.app-shell[data-active-portal=teacher] .private-lesson-modal .modal-heading{padding-block:0;position:static}.app-shell[data-active-portal=teacher] .private-lesson-form-grid{grid-template-columns:1fr}.app-shell[data-active-portal=teacher] .private-lesson-form .wide-form-field{grid-column:1}.app-shell[data-active-portal=teacher] .private-lesson-picker-toolbar{flex-direction:column;align-items:stretch}.app-shell[data-active-portal=teacher] .private-lesson-picker-toolbar .segmented-control{grid-auto-columns:minmax(0,1fr);width:100%}.app-shell[data-active-portal=teacher] .private-lesson-picker-toolbar .segmented-control button{min-height:2.75rem}.app-shell[data-active-portal=teacher] .private-lesson-date-switcher{width:100%;min-width:0}.app-shell[data-active-portal=teacher] .private-lesson-room-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-active-portal=teacher] .private-lesson-room-tabs button{min-height:3.5rem;padding:.65rem}.app-shell[data-active-portal=teacher] .private-lesson-timeline-shell{margin-inline:calc(var(--space-3) * -1);padding-inline:var(--space-3);scroll-padding-inline:var(--space-3);-webkit-overflow-scrolling:touch}.app-shell[data-active-portal=teacher] .private-lesson-drop-slot{touch-action:manipulation}.app-shell[data-active-portal=teacher] .private-lesson-draft-event{touch-action:none}.app-shell[data-active-portal=teacher] .private-lesson-delete-draft{width:2.75rem;height:2.75rem;top:0;right:0}.app-shell[data-active-portal=teacher] .private-lesson-resize-handle{background:linear-gradient(#0000 calc(50% - 2px),#1b5f6780 calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px));width:3rem;height:.9rem}.app-shell[data-active-portal=teacher] .private-lesson-resize-handle.top{top:-.35rem}.app-shell[data-active-portal=teacher] .private-lesson-resize-handle.bottom{bottom:-.35rem}.app-shell[data-active-portal=teacher] .music-cut-segmented,.app-shell[data-active-portal=teacher] .music-cut-edit-modes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-shell[data-active-portal=teacher] .music-cut-segmented button,.app-shell[data-active-portal=teacher] .music-cut-edit-modes button{min-height:2.75rem}.app-shell[data-active-portal=teacher] .music-target-length{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-active-portal=teacher] .music-target-length>strong{grid-column:1/-1}.app-shell[data-active-portal=teacher] .music-waveform-toolbar{flex-direction:column;align-items:stretch}.app-shell[data-active-portal=teacher] .music-waveform-actions{justify-content:flex-start}.app-shell[data-active-portal=teacher] .music-waveform-marker button,.app-shell[data-active-portal=teacher] .music-transport-button,.app-shell[data-active-portal=teacher] .music-section-list button{width:2.75rem;height:2.75rem}.app-shell[data-active-portal=teacher] .music-waveform-resize-handle{width:2rem}.app-shell[data-active-portal=teacher] .music-section-list article{flex-direction:column;align-items:stretch}.app-shell[data-active-portal=teacher] .music-section-actions{justify-content:flex-end}.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-feature-header{display:none}.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-inbox-shell{height:calc(100dvh - 11.5rem);min-height:0;max-height:calc(100dvh - 11.5rem)}.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-conversations,.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-thread{height:100%}}.hip-hop-progress-layout{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);align-items:start;display:grid}.hip-hop-progress-board,.hip-hop-leaderboard{min-width:0;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #cfe1df}.hip-hop-progress-heading p,.hip-hop-leaderboard-intro{color:var(--color-muted);margin:.35rem 0 0;line-height:1.45}.hip-hop-progress-toolbar{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#f4faf9;border:1px solid #cfe1df;grid-template-columns:minmax(210px,.85fr) minmax(220px,1.15fr) minmax(150px,.55fr);align-items:stretch;display:grid}.hip-hop-progress-toolbar label,.hip-hop-selected-class,.hip-hop-progress-total{align-content:center;gap:.3rem;min-width:0;display:grid}.hip-hop-progress-toolbar label>span,.hip-hop-selected-class small,.hip-hop-progress-total>span{color:var(--color-muted);font-size:.75rem;font-weight:800}.hip-hop-progress-toolbar select{border-radius:var(--radius-md);width:100%;min-width:0;color:var(--color-heading);font:inherit;background:#fff;border:1px solid #a9cdca;padding:.72rem 2.2rem .72rem .75rem;font-weight:750}.hip-hop-selected-class{padding-inline:var(--space-3);border-inline:1px solid #d9e8e6}.hip-hop-selected-class strong,.hip-hop-progress-total strong{color:var(--color-heading);text-overflow:ellipsis;overflow:hidden}.hip-hop-selected-class>span{color:var(--color-text);font-size:.8rem}.hip-hop-progress-total strong{font-size:1.35rem}.hip-hop-progress-total>div,.hip-hop-leaderboard li>div>div{background:#dcebea;border-radius:999px;height:.42rem;overflow:hidden}.hip-hop-progress-total>div>span,.hip-hop-leaderboard li>div>div>span{border-radius:inherit;background:linear-gradient(90deg,#287f83,#47aaa1);height:100%;transition:width .18s;display:block}.hip-hop-progress-status{color:#356c70;min-height:1.25rem;margin:.65rem 0;font-size:.78rem;font-weight:750}.hip-hop-move-groups{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hip-hop-move-groups>section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;overflow:hidden}.hip-hop-move-groups header{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);background:#eef6f5;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.hip-hop-move-groups header>span,.hip-hop-leaderboard-rank{color:#fff;background:#287f83;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.72rem;font-weight:900;display:grid}.hip-hop-move-groups header>div{gap:.1rem;min-width:0;display:grid}.hip-hop-move-groups header strong,.hip-hop-move-groups header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hip-hop-move-groups header strong{color:var(--color-heading)}.hip-hop-move-groups header small{color:var(--color-muted);font-size:.7rem}.hip-hop-move-groups>section>div{display:grid}.hip-hop-move-groups button{gap:var(--space-2);min-height:2.7rem;padding:.58rem var(--space-3);border:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-bottom:1px solid #e6eceb;grid-template-columns:1.35rem minmax(0,1fr);align-items:center;font-size:.8rem;font-weight:700;display:grid}.hip-hop-move-groups button:last-child{border-bottom:0}.hip-hop-move-groups button:hover:not(:disabled),.hip-hop-move-groups button:focus-visible,.hip-hop-move-groups button.checked{color:#1c625d;background:#eaf7f4}.hip-hop-move-groups button:disabled{cursor:wait;opacity:.72}.hip-hop-move-groups button>span{color:#fff;background:#fff;border:1px solid #a6bfbc;border-radius:.28rem;place-items:center;width:1.2rem;height:1.2rem;display:grid}.hip-hop-move-groups button.checked>span{background:#287f83;border-color:#287f83}.hip-hop-leaderboard{top:var(--space-4);position:sticky}.hip-hop-leaderboard-intro{margin-bottom:var(--space-3);font-size:.82rem}.hip-hop-leaderboard ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.hip-hop-leaderboard li{gap:var(--space-2);border-radius:var(--radius-md);background:#fbfcfc;border:1px solid #e3e9e8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:.68rem;display:grid}.hip-hop-leaderboard li:first-child .hip-hop-leaderboard-rank{color:#5b4311;background:#f5cc5a}.hip-hop-leaderboard li:nth-child(2) .hip-hop-leaderboard-rank{color:#445053;background:#d4dcdd}.hip-hop-leaderboard li:nth-child(3) .hip-hop-leaderboard-rank{color:#fff;background:#b97845}.hip-hop-leaderboard li>div{gap:.16rem;min-width:0;display:grid}.hip-hop-leaderboard li>div>strong,.hip-hop-leaderboard li>div>span,.hip-hop-leaderboard li>div>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hip-hop-leaderboard li>div>strong,.hip-hop-leaderboard li>strong{color:var(--color-heading)}.hip-hop-leaderboard li>div>span,.hip-hop-leaderboard li>div>small{color:var(--color-muted);font-size:.68rem}.hip-hop-leaderboard li>div>div{margin-top:.25rem}.hip-hop-leaderboard li>strong{text-align:right;gap:.08rem;font-size:.86rem;display:grid}.hip-hop-leaderboard li>strong>small{color:var(--color-muted);font-size:.64rem}@media (width<=1120px){.hip-hop-progress-layout{grid-template-columns:1fr}.hip-hop-leaderboard{position:static}}@media (width<=780px){.hip-hop-progress-toolbar,.hip-hop-move-groups{grid-template-columns:1fr}.hip-hop-selected-class{padding:var(--space-2) 0;border:0;border-block:1px solid #d9e8e6}}@media (width<=767px),(width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher] .hip-hop-progress-layout{order:3;margin-bottom:0}.app-shell[data-active-portal=teacher] .absence-board-grid{order:4}}@media (width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher][data-active-view=messages] .teacher-mobile-header,.app-shell[data-active-portal=teacher][data-active-view=messages] .teacher-mobile-system-status{display:none}.app-shell[data-active-portal=teacher][data-active-view=messages] .messaging-inbox-shell{height:calc(100dvh - 10rem);min-height:0;max-height:calc(100dvh - 10rem)}}.teacher-hours-view{gap:var(--space-4);display:grid}.teacher-hours-header,.teacher-hours-toolbar,.teacher-hours-month-switcher,.teacher-hours-tabs,.teacher-hours-policy,.teacher-hours-form-actions,.teacher-hours-sub-summary{align-items:center;display:flex}.teacher-hours-header{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:linear-gradient(125deg,#e7f6f3f0,#fffffff5),#fff;border:1px solid #cfe1de;justify-content:space-between}.teacher-hours-header h2,.teacher-hours-header p,.teacher-hours-projection-panel p,.teacher-hours-schedule-note{margin:0}.teacher-hours-header h2{color:var(--color-heading);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05}.teacher-hours-header>div>p:last-child{max-width:680px;margin-top:var(--space-2);color:var(--color-muted);line-height:1.45}.teacher-hours-toolbar{gap:var(--space-3);justify-content:space-between}.teacher-hours-month-switcher{gap:var(--space-2)}.teacher-hours-month-switcher>span{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:210px;min-height:42px;color:var(--color-heading);box-shadow:var(--shadow-soft);background:#fff;justify-content:center;align-items:center;padding:.68rem .85rem;font-weight:900;display:inline-flex}.teacher-hours-month-switcher .icon-button:disabled{cursor:default;opacity:.4}.teacher-hours-tabs{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}.teacher-hours-tabs button{gap:var(--space-2);border:0;border-right:1px solid var(--color-border);min-height:42px;color:var(--color-text);font:inherit;cursor:pointer;background:#fff;align-items:center;padding:.68rem 1rem;font-weight:850;display:inline-flex}.teacher-hours-tabs button:last-child{border-right:0}.teacher-hours-tabs button.active{color:#fff;background:#1b5f67}.teacher-hours-status{border-radius:var(--radius-md);color:#285f62;background:#eff8f6;border:1px solid #c8ddd8;margin:0;padding:.75rem .9rem;font-weight:800}.teacher-hours-entry-form{border-color:#bad7d2}.teacher-hours-archive-form>p{margin:0 0 var(--space-3);color:var(--color-muted);line-height:1.45}.teacher-hours-form-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.teacher-hours-form-grid label{gap:var(--space-2);color:var(--color-heading);font-size:.82rem;font-weight:850;display:grid}.teacher-hours-form-grid input,.teacher-hours-form-grid select,.teacher-hours-form-grid textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-heading);font:inherit;background:#fff;padding:.72rem .82rem}.teacher-hours-form-grid textarea{resize:vertical;min-height:84px}.teacher-hours-form-title,.teacher-hours-form-notes{grid-column:span 2}.teacher-hours-form-rule{width:fit-content;margin:var(--space-3) 0 0;border-radius:var(--radius-md);color:#71551b;background:#fff9e8;border:1px solid #d8c680;padding:.58rem .72rem;font-size:.82rem;font-weight:850}.teacher-hours-form-actions{gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end}.teacher-hours-form-actions button:disabled{cursor:wait;opacity:.58}.teacher-hours-policy{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);color:#6f5318;background:#fffaf0;border:1px solid #e1cf8d;border-left:5px solid #c8942b}.teacher-hours-policy>div{gap:.22rem;display:grid}.teacher-hours-policy strong{color:#5d4313}.teacher-hours-policy span{font-size:.86rem;line-height:1.4}.teacher-hours-loading{gap:var(--space-3);min-height:180px;color:var(--color-muted);justify-content:center;align-items:center;font-weight:850;display:flex}.teacher-hours-error{justify-content:flex-start;align-items:flex-start}.teacher-hours-error>div{gap:var(--space-2);display:grid}.teacher-hours-error p{color:var(--color-muted);margin:0}.teacher-hours-overview{gap:var(--space-4);display:grid}.teacher-hours-overview[hidden],.teacher-hours-details[hidden]{display:none}.teacher-hours-metrics{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.teacher-hours-metric{min-height:138px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;align-content:center;gap:.35rem;display:grid}.teacher-hours-metric.primary{color:#fff;background:linear-gradient(145deg,#1b5f67,#267b78);border-color:#8fc9c0}.teacher-hours-metric span{color:var(--color-muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.teacher-hours-metric strong{color:var(--color-heading);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1}.teacher-hours-metric small{color:var(--color-muted);line-height:1.35}.teacher-hours-metric.primary span,.teacher-hours-metric.primary small{color:#ffffffc7}.teacher-hours-metric.primary strong{color:#fff}.teacher-hours-overview-grid{align-items:stretch}.teacher-hours-projection-panel,.teacher-hours-recent-panel{min-height:310px}.teacher-hours-projected-total{margin-bottom:var(--space-2);color:#1b5f67;font-size:clamp(2rem,4vw,3rem);line-height:1;display:block}.teacher-hours-projection-panel>p{color:var(--color-muted);line-height:1.5}.teacher-hours-sub-summary{gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-3);border-radius:var(--radius-md);color:#285f62;background:#edf7f5;flex-wrap:wrap}.teacher-hours-sub-summary span{color:var(--color-muted);align-items:baseline;gap:.3rem;font-size:.82rem;display:inline-flex}.teacher-hours-sub-summary strong{color:var(--color-heading);font-size:1rem}.teacher-hours-recent-list{gap:var(--space-2);display:grid}.teacher-hours-recent-row{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;border-left:4px solid #4f8f95;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;padding:.75rem;display:grid}.teacher-hours-recent-row.subbed-class{border-left-color:#2f8f62}.teacher-hours-recent-row.got-subbed{border-left-color:#c48a35}.teacher-hours-recent-row.manual{border-left-color:#6f6bb5}.teacher-hours-recent-row>span,.teacher-hours-recent-row small{color:var(--color-muted);font-size:.76rem}.teacher-hours-recent-row>div{gap:.18rem;min-width:0;display:grid}.teacher-hours-recent-row strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-hours-recent-row b{color:#1b5f67;white-space:nowrap;font-size:.82rem}.teacher-hours-empty{gap:var(--space-2);min-height:180px;padding:var(--space-5);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;background:#fafcfc;border:1px dashed #c8d6d4;align-content:center;place-items:center;display:grid}.teacher-hours-empty strong{color:var(--color-heading)}.teacher-hours-empty p{margin:0}.teacher-hours-entry-count{color:#285f62;background:#eaf5f3;border-radius:999px;padding:.3rem .58rem;font-size:.76rem;font-weight:900}.teacher-hours-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.teacher-hours-table{border-collapse:collapse;width:100%;min-width:1040px}.teacher-hours-table th,.teacher-hours-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.78rem .85rem}.teacher-hours-table th{color:var(--color-muted);letter-spacing:.03em;text-transform:uppercase;background:#f6f9f8;font-size:.7rem;font-weight:900}.teacher-hours-table tbody tr:last-child td{border-bottom:0}.teacher-hours-table tbody tr.got-subbed{background:#fffaf2}.teacher-hours-table td>strong,.teacher-hours-table td>small{display:block}.teacher-hours-table td>strong{color:var(--color-heading)}.teacher-hours-table td>small{color:var(--color-muted);margin-top:.24rem;line-height:1.35}.teacher-hours-type-pill{color:#285f62;white-space:nowrap;background:#eaf5f3;border-radius:999px;padding:.28rem .52rem;font-size:.72rem;font-weight:850;display:inline-flex}.teacher-hours-type-pill.subbed-class{color:#24663a;background:#e8f5ec}.teacher-hours-type-pill.got-subbed{color:#78521b;background:#fff1d8}.teacher-hours-type-pill.manual{color:#514b91;background:#eeecfb}.teacher-hours-row-actions{gap:var(--space-2);white-space:nowrap;justify-items:start;display:grid}.teacher-hours-row-actions button:disabled{cursor:wait;opacity:.55}.teacher-hours-archive-button{color:#9b3f35}.teacher-hours-derived-label{color:var(--color-muted);white-space:nowrap;font-size:.76rem;font-weight:750}.teacher-hours-schedule-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#745317;background:#fff8e6;border:1px solid #e2c785;font-size:.84rem;line-height:1.45}@media (width<=1120px){.teacher-hours-metrics,.teacher-hours-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.teacher-hours-header,.teacher-hours-toolbar{flex-direction:column;align-items:stretch}.teacher-hours-add-button{width:100%}.teacher-hours-month-switcher{justify-content:space-between}.teacher-hours-month-switcher>span{flex:1;min-width:0}.teacher-hours-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-hours-tabs button{justify-content:center}.teacher-hours-metrics,.teacher-hours-form-grid{grid-template-columns:1fr}.teacher-hours-form-title,.teacher-hours-form-notes{grid-column:auto}.teacher-hours-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-hours-form-actions button{width:100%}.teacher-hours-policy{align-items:flex-start}.teacher-hours-recent-row{grid-template-columns:72px minmax(0,1fr)}.teacher-hours-recent-row b{grid-column:2}.teacher-hours-table-wrap{border:0;overflow:visible}.teacher-hours-table,.teacher-hours-table tbody,.teacher-hours-table tr,.teacher-hours-table td{width:100%;min-width:0;display:block}.teacher-hours-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.teacher-hours-table tbody{gap:var(--space-3);display:grid}.teacher-hours-table tr{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:4px solid #4f8f95}.teacher-hours-table tr.subbed-class{border-left-color:#2f8f62}.teacher-hours-table tr.got-subbed{border-left-color:#c48a35}.teacher-hours-table tr.manual{border-left-color:#6f6bb5}.teacher-hours-table td{gap:var(--space-2);border:0;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);padding:.5rem 0;display:grid}.teacher-hours-table td:before{content:attr(data-label);color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:900}}@media (width<=767px),(width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-view{gap:var(--space-3)}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-header{padding:var(--space-4)}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-header h2{font-size:1.55rem}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-metrics{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-metric{min-height:112px;padding:var(--space-3)}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-metric strong{font-size:1.55rem}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-overview-grid{grid-template-columns:1fr}.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-projection-panel,.app-shell[data-active-portal=teacher][data-active-view=hours] .teacher-hours-recent-panel{min-height:0}}:root{--radius-md:10px;--radius-lg:14px;--shadow-soft:0 10px 28px #1723260e;--surface-subtle:#f7f9f9;--surface-accent:#e8f3f2;--border-strong:#cbd8d6}.workspace{width:100%;max-width:1880px;margin-inline:auto}.workspace>.portal-hero{background:radial-gradient(circle at 92% 12%,#29767b24,#0000 28%),linear-gradient(135deg,#fff 0%,#f5faf9 100%);border-color:#ccddda;overflow:hidden}.panel{box-shadow:var(--shadow-soft);border-color:#d8e2e0}.panel .panel{background:var(--surface-subtle);box-shadow:none;border-color:#e0e7e6}.panel-heading{border-bottom:1px solid #2d3f4117;padding-bottom:.8rem}.panel-heading h2,.panel-heading h3,.section-heading h2,.section-heading h3{letter-spacing:-.018em;line-height:1.2}.panel-heading>div>p:not(.eyebrow),.section-heading>div>p:not(.eyebrow){color:#657174;max-width:70ch;font-size:.84rem;line-height:1.48}.eyebrow{color:#667577;letter-spacing:.095em;font-size:.67rem;font-weight:820}.primary-button,.secondary-button,.ghost-button,.icon-button,.nav-item,.teacher-action-card{transition:border-color .14s,background-color .14s,box-shadow .14s,color .14s,transform .14s}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #1b5f6740}.empty-state{color:#687577;background:#fafcfc;border-style:dashed}.class-finder-advanced-filters{border-top:1px solid var(--border-strong);grid-column:1/-1;padding-top:.65rem}.class-finder-advanced-filters>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:760;display:flex}.class-finder-advanced-filters>summary span{color:#657174;font-size:.78rem;font-weight:620}.class-finder-advanced-filter-grid{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);align-items:start;gap:.75rem;padding-top:.8rem;display:grid}.class-finder-filter-options{border:0;min-width:0;margin:0;padding:0}.class-finder-filter-options:nth-of-type(n+2){grid-column:1/-1}.class-finder-filter-options legend{color:var(--color-muted);text-transform:uppercase;margin-bottom:.35rem;padding:0;font-size:.68rem;font-weight:900}.class-finder-filter-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.class-finder-filter-button{border:1px solid var(--color-border);color:var(--color-heading);cursor:pointer;font:inherit;background:#fff;border-radius:999px;min-height:2.35rem;padding:.45rem .8rem;font-size:.8rem}.class-finder-filter-button[aria-pressed=true]{color:#fff;background:#0f766e;border-color:#0f766e}.class-finder-draft-note{color:var(--color-muted);margin:0;font-size:.8rem}.class-finder-advanced-filter-grid .class-finder-toggle-group{grid-column:1/-1}@media (width<=800px){.class-finder-advanced-filter-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.class-finder-advanced-filter-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.music-cut-modal{max-height:min(92vh,940px);overflow:auto}.music-cut-stage-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.music-cut-stage-nav li{position:relative}.music-cut-stage-nav li:not(:last-child):after{content:"";z-index:0;background:#d9e2e6;height:2px;position:absolute;top:1.2rem;left:calc(50% + 1.35rem);right:calc(1.35rem - 50%)}.music-cut-stage-nav li.complete:not(:last-child):after{background:#3e8a78}.music-cut-stage-nav button{color:#70808b;z-index:1;background:0 0;border:0;place-items:center;gap:.18rem;width:100%;padding:0 .4rem .7rem;display:grid;position:relative}.music-cut-stage-nav button>span{color:#60737e;background:#edf1f3;border:2px solid #cbd6db;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:.78rem;font-weight:900;display:inline-flex}.music-cut-stage-nav button strong{color:#536672;font-size:.86rem}.music-cut-stage-nav button small{font-size:.7rem}.music-cut-stage-nav li.current button>span{color:#fff;background:#1b5f67;border-color:#1b5f67;box-shadow:0 0 0 4px #1b5f671f}.music-cut-stage-nav li.current button strong{color:#174f56}.music-cut-stage-nav li.complete button>span{color:#246450;background:#e4f4ed;border-color:#4a927d}.music-cut-stage-nav button:disabled{cursor:not-allowed;opacity:.58}.music-cut-stage-nav button:focus-visible,.music-cut-completed-summary button:focus-visible,.music-cut-review-title button:focus-visible,.music-cut-stage-actions button:focus-visible{outline-offset:2px;outline:3px solid #1b5f6740}.music-cut-stage-panel{background:#fbfcfc;border:1px solid #dce5e5;border-radius:.85rem;gap:1rem;padding:1rem;display:grid}.music-cut-stage-panel .music-cut-header-grid>.music-reference-empty{grid-column:1/-1}.music-cut-stage-heading{border-bottom:1px solid #e2e9e9;justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.8rem;display:flex}.music-cut-stage-heading h4,.music-cut-stage-heading p{margin:0}.music-cut-stage-heading h4{color:#183e43;margin-top:.2rem;font-size:1.1rem}.music-cut-stage-heading h4:focus{outline-offset:3px;border-radius:.25rem;outline:3px solid #1b5f6733}.music-cut-stage-heading>span{color:#6d7d82;text-align:right;padding-top:.3rem;font-size:.78rem;font-weight:800}.music-cut-completed-summary{background:#f4faf7;border:1px solid #cce0d7;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem .75rem;display:grid}.music-cut-summary-check{color:#276c57;background:#dff1e9;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.music-cut-completed-summary>div{gap:.15rem;min-width:0;display:grid}.music-cut-completed-summary strong{color:#254b43;font-size:.8rem}.music-cut-completed-summary>div span{color:#62766e;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.music-cut-completed-summary button,.music-cut-review-title button{color:#276656;background:#fff;border:1px solid #bcd2c9;border-radius:.5rem;min-height:2.25rem;padding:.4rem .65rem;font-size:.76rem;font-weight:900}.music-cut-audio-element{display:none}.music-cut-edit-reference{color:#38636a;background:#f2f7f8;border:1px solid #cfdee0;border-radius:.65rem;align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.music-cut-edit-reference>span{flex:1;gap:.1rem;display:grid}.music-cut-edit-reference small{color:#718187}.music-cut-edit-reference a{color:#1b5f67;font-size:.78rem;font-weight:900}.music-cut-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.music-cut-review-grid>article{background:#fff;border:1px solid #dae3e3;border-radius:.7rem;gap:.8rem;padding:.85rem;display:grid}.music-cut-review-title{align-items:center;gap:.5rem;display:flex}.music-cut-review-title svg{color:#33767a}.music-cut-review-title strong{color:#244a4d;flex:1}.music-cut-review-grid dl{gap:.55rem;margin:0;display:grid}.music-cut-review-grid dl>div{gap:.15rem;display:grid}.music-cut-review-grid dt{color:#728186;text-transform:uppercase;font-size:.68rem;font-weight:900}.music-cut-review-grid dd{color:#354e53;overflow-wrap:anywhere;margin:0}.music-cut-review-sections{border-top:1px solid #e4e9e9;gap:.45rem;max-height:13rem;margin:0;padding:.7rem 0 0;list-style:none;display:grid;overflow:auto}.music-cut-review-sections li{background:#fff9df;border:1px solid #ebd47b;border-radius:.5rem;gap:.12rem;padding:.5rem .6rem;display:grid}.music-cut-review-sections span,.music-cut-review-sections small{color:#71653d;font-size:.74rem}.music-cut-stage-actions{z-index:12;background:#fffffff0;border-top:1px solid #dfe6e6;margin:0 -.2rem -.2rem;padding:.8rem .2rem .2rem;position:sticky;bottom:-1rem}.music-cut-stage-actions button{align-items:center;gap:.35rem;display:inline-flex}@media (width<=760px){.music-cut-stage-nav button small{display:none}.music-cut-stage-heading{display:grid}.music-cut-stage-heading>span{text-align:left}.music-cut-review-grid{grid-template-columns:1fr}}@media (width<=560px){.music-cut-completed-summary{grid-template-columns:auto minmax(0,1fr)}.music-cut-completed-summary button{grid-column:1/-1;justify-self:stretch}.music-cut-stage-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.music-cut-stage-actions button{justify-content:center;width:100%}}.teacher-request-summary{gap:var(--space-2);border-radius:var(--radius-md);background:linear-gradient(145deg,#f3faf9,#fbfdfc);border:1px solid #c9ddda;grid-template-columns:repeat(3,minmax(0,1fr));padding:.7rem;display:grid}.teacher-request-summary>div{border-left:3px solid #438d88;gap:.12rem;min-width:0;padding:.25rem .5rem;display:grid}.teacher-request-summary span{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:850}.teacher-request-summary strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.teacher-request-empty{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);color:#56716f;background:#f7fbfa;border:1px dashed #bbcfcc;align-items:flex-start;display:flex}.teacher-request-empty>div{gap:.18rem;display:grid}.teacher-request-empty strong{color:var(--color-heading);font-size:.86rem}.teacher-request-empty p{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.45}.teacher-request-secondary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.teacher-request-secondary>summary{gap:var(--space-3);cursor:pointer;justify-content:space-between;align-items:center;padding:.68rem .8rem;list-style:none;display:flex}.teacher-request-secondary>summary::-webkit-details-marker{display:none}.teacher-request-secondary>summary:hover,.teacher-request-secondary>summary:focus-visible{background:#f3f9f7}.teacher-request-secondary>summary:focus-visible{outline-offset:-3px;outline:3px solid #1b5f6733}.teacher-request-secondary>summary>span:first-child{gap:.08rem;min-width:0;display:grid}.teacher-request-secondary>summary strong{color:var(--color-heading);font-size:.82rem}.teacher-request-secondary>summary small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.teacher-request-secondary-toggle{color:#315d62;text-align:center;background:#fff;border:1px solid #bad2cf;border-radius:999px;flex-shrink:0;min-width:3.5rem;padding:.22rem .45rem;font-size:.68rem;font-weight:850}.teacher-request-secondary[open] .teacher-request-secondary-toggle{color:#fff;background:#1b5f67;border-color:#1b5f67;font-size:0}.teacher-request-secondary[open] .teacher-request-secondary-toggle:after{content:"Close";font-size:.68rem}.teacher-request-secondary-fields{gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-border);background:#fbfcfc;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);display:grid}@media (width<=640px){.teacher-request-summary,.teacher-request-secondary-fields{grid-template-columns:1fr}.teacher-request-summary strong{white-space:normal}}.private-lesson-request-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.private-lesson-primary-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.canonical-private-lesson-note{color:var(--color-text);grid-column:1/-1;margin:0;font-size:.82rem}.private-lesson-modal .teacher-request-secondary>summary small,.private-lesson-modal .teacher-request-empty p{color:var(--color-text)}.private-lesson-secondary-fields{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border);background:#fbfcfc;grid-template-columns:repeat(4,minmax(0,1fr))}.private-lesson-form .private-lesson-secondary-fields .wide-form-field{grid-column:1/-1}.private-lesson-empty-rooms{margin-top:var(--space-2)}@media (width<=820px){.private-lesson-request-summary,.private-lesson-secondary-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.private-lesson-request-summary,.private-lesson-primary-fields,.private-lesson-secondary-fields{grid-template-columns:1fr}.private-lesson-form .private-lesson-secondary-fields .wide-form-field{grid-column:auto}}.attendance-session-weeks{gap:var(--space-4);display:grid}.attendance-session-weeks>section{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafa;display:grid}.attendance-session-weeks>section.current{background:#f0f9f9;border-color:#2c9ca8}.attendance-session-weeks>section>header,.attendance-session-badges,.attendance-save-bar,.attendance-save-bar>div,.attendance-source-note,.attendance-history summary{gap:var(--space-2);align-items:center;display:flex}.attendance-session-weeks>section>header{justify-content:space-between}.attendance-session-weeks>section>header span,.attendance-session-badges span{color:#245d63;text-transform:uppercase;background:#dff0f1;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:900}.attendance-session-weeks>section>div{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.attendance-session-card{min-height:92px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);color:var(--color-heading);text-align:left;cursor:pointer;background:#fff;border-left:4px solid #829096;gap:.24rem;display:grid}.attendance-session-card.today{background:#f4fbfb;border-left-color:#2c9ca8}.attendance-session-card.future{border-left-color:#d6a14a}.attendance-session-card:hover,.attendance-session-card:focus-visible{outline-offset:1px;border-color:#2c9ca8;outline:2px solid #2c9ca833}.attendance-session-card span,.attendance-session-card small,.attendance-source-note span,.attendance-save-bar span,.attendance-history li span{color:var(--color-muted);font-size:.78rem;font-weight:800}.attendance-class-heading{align-items:center}.attendance-session-badges{flex-wrap:wrap;justify-content:flex-end}.attendance-source-note{padding:var(--space-3);border-radius:calc(var(--radius-md) - 2px);color:#174f56;background:#edf8f8;border:1px solid #c5dde0;align-items:flex-start}.attendance-source-note span{text-align:right;margin-left:auto}.attendance-roster-table{min-width:520px}.attendance-roster-table th:last-child,.attendance-status-cell{width:210px}.attendance-status-select{border-radius:calc(var(--radius-md) - 2px);width:100%;min-height:44px;color:var(--color-heading);font:inherit;background:#fff;border:1px solid #9aa8ad;padding:.65rem 2rem .65rem .75rem;font-weight:900}.attendance-status-select.unmarked{background:#fff8e8;border-color:#b07a1e}.attendance-status-select.present{background:#ecf8f1;border-color:#2f8f62}.attendance-status-select.absent{background:#fff0f0;border-color:#b64b4b}.attendance-status-select.late,.attendance-status-select.sitting-out{background:#f5f0fb;border-color:#7d62ad}.attendance-pending-student{color:#7a4e00;background:#fff4d8;border-radius:6px;padding:.4rem .55rem;font-size:.76rem;font-weight:900;display:inline-block}.attendance-correction-reason{gap:var(--space-2);color:var(--color-heading);font-weight:900;display:grid}.attendance-correction-reason textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);font:inherit;resize:vertical;background:#fff;padding:.72rem .85rem}.attendance-save-bar{padding:var(--space-3);border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);background:#f8fafa;justify-content:space-between}.attendance-save-bar>div:first-child{flex-direction:column;align-items:flex-start}.attendance-save-bar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.attendance-save-message{border-radius:calc(var(--radius-md) - 2px);color:#245d63;background:#edf8f8;margin:0;padding:.7rem .85rem;font-weight:900}.attendance-save-message.dirty,.attendance-save-message.conflict{color:#7a4e00;background:#fff4d8}.attendance-save-message.error{color:#8a3030;background:#fff0f0}.attendance-loading,.attendance-load-error{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;background:#f8fafa;font-weight:900}.attendance-load-error{justify-items:center;gap:var(--space-3);display:grid}.attendance-load-error p{margin:0}.attendance-history{padding:var(--space-3);border:1px solid var(--color-border);border-radius:calc(var(--radius-md) - 2px);background:#fafbfb}.attendance-history summary{color:var(--color-heading);cursor:pointer;font-weight:900}.attendance-history ol{gap:var(--space-2);margin:var(--space-3) 0 0;padding-left:1.3rem;display:grid}.attendance-history li{padding-left:var(--space-1)}.attendance-history li strong,.attendance-history li span{display:block}.attendance-history li p{color:var(--color-muted);margin:.25rem 0 0}@media (width<=720px){.attendance-class-heading,.attendance-save-bar,.attendance-source-note{flex-direction:column;align-items:stretch}.attendance-class-heading{display:flex}.attendance-session-badges,.attendance-save-bar>div:last-child{justify-content:flex-start}.attendance-source-note span{text-align:left;margin-left:0}.attendance-save-bar button{flex:150px;min-height:44px}}.sidebar-nav-body{gap:1rem;display:grid}.sidebar-nav-group{gap:.45rem;display:grid}.sidebar-nav-heading{color:#5d6877;letter-spacing:.12em;text-transform:uppercase;margin:0;padding:0 .55rem;font-size:.68rem;font-weight:800;line-height:1.2}.sidebar-nav-group+.sidebar-nav-group{border-top:1px solid #2d37481a;padding-top:.85rem}.sidebar-mobile-toggle{display:none}@media (width<=980px){.app-shell:not([data-active-portal=teacher]) .sidebar{z-index:40;border-bottom:1px solid #2d374824;border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;padding:.8rem 1rem;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #1b233014}.app-shell:not([data-active-portal=teacher]) .sidebar .brand{min-width:0;margin:0}.app-shell:not([data-active-portal=teacher]) .sidebar .brand h1{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.app-shell:not([data-active-portal=teacher]) .sidebar .brand .eyebrow{display:none}.app-shell:not([data-active-portal=teacher]) .sidebar-mobile-toggle{color:#243042;min-height:2.55rem;font:inherit;background:#fff;border:1px solid #2d374829;border-radius:.75rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.78rem;font-weight:750;display:inline-flex}.app-shell:not([data-active-portal=teacher]) .sidebar-nav-body{grid-column:1/-1;max-height:min(72vh,42rem);padding:.75rem 0 .35rem;overflow:auto}.app-shell:not([data-active-portal=teacher]) .sidebar-nav-body[data-open=false]{display:none}.app-shell:not([data-active-portal=teacher]) .sidebar-nav-body[data-open=true]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.app-shell:not([data-active-portal=teacher]) .sidebar-nav-body .collaboration-card{grid-column:1/-1}}@media (width<=620px){.app-shell:not([data-active-portal=teacher]) .sidebar-nav-body[data-open=true]{grid-template-columns:1fr}}.messaging-view{--messaging-accent:#1b5f67;--messaging-accent-strong:#134c53;--messaging-accent-soft:#e7f3f4;--messaging-danger:#8b3d31;gap:var(--space-4);min-width:0;display:grid}.messaging-view button,.messaging-view input,.messaging-view textarea,.messaging-alert-card button{font:inherit}.messaging-view button,.messaging-alert-card button{cursor:pointer}.messaging-view button:disabled,.messaging-alert-card button:disabled{cursor:not-allowed;opacity:.58}.messaging-feature-header{gap:var(--space-4);padding:var(--space-5);align-items:center;display:flex}.messaging-feature-header h2,.messaging-feature-header p,.messaging-feature-tabs p,.messaging-conversation-toolbar h3,.messaging-conversation-toolbar p,.messaging-library-toolbar h3,.messaging-library-toolbar p,.messaging-monitor-heading h3,.messaging-monitor-heading p{margin:0}.messaging-feature-header>div:nth-child(2){gap:var(--space-2);min-width:0;display:grid}.messaging-feature-header h2{color:var(--color-heading);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.1}.messaging-feature-header>div:nth-child(2)>p:last-child{color:var(--color-muted)}.messaging-feature-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--messaging-accent);background:var(--messaging-accent-soft);flex:none;place-items:center;display:grid}.messaging-feature-tabs{gap:.25rem;padding:.3rem;display:flex;overflow-x:auto}.messaging-feature-tabs button{border-radius:calc(var(--radius-md) - 2px);min-height:42px;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;align-items:center;gap:.45rem;padding:.62rem .9rem;font-size:.85rem;font-weight:850;display:inline-flex}.messaging-feature-tabs button:hover{color:var(--messaging-accent);background:#f3f8f8}.messaging-feature-tabs button.active{color:var(--messaging-accent-strong);background:var(--messaging-accent-soft)}.messaging-inbox-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg);height:max(320px,100dvh - 280px);min-height:0;box-shadow:var(--shadow-soft);background:#fff;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(260px,330px) minmax(0,1fr);display:grid;position:relative;overflow:hidden}.messaging-conversations{border-right:1px solid var(--color-border);background:#fbfcfc;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.messaging-conversation-toolbar{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:#fff;display:grid}.messaging-conversation-toolbar>div{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.messaging-conversation-toolbar>div>div{gap:.15rem;display:grid}.messaging-conversation-toolbar h3{color:var(--color-heading);font-size:1.05rem}.messaging-conversation-toolbar>div>button,.messaging-thread-header>button,.messaging-new-dialog header button{border:1px solid var(--color-border);border-radius:var(--radius-md);width:38px;height:38px;color:var(--messaging-accent);background:#fff;flex:none;place-items:center;display:grid}.messaging-conversation-toolbar>div>button:hover,.messaging-thread-header>button:hover,.messaging-new-dialog header button:hover{background:#f2f9f9;border-color:#8db7bb}.messaging-search-box,.messaging-recipient-combobox,.messaging-monitor-search{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;color:var(--color-muted);background:#fff;align-items:center;gap:.5rem;padding:.58rem .68rem;display:flex}.messaging-search-box:focus-within,.messaging-recipient-combobox:focus-within,.messaging-monitor-search:focus-within{border-color:#5a979d;box-shadow:0 0 0 3px #5a979d24}.messaging-search-box input,.messaging-recipient-combobox input,.messaging-monitor-search input{width:100%;min-width:0;color:var(--color-heading);background:0 0;border:0;outline:0}.messaging-conversation-list{min-height:0;overflow-y:auto}.messaging-archive-section{background:#f8fbfb;border-bottom:1px solid #dce7e6}.messaging-archive-toggle{width:100%;padding:.7rem var(--space-3);color:var(--color-heading);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;display:grid}.messaging-archive-toggle:hover{background:#eef6f6}.messaging-archive-toggle span{font-size:.78rem;font-weight:850}.messaging-archive-toggle small{min-width:22px;height:22px;color:var(--messaging-accent-strong);background:#deeeee;border-radius:999px;place-items:center;padding:0 .34rem;font-size:.66rem;font-weight:850;display:inline-grid}.messaging-archive-toggle>svg:last-child{transition:transform .16s}.messaging-archive-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.messaging-archived-list{background:#fbfdfd;border-top:1px solid #e3eceb}.messaging-archived-list>p{padding:.8rem var(--space-3);color:var(--color-muted);margin:0;font-size:.76rem}.messaging-inbox-section-heading{padding:.6rem var(--space-3) .45rem;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;display:flex}.messaging-inbox-section-heading small{font-size:inherit;font-weight:800}.messaging-archive-error{padding:.65rem var(--space-3);color:var(--messaging-danger);background:#fff7f5;border-bottom:1px solid #f1d6d2;margin:0;font-size:.75rem;line-height:1.4}.messaging-conversation-item{border-bottom:1px solid #e8eeee;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.messaging-conversation-row,.messaging-search-result{width:100%;padding:.8rem var(--space-3);color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;display:grid}.messaging-search-result{border-bottom:1px solid #e8eeee}.messaging-conversation-archive{width:38px;color:var(--color-muted);background:0 0;border:0;place-items:center;display:grid}.messaging-conversation-archive:hover{color:var(--messaging-accent-strong);background:#e8f3f3}.messaging-conversation-archive:disabled{cursor:wait;opacity:.5}.messaging-conversation-row:hover,.messaging-search-result:hover{background:#f1f7f7}.messaging-conversation-row.active{box-shadow:inset 3px 0 0 var(--messaging-accent);background:var(--messaging-accent-soft)}.messaging-conversation-row.unread{background:#f2f9f9}.messaging-conversation-row.unread.active{background:#deeff0}.messaging-avatar{width:40px;height:40px;color:var(--messaging-accent-strong);letter-spacing:.02em;background:#edf7f7;border:1px solid #c7dede;border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:900;display:grid}.messaging-avatar.small{width:30px;height:30px;font-size:.65rem}.messaging-conversation-copy{gap:.25rem;min-width:0;display:grid}.messaging-conversation-copy>span{justify-content:space-between;align-items:center;gap:.45rem;min-width:0;display:flex}.messaging-conversation-copy strong,.messaging-search-result strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.messaging-conversation-row.unread strong{font-weight:900}.messaging-conversation-copy small,.messaging-search-result small{color:var(--color-muted);flex:none;font-size:.68rem}.messaging-conversation-copy p,.messaging-search-result p{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;line-height:1.35;overflow:hidden}.messaging-conversation-copy b{color:#fff;background:var(--messaging-accent);border-radius:999px;flex:none;place-items:center;min-width:20px;height:20px;padding:0 .32rem;font-size:.65rem;display:inline-grid}.messaging-search-result>span:last-child{gap:.12rem;min-width:0;display:grid}.messaging-search-result p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.messaging-list-state,.messaging-thread-status,.messaging-thread-empty,.messaging-library-state,.messaging-monitor-state{padding:2.4rem var(--space-4);color:var(--color-muted);text-align:center;justify-items:center;gap:.55rem;display:grid}.messaging-list-state strong,.messaging-thread-status strong,.messaging-thread-empty strong,.messaging-library-state strong,.messaging-monitor-state strong{color:var(--color-heading)}.messaging-list-state p,.messaging-thread-status p,.messaging-thread-empty p,.messaging-library-state p,.messaging-monitor-state p{max-width:450px;margin:0;font-size:.82rem;line-height:1.5}.messaging-list-state button,.messaging-thread-status button,.messaging-thread-empty button,.messaging-library-state button,.messaging-monitor-state button,.messaging-load-more,.messaging-load-older,.messaging-library-more{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--messaging-accent);background:#fff;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .72rem;font-size:.78rem;font-weight:850;display:inline-flex}.messaging-list-state.error,.messaging-thread-status.error,.messaging-library-state.error,.messaging-monitor-state.error{color:var(--messaging-danger)}.messaging-list-state.compact{padding-block:var(--space-4)}.messaging-load-more{width:calc(100% - 1.5rem);margin:.75rem}.messaging-thread{background:#fff;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.messaging-thread-header{min-height:70px;padding:.7rem var(--space-4);border-bottom:1px solid var(--color-border);background:#fff;align-items:center;gap:.7rem;display:flex}.messaging-thread-header>div{gap:.12rem;min-width:0;display:grid}.messaging-thread-header strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-thread-header small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.messaging-thread-archive{border:1px solid var(--color-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-muted);background:#fff;flex:none;place-items:center;margin-left:auto;display:grid}.messaging-thread-archive:hover{color:var(--messaging-accent-strong);background:var(--messaging-accent-soft);border-color:#bdd7d7}.messaging-thread-archive:disabled{cursor:wait;opacity:.55}.messaging-mobile-back{display:none!important}.messaging-thread-empty{grid-row:1/-1;align-content:center}.messaging-thread-empty>span,.messaging-library-state>svg,.messaging-monitor-state>svg{width:50px;height:50px;color:var(--messaging-accent);background:var(--messaging-accent-soft);border-radius:50%;place-items:center;display:grid}.messaging-thread-scroll{min-height:0;padding:var(--space-4);scroll-behavior:smooth;background:linear-gradient(#fafcfceb,#fafcfceb),radial-gradient(circle at 100% 0,#dfeeee 0,#0000 45%);overflow-y:auto}.messaging-load-older{margin:0 auto var(--space-3);display:flex}.messaging-day-divider{margin:var(--space-4) 0;color:var(--color-muted);text-transform:uppercase;align-items:center;font-size:.68rem;font-weight:800;display:flex}.messaging-day-divider:before,.messaging-day-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.messaging-day-divider span{padding:0 var(--space-3)}.messaging-message{align-items:flex-end;gap:.5rem;max-width:94%;margin:.45rem 0;scroll-margin:100px;display:flex}.messaging-message.mine{justify-content:flex-end;margin-left:auto}.messaging-message.highlighted .messaging-message-bubble{box-shadow:0 0 0 4px #e1a8303d}.messaging-message-stack{justify-items:start;gap:.18rem;min-width:0;display:grid}.messaging-message.mine .messaging-message-stack{justify-items:end}.messaging-message-bubble{min-width:120px;max-width:100%;color:var(--color-heading);background:#fff;border:1px solid #dce7e6;border-radius:4px 12px 12px;gap:.4rem;padding:.65rem .8rem;display:grid;box-shadow:0 4px 12px #1723260d}.messaging-message.mine .messaging-message-bubble{color:#123f44;background:#dff0f1;border-color:#a8cfd2;border-radius:12px 4px 12px 12px}.messaging-message-bubble>strong{color:var(--messaging-accent);font-size:.7rem}.messaging-message-bubble>p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.48}.messaging-message-meta{color:var(--color-muted);align-items:center;gap:.25rem;padding:0 .2rem;font-size:.64rem;display:inline-flex}.messaging-retry-message{color:var(--messaging-danger);background:0 0;border:0;align-items:center;gap:.3rem;padding:0;font-size:.68rem;font-weight:850;display:inline-flex}.messaging-message-attachments{gap:.45rem;display:grid}.messaging-composer-shell{padding:.65rem var(--space-3);border-top:1px solid var(--color-border);background:#fff;gap:.42rem;display:grid;position:relative}.messaging-composer{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.messaging-composer-tools{gap:.15rem;display:flex}.messaging-composer-tools button,.messaging-send-button{border-radius:var(--radius-md);width:38px;height:38px;color:var(--messaging-accent);background:0 0;border:0;place-items:center;display:grid}.messaging-composer-tools button:hover{background:var(--messaging-accent-soft)}.messaging-composer>label{display:grid}.messaging-composer textarea{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:40px;max-height:130px;color:var(--color-heading);background:#f9fbfb;outline:0;padding:.58rem .72rem;line-height:1.4}.messaging-composer textarea:focus{background:#fff;border-color:#5a979d;box-shadow:0 0 0 3px #5a979d24}.messaging-send-button{color:#fff;background:var(--messaging-accent)}.messaging-send-button:hover:not(:disabled){background:var(--messaging-accent-strong)}.messaging-composer-shell>small{color:var(--color-muted);padding-left:4.8rem;font-size:.63rem}.messaging-draft-sync{font-weight:750}.messaging-draft-sync.saved{color:#407b60}.messaging-draft-sync.error{color:var(--messaging-danger)}.messaging-composer-error,.messaging-dialog-error{border-radius:var(--radius-md);color:var(--messaging-danger);background:#fff0ed;margin:0;padding:.42rem .58rem;font-size:.72rem}.messaging-pending-attachments{gap:.45rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.messaging-pending-file{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f9fbfb;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;min-width:210px;max-width:290px;padding:.45rem .5rem;display:grid}.messaging-pending-file.failed{background:#fff5f3;border-color:#e4b2aa}.messaging-pending-file>span:nth-child(2){gap:.12rem;min-width:0;display:grid}.messaging-pending-file strong,.messaging-pending-file small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-pending-file strong{color:var(--color-heading);font-size:.7rem}.messaging-pending-file small{color:var(--color-muted);font-size:.62rem}.messaging-pending-file i{background:#dce6e5;border-radius:99px;height:3px;display:block;overflow:hidden}.messaging-pending-file i span{border-radius:inherit;background:var(--messaging-accent);height:100%;transition:width .16s;display:block}.messaging-pending-file>button{width:24px;height:24px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.messaging-pending-file>button:hover{color:var(--messaging-danger);background:#f1e6e4}.messaging-link-editor{right:var(--space-3);z-index:5;width:min(430px,100% - 1.5rem);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;gap:.7rem;display:grid;position:absolute;bottom:calc(100% + .35rem);box-shadow:0 16px 40px #17232629}.messaging-link-editor label{color:var(--color-heading);gap:.3rem;font-size:.72rem;font-weight:850;display:grid}.messaging-link-editor input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-heading);padding:.56rem .65rem}.messaging-link-editor>p{color:var(--messaging-danger);margin:0;font-size:.7rem}.messaging-link-editor>div{justify-content:flex-end;gap:.5rem;display:flex}.messaging-link-editor>div button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff;padding:.45rem .7rem;font-size:.75rem;font-weight:800}.messaging-link-editor>div button:last-child{border-color:var(--messaging-accent);color:#fff;background:var(--messaging-accent)}.messaging-dialog-backdrop{z-index:20;padding:min(12vh, 100px) var(--space-4) var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17232675;place-items:start center;display:grid;position:absolute;inset:0}.messaging-new-dialog{gap:var(--space-3);width:min(530px,100%);max-height:min(580px,80vh);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;grid-template-rows:auto auto auto minmax(0,1fr);display:grid;box-shadow:0 24px 70px #17232640}.messaging-new-dialog header{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.messaging-new-dialog header>div{gap:.15rem;display:grid}.messaging-new-dialog h3,.messaging-new-dialog p{margin:0}.messaging-user-results{border-top:1px solid var(--color-border);min-height:120px;overflow-y:auto}.messaging-user-results>button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf1f1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.7rem .25rem;display:grid}.messaging-user-results>button:hover{background:#f3f8f8}.messaging-user-results>button>span:last-child{gap:.15rem;min-width:0;display:grid}.messaging-user-results strong{color:var(--color-heading)}.messaging-user-results small{color:var(--color-muted);font-size:.72rem}.messaging-dialog-prompt{color:var(--color-muted);text-align:center;justify-items:center;gap:.5rem;padding:2rem;display:grid}.messaging-dialog-prompt p{font-size:.82rem}.messaging-attachment-card{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;color:var(--color-text);background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:.75rem;display:grid}.messaging-attachment-card.compact{background:#ffffffb3;min-width:min(360px,56vw);padding:.55rem}.messaging-attachment-type-icon{border-radius:var(--radius-md);width:34px;height:34px;color:var(--messaging-accent);background:var(--messaging-accent-soft);place-items:center;display:grid}.messaging-attachment-audio .messaging-attachment-type-icon{color:#75528a;background:#f2eaf7}.messaging-attachment-link .messaging-attachment-type-icon{color:#77521c;background:#fff4d8}.messaging-attachment-main{gap:.28rem;min-width:0;display:grid}.messaging-attachment-main>strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.messaging-attachment-main>small,.messaging-attachment-context{color:var(--color-muted);font-size:.68rem}.messaging-attachment-main>a{width:fit-content;min-width:0;max-width:100%;color:var(--messaging-accent);align-items:center;gap:.3rem;font-size:.7rem;font-weight:750;text-decoration:none;display:inline-flex}.messaging-attachment-main>a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-attachment-main audio{width:min(100%,360px);height:34px;margin-top:.2rem}.messaging-inline-action{border:1px solid var(--color-border);border-radius:var(--radius-md);width:fit-content;color:var(--messaging-accent);background:#fff;align-items:center;gap:.32rem;padding:.32rem .48rem;font-size:.68rem;font-weight:800;display:inline-flex}.messaging-attachment-context{gap:.1rem;margin-top:.2rem;display:grid}.messaging-attachment-error{color:var(--messaging-danger)!important}.messaging-attachment-actions{gap:.25rem;display:flex}.messaging-attachment-actions button,.messaging-attachment-actions a{border:1px solid var(--color-border);border-radius:var(--radius-md);width:30px;height:30px;color:var(--messaging-accent);background:#fff;place-items:center;padding:0;text-decoration:none;display:grid}.messaging-library,.messaging-monitor{gap:var(--space-4);min-height:520px;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;align-content:start;display:grid}.messaging-library-toolbar{gap:var(--space-4);justify-content:space-between;align-items:end;display:flex}.messaging-library-toolbar>div{gap:.25rem;display:grid}.messaging-library-toolbar h3,.messaging-monitor-heading h3{color:var(--color-heading);font-size:1.15rem}.messaging-library-toolbar>div>p:last-child,.messaging-monitor-heading>div>p:last-child{color:var(--color-muted);font-size:.82rem;line-height:1.5}.messaging-library-toolbar .messaging-search-box{width:min(350px,100%)}.messaging-filter-tabs{gap:.35rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.messaging-filter-tabs button{border:1px solid var(--color-border);color:var(--color-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.38rem;padding:.5rem .68rem;font-size:.74rem;font-weight:800;display:inline-flex}.messaging-filter-tabs button.active{color:var(--messaging-accent);background:var(--messaging-accent-soft);border-color:#8ebabe}.messaging-library-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));display:grid}.messaging-library-more{justify-self:center}.messaging-monitor-heading{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#fff9e8;border:1px solid #d9c580;align-items:flex-start;display:flex}.messaging-monitor-heading>span{border-radius:var(--radius-md);color:#75591e;background:#f8e9b8;flex:none;place-items:center;width:44px;height:44px;display:grid}.messaging-monitor-heading>div{gap:.25rem;display:grid}.messaging-monitor-search{width:min(620px,100%)}.messaging-monitor-results{gap:var(--space-3);display:grid}.messaging-monitor-results>article{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcfc;gap:.55rem;display:grid}.messaging-monitor-results header{gap:var(--space-3);justify-content:space-between;align-items:start;display:flex}.messaging-monitor-results header>div{gap:.12rem;display:grid}.messaging-monitor-results header strong{color:var(--color-heading)}.messaging-monitor-results header small{color:var(--color-muted);font-size:.7rem}.messaging-monitor-results header button,.messaging-monitored-result-badge{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--messaging-accent);background:#fff;align-items:center;gap:.32rem;padding:.35rem .52rem;font-size:.7rem;font-weight:800;display:inline-flex}.messaging-monitored-result-badge{color:#6f511d;white-space:nowrap;background:#fff9e8;border-color:#d9c580}.messaging-monitor-results>article>p{color:var(--color-heading);white-space:pre-wrap;margin:0;font-size:.85rem;line-height:1.5}.messaging-monitor-results .messaging-monitor-sender{color:var(--color-muted);font-size:.7rem;font-weight:800}.messaging-monitor-attachments{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.5rem;display:grid}.messaging-alert-card{padding:var(--space-3);border-radius:var(--radius-lg);color:var(--color-text);box-shadow:var(--shadow-soft);background:#f5fbf8;border:1px solid #b8d8c9;gap:.45rem;display:grid}.messaging-alert-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.messaging-alert-heading p,.messaging-alert-heading h3{margin:0}.messaging-alert-heading h3{color:var(--color-heading);font-size:.9rem}.messaging-alert-icon{color:#235940;background:#dff1e7;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.messaging-unread-badge{color:#fff;background:#1b5f67;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 .35rem;font-size:.68rem;font-weight:900;display:inline-grid}.messaging-alert-row,.messaging-alert-open-all{border-radius:var(--radius-md);width:100%;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.48rem .55rem;display:grid}.messaging-alert-row:hover,.messaging-alert-open-all:hover{background:#e7f4ed}.messaging-alert-row>span{gap:.1rem;min-width:0;display:grid}.messaging-alert-row strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.messaging-alert-row small{color:var(--color-muted);font-size:.65rem}.messaging-alert-open-all{color:#235940;border-top:1px solid #d7e8df;border-radius:0;justify-content:space-between;font-size:.74rem;font-weight:850;display:flex}.messaging-alert-error{color:var(--messaging-danger,#8b3d31);margin:0;font-size:.72rem}.messaging-spin{animation:.9s linear infinite messaging-spin}@keyframes messaging-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.messaging-spin{animation:none}.messaging-thread-scroll{scroll-behavior:auto}}@media (width<=900px){.messaging-feature-header{flex-wrap:wrap;align-items:flex-start}.messaging-inbox-shell{grid-template-columns:minmax(240px,290px) minmax(0,1fr)}.messaging-library-toolbar{flex-direction:column;align-items:stretch}.messaging-library-toolbar .messaging-search-box{width:100%}}@media (width<=720px){.messaging-feature-header{padding:var(--space-4)}.messaging-feature-icon{width:44px;height:44px}.messaging-feature-header>div:nth-child(2){flex:1}.messaging-inbox-shell{height:max(280px,100dvh - 220px);display:block}.messaging-conversations,.messaging-thread{height:100%}.messaging-conversations{border-right:0}.messaging-inbox-shell .messaging-thread,.messaging-inbox-shell.has-active-thread .messaging-conversations{display:none}.messaging-inbox-shell.has-active-thread .messaging-thread{display:grid}.messaging-mobile-back{display:grid!important}.messaging-message-bubble{min-width:80px}.messaging-attachment-card.compact{min-width:min(300px,68vw)}.messaging-composer-tools{gap:0}.messaging-composer-tools button,.messaging-send-button{width:34px}.messaging-composer-shell>small{display:none}.messaging-library,.messaging-monitor,.messaging-monitor-heading{padding:var(--space-3)}.messaging-dialog-backdrop{padding:var(--space-3);position:fixed}.messaging-new-dialog{max-height:calc(100vh - 1.5rem)}}@media (width<=480px){.messaging-feature-header h2{font-size:1.35rem}.messaging-feature-tabs button{flex:1 0 auto;justify-content:center;padding-inline:.65rem}.messaging-thread-scroll{padding:var(--space-3) .65rem}.messaging-composer-shell{padding-inline:.5rem}.messaging-composer{gap:.15rem}.messaging-message:not(.mine) .messaging-avatar{display:none}.messaging-attachment-card.compact{min-width:min(270px,74vw)}.messaging-pending-file{min-width:190px}}.schedule-sync-status{color:#172033;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block:.75rem;padding:.75rem 1rem;display:flex}.schedule-sync-status small{color:#475569}.schedule-sync-attention{background:#fff1f2;border:2px solid #be123c}.schedule-sync-dialog{color:#172033;background:#fff;border:3px solid #b91c1c;border-radius:1rem;width:min(58rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:0}.schedule-sync-dialog::backdrop{background:#0f172aaa}.schedule-sync-dialog header{color:#fff;background:#b91c1c;padding:1.5rem}.schedule-sync-dialog header h2{color:#fff;margin:0 0 .5rem}.schedule-sync-dialog header p{margin:0}.schedule-sync-toolbar,.schedule-sync-choices{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.schedule-sync-list{padding:0 1rem 1rem}.schedule-sync-list article{border:1px solid #cbd5e1;border-radius:.75rem;margin-block:1rem;padding:1rem}.schedule-sync-list h3{margin-top:0}.schedule-sync-comparison{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.schedule-sync-version{overflow-wrap:anywhere;background:#f1f5f9;border-radius:.5rem;padding:.75rem}.schedule-sync-version h4{margin:0 0 .5rem}.schedule-sync-version p{margin:.4rem 0}.schedule-sync-confirm{z-index:1;background:#fff7ed;border:2px solid #c2410c;margin:1rem;padding:1rem;position:sticky;top:0}.schedule-sync-confirm button{margin-right:.75rem}.schedule-sync-dialog>[role=alert]{color:#b91c1c;padding:1rem}@media (width<=620px){.schedule-sync-comparison{grid-template-columns:1fr}.schedule-sync-choices{flex-wrap:wrap;padding-inline:0}}.help-me-launch{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:76;color:#fff;min-height:3rem;font:inherit;cursor:pointer;background:linear-gradient(135deg,#175f67,#287f79);border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.72rem 1rem;font-size:.88rem;font-weight:900;display:inline-flex;position:fixed;box-shadow:0 14px 36px #0d454a4d}.help-me-launch:hover{transform:translateY(-1px);box-shadow:0 17px 40px #0d454a5c}.help-me-launch:focus-visible,.help-me-drawer button:focus-visible,.help-me-drawer textarea:focus-visible,.help-me-spotlight-card button:focus-visible{outline-offset:2px;outline:3px solid #f2bd55}.help-me-layer{z-index:110;position:fixed;inset:0}.help-me-scrim{cursor:default;background:#0d1c226b;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.help-me-drawer{color:#27343a;background:#f8fbfa;border:1px solid #ffffff7a;border-radius:1.35rem;grid-template-rows:auto minmax(0,1fr);width:min(440px,100vw - 1.5rem);display:grid;position:absolute;top:.75rem;bottom:.75rem;right:.75rem;overflow:hidden;box-shadow:0 28px 80px #04222657}.help-me-header{color:#fff;background:linear-gradient(135deg,#15555f,#277d78);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem 1.05rem;display:grid}.help-me-heading-mark{background:#ffffff1f;border:1px solid #ffffff38;border-radius:.8rem;place-items:center;width:2.45rem;height:2.45rem;display:grid}.help-me-header p,.help-me-header h2{margin:0}.help-me-header p{color:#ffffffc2;letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:850}.help-me-header h2{color:#fff;margin-top:.12rem;font-size:1.05rem;line-height:1.25}.help-me-header>button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:.72rem;place-items:center;width:2.4rem;height:2.4rem;padding:0;display:grid}.help-me-body{overscroll-behavior:contain;padding:1rem;overflow-y:auto}.help-me-question-form{gap:.42rem;display:grid}.help-me-question-form>label{color:#28484b;font-size:.78rem;font-weight:900}.help-me-question-form>div{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.help-me-question-form textarea,.help-me-feedback textarea{color:#23353a;width:100%;min-height:4.55rem;font:inherit;resize:vertical;background:#fff;border:1px solid #bed2cf;border-radius:.85rem;padding:.78rem .85rem;font-size:.9rem;line-height:1.4}.help-me-question-form>div>button{color:#fff;cursor:pointer;background:#1b676b;border:0;border-radius:.82rem;place-items:center;width:2.9rem;height:2.9rem;padding:0;display:grid}.help-me-question-form button:disabled{cursor:wait;opacity:.5}.help-me-question-form small{color:#58686b;font-size:.69rem}.help-me-new-question{color:#275d5f;min-height:2.5rem;font:inherit;text-underline-offset:.15rem;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.35rem 0;font-size:.78rem;font-weight:750;text-decoration:underline}.help-me-suggestions{margin-top:1.25rem}.help-me-suggestions>p{color:#607174;margin:0 0 .55rem;font-size:.76rem;font-weight:800}.help-me-suggestions>div,.help-me-clarify>div{gap:.48rem;display:grid}.help-me-suggestions button,.help-me-clarify button{color:#2b4e52;min-height:2.8rem;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1dfdc;border-radius:.78rem;justify-content:space-between;align-items:center;gap:.55rem;padding:.68rem .78rem;font-size:.82rem;font-weight:800;display:flex}.help-me-suggestions button:hover,.help-me-clarify button:hover{background:#f1f8f6;border-color:#83aaa5}.help-me-loading,.help-me-error,.help-me-clarify{border-radius:.85rem;margin-top:1rem;padding:.85rem}.help-me-loading{color:#36636a;background:#eaf5f3;align-items:center;gap:.6rem;font-size:.82rem;font-weight:800;display:flex}.help-me-spin{animation:.9s linear infinite help-me-spin}@keyframes help-me-spin{to{transform:rotate(360deg)}}.help-me-error{color:#713f32;background:#fff5f1;border:1px solid #e5c3b8}.help-me-error strong,.help-me-error p{margin:0}.help-me-error p{margin-top:.3rem;font-size:.82rem;line-height:1.45}.help-me-error button{color:#713f32;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9907e;border-radius:.6rem;margin-top:.65rem;padding:.48rem .68rem;font-size:.76rem;font-weight:850}.help-me-no-match{color:#66551b;background:#fffbea;border-color:#d9cc99}.help-me-fallback-note{color:#66551b;background:#fffbea;border:1px solid #d9cc99;border-radius:.65rem;margin:1rem 0 0;padding:.7rem .85rem;font-size:.82rem;line-height:1.45}.help-me-clarify{background:#eef7f5;border:1px solid #c9dad7}.help-me-clarify h3{color:#284b50;margin:0 0 .68rem;font-size:.95rem}.help-me-answer{background:#fff;border:1px solid #c6d9d5;border-radius:1rem;margin-top:1rem;overflow:hidden;box-shadow:0 8px 24px #1b4a4d14}.help-me-answer>header{padding:.85rem .9rem 0}.help-me-answer>header span{color:#38706e;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.help-me-answer>header h3{color:#234349;margin:.18rem 0 0;font-size:1.05rem;line-height:1.3}.help-me-answer-summary{color:#4c5e61;margin:0;padding:.65rem .9rem .8rem;font-size:.88rem;line-height:1.5}.help-me-answer ol{gap:0;margin:0;padding:0 .9rem;list-style:none;display:grid}.help-me-answer ol li{border-top:1px solid #e5edeb;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;padding:.65rem 0;display:grid}.help-me-answer ol li>span{color:#fff;background:#377c78;border-radius:999px;place-items:center;width:1.7rem;height:1.7rem;font-size:.76rem;font-weight:900;display:grid}.help-me-answer ol li p{color:#35494d;margin:.15rem 0 0;font-size:.84rem;line-height:1.45}.help-me-watch-for{color:#67571e;background:#fffbea;border:1px solid #e6d7a8;border-radius:.72rem;margin:.75rem .9rem 0;padding:.65rem .72rem;font-size:.78rem}.help-me-watch-for summary{cursor:pointer;font-weight:900}.help-me-watch-for ul{gap:.45rem;margin:.6rem 0 0;padding-left:1.1rem;line-height:1.4;display:grid}.help-me-answer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.85rem .9rem;display:grid}.help-me-answer-actions:has(>:only-child){grid-template-columns:1fr}.help-me-answer-actions button{min-height:2.7rem;font:inherit;cursor:pointer;border-radius:.72rem;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .68rem;font-size:.78rem;font-weight:900;display:inline-flex}.help-me-primary-action{color:#fff;background:#246b6b;border:1px solid #246b6b}.help-me-secondary-action{color:#275d5f;background:#f1f8f6;border:1px solid #7ea9a5}.help-me-action-message{color:#7b4b32;margin:0 .9rem .8rem;font-size:.78rem;font-weight:750}.help-me-feedback{background:#f6f9f8;border-top:1px solid #e0eae8;padding:.75rem .9rem}.help-me-feedback>button{color:#6b5851;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-size:.74rem;font-weight:800;display:inline-flex}.help-me-feedback form{gap:.48rem;display:grid}.help-me-feedback label{color:#465a5d;font-size:.76rem;font-weight:850}.help-me-feedback label span{color:#7b898b;font-weight:650}.help-me-feedback textarea{min-height:4.2rem;font-size:.8rem}.help-me-feedback form>small{color:#687779;font-size:.72rem;line-height:1.35}.help-me-feedback form>div{justify-content:flex-end;gap:.45rem;display:flex}.help-me-feedback form button{color:#36575a;font:inherit;cursor:pointer;background:#fff;border:1px solid #b8cac7;border-radius:.58rem;padding:.48rem .68rem;font-size:.74rem;font-weight:850}.help-me-feedback form button[type=submit]{color:#fff;background:#a46757;border-color:#a46757}.help-me-feedback>p{color:#32685b;margin:0;font-size:.78rem;font-weight:800}.help-me-feedback>.help-me-feedback-unavailable{color:#687779;font-weight:700}.help-me-spotlight-layer{z-index:120;pointer-events:none;position:fixed;inset:0}.help-me-spotlight-ring{border:3px solid #f2bd55;border-radius:.75rem;transition:inset .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 9999px #0a191f94,0 0 0 5px #f2bd5547}.help-me-spotlight-card{color:#4f4012;pointer-events:auto;background:#fff9df;border:1px solid #e5c365;border-radius:.78rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.55rem;width:min(264px,100vw - 24px);padding:.72rem;font-size:.8rem;font-weight:800;line-height:1.4;display:grid;position:fixed;box-shadow:0 12px 34px #141b1938}.help-me-spotlight-card button{color:#5b4915;cursor:pointer;background:#f5e9b8;border:0;border-radius:.45rem;place-items:center;width:1.8rem;height:1.8rem;padding:0;display:grid}@media (width<=767px),(width<=932px) and (height<=500px) and (pointer:coarse){.app-shell[data-active-portal=teacher] .help-me-launch{bottom:calc(5rem + env(safe-area-inset-bottom))}}@media (width<=620px){.help-me-launch{min-height:2.85rem;padding:.65rem .85rem}.help-me-drawer{border-radius:1.2rem 1.2rem 0 0;width:100%;height:min(88dvh,760px);inset:auto 0 0}.help-me-body{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.help-me-launch:hover{transform:none}.help-me-spin{animation-duration:1.8s}.help-me-spotlight-ring{transition:none}}
