.chopp-page{--chopp-cream: #fff8e8;--chopp-muted: #baaf9b;min-height:100vh;display:grid;place-items:center;padding:24px;color:var(--chopp-cream);background:radial-gradient(circle at 50% 15%,rgba(255,184,51,.18),transparent 32rem),linear-gradient(145deg,#21180d,#100e0b);font-family:Inter,ui-rounded,Segoe UI,system-ui,sans-serif}.chopp-card{width:min(100%,1080px);text-align:center}.chopp-personal-card{width:min(100%,500px)}.chopp-personal-fields{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin-bottom:1rem}.chopp-type-summary{display:flex;justify-content:center;gap:10px;margin:0 0 12px}.chopp-type-summary span{border:1px solid #5e5548;border-radius:999px;padding:7px 12px;color:var(--chopp-muted);background:#29231b}.chopp-type-summary strong{margin-left:5px;color:#ffbf3f}.chopp-order-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px auto 28px}.chopp-order-type{display:grid;min-width:0;gap:10px;justify-items:center}.chopp-undo-type{min-height:44px;border:1px solid #6a5a42;border-radius:12px;padding:0 10px;color:var(--chopp-cream);background:#29231b;font-weight:750;cursor:pointer}.chopp-undo-type:disabled{opacity:.35;cursor:not-allowed}.chopp-personal-fields .chopp-price-field{width:100%;margin-bottom:0}.chopp-name-field input{min-height:48px;width:100%;border:1px solid #6a5a42;border-radius:14px;padding:0 14px;color:var(--chopp-cream);background:#29231b;font:inherit}.chopp-card>header{min-height:0;padding:0;display:block;background:transparent;border:0}.chopp-card h1{margin:6px 0 8px;color:var(--chopp-cream);font-size:clamp(2.2rem,9vw,3.8rem);line-height:.95;letter-spacing:-.055em}.chopp-eyebrow{margin:0;color:#ffbe3b;font-size:.78rem;font-weight:800;letter-spacing:.18em}.chopp-instruction,.chopp-card footer{color:var(--chopp-muted)}.chopp-instruction{margin:0 0 .75rem}.chopp-price-field{width:min(100%,250px);margin:0 auto 1rem;display:grid;gap:6px;color:var(--chopp-cream);font-size:.9rem;font-weight:750;text-align:left}.chopp-price-input{min-height:48px;display:flex;align-items:center;gap:8px;border:1px solid #6a5a42;border-radius:14px;padding:0 14px;color:#ffbf3f;background:#29231b;font-size:1.05rem}.chopp-price-input input{min-width:0;width:100%;border:0;outline:0;color:var(--chopp-cream);background:transparent;font:inherit}.chopp-grand-total{margin:0 0 1.5rem;color:var(--chopp-muted);font-size:1.05rem}.chopp-grand-total strong{color:#ffbf3f}.chopp-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.chopp-person{border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:22px 18px 18px;background:#ffffff0b}.chopp-person h2{margin:0;color:var(--chopp-cream);font-size:1.5rem}.chopp-person-value{margin:-4px 0 12px;color:#ffbf3f;font-size:1.2rem;font-weight:850}.chopp-total{margin:20px auto 14px;display:flex;align-items:baseline;justify-content:center;gap:10px}.chopp-total strong{min-width:1.2em;color:#ffbf3f;font-size:clamp(3.5rem,8vw,5.5rem);line-height:.8;font-variant-numeric:tabular-nums}.chopp-total>span:last-child{font-size:1.25rem;font-weight:700}.chopp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.chopp-glass-button{width:min(100%,180px);aspect-ratio:1;margin:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;color:#241706;background:linear-gradient(145deg,#ffd56f,#f1a916);box-shadow:0 22px 60px #de8b0040,inset 0 1px #ffffffa6;cursor:pointer;touch-action:manipulation;transition:transform .12s ease,filter .12s ease}.chopp-normal-button{background:linear-gradient(145deg,#ffd56f,#e9870b)}.chopp-extras{margin:24px 0;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;text-align:left}.chopp-extras h3{margin:0 0 12px;color:var(--chopp-cream)}.chopp-extra-form{display:grid;grid-template-columns:1.5fr 1fr .65fr auto;align-items:end;gap:10px}.chopp-extra-form label{display:grid;gap:6px;color:var(--chopp-muted);font-size:.85rem;font-weight:700}.chopp-extra-form label>input,.chopp-service-field input{min-height:48px;width:100%;border:1px solid #6a5a42;border-radius:14px;padding:0 14px;color:var(--chopp-cream);background:#29231b;font:inherit}.chopp-extra-form>button{min-height:48px;border:0;border-radius:14px;padding:0 15px;color:#241706;background:#ffbf3f;font-weight:800;cursor:pointer}.chopp-extra-form>button:disabled{opacity:.4;cursor:not-allowed}.chopp-extra-list{margin:14px 0 0;padding:0;list-style:none}.chopp-extra-list li{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding:10px 2px}.chopp-extra-list li small{color:var(--chopp-muted);white-space:nowrap}.chopp-extra-list li strong{color:#ffbf3f}.chopp-extra-list .chopp-fixed-item{border-radius:12px;padding-inline:10px;background:#ffbf3f0f}.chopp-fixed-item>span:first-child{font-weight:750}.chopp-extra-list li button{width:36px;height:36px;border:1px solid #78423a;border-radius:10px;color:#ffc9bf;background:#3a211d;cursor:pointer}.chopp-empty-extra{margin:12px 0 0;color:var(--chopp-muted)}.chopp-bill{display:grid;grid-template-columns:130px 1fr;gap:18px;margin:20px 0;border:1px solid rgba(255,191,63,.28);border-radius:18px;padding:16px;background:#ffbf3f0f;text-align:left}.chopp-service-field{display:grid;gap:6px;color:var(--chopp-muted);font-size:.85rem;font-weight:700}.chopp-bill dl{margin:0}.chopp-bill dl div{display:flex;justify-content:space-between;gap:15px;padding:3px 0}.chopp-bill dd{margin:0;font-weight:750}.chopp-bill-total{margin-top:5px;border-top:1px solid rgba(255,255,255,.14);padding-top:9px!important;color:#ffbf3f;font-size:1.12rem;font-weight:850}.chopp-happy-button{background:linear-gradient(145deg,#fff1a8,#f4bc28)}.chopp-glass-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.chopp-glass-button:active{transform:scale(.96)}.chopp-glass-button svg{width:57%;height:57%;overflow:visible}.chopp-glass-button span{font-size:1.12rem;font-weight:900}.chopp-foam{fill:#fff9df;stroke:#33220b;stroke-width:7;stroke-linejoin:round}.chopp-beer{fill:#e9870b}.chopp-outline,.chopp-handle{fill:none;stroke:#33220b;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.chopp-shine{fill:none;stroke:#ffffff9e;stroke-width:10;stroke-linecap:round}.chopp-actions,.chopp-dialog-actions{display:flex;justify-content:center;gap:12px}.chopp-actions button,.chopp-dialog-actions button{min-height:48px;border:1px solid #5e5548;border-radius:14px;padding:0 18px;color:var(--chopp-cream);background:#29231b;font-weight:750;cursor:pointer}.chopp-actions .chopp-danger,.chopp-dialog-actions .chopp-danger{border-color:#78423a;color:#ffc9bf;background:#3a211d}.chopp-actions button:disabled{opacity:.35;cursor:not-allowed}.chopp-card footer{min-height:24px;margin-top:20px;font-size:.9rem}.chopp-dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#0a0805c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chopp-dialog{width:min(100%,390px);border:1px solid #564a38;border-radius:20px;padding:26px;color:var(--chopp-cream);background:#211c16;box-shadow:0 24px 80px #0000008c}.chopp-dialog h2{margin-top:0}.chopp-dialog p{margin-bottom:24px;color:#c7bcaa}@media(max-width:430px){.chopp-page{padding:18px}.chopp-actions{flex-direction:column}.chopp-actions button{width:100%}.chopp-personal-fields{grid-template-columns:1fr}.chopp-order-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chopp-glass-button{width:min(100%,155px)}.chopp-glass-button span{font-size:.9rem}.chopp-undo-type{width:100%;min-height:42px;padding:0 6px;font-size:.78rem}.chopp-extra-form,.chopp-bill{grid-template-columns:1fr}}@media(max-width:820px){.chopp-people{grid-template-columns:1fr}.chopp-card{width:min(100%,460px)}}@media(prefers-reduced-motion:reduce){.chopp-glass-button{transition:none}}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17322b;background:#edf5f1;font-synthesis:none}.deployments-page{padding:2.4rem 0 5rem}.deployment-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.deployment-card,.deployment-log-panel{background:#fff;border:1px solid #d7e4df;border-radius:1rem;box-shadow:0 8px 24px #082d250d}.deployment-summary{margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid #dce7e2;border-radius:14px}.deployment-summary strong{display:block;margin-bottom:.3rem}.deployment-summary p{margin:0}.deployment-summary-safe{border-color:#a7dcc5;background:#effaf5;color:#12613f}.deployment-summary-warning{border-color:#efd29b;background:#fff8e8;color:#80540c}.academic-calendar-manager{margin-top:1.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:18px;background:#f8fbf9}.calendar-manager-heading,.calendar-workflow-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.calendar-manager-heading h3,.calendar-manager-heading p{margin:.25rem 0 0}.calendar-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.calendar-summary-grid article{padding:.85rem;border:1px solid var(--border);border-radius:12px;background:#fff}.calendar-summary-grid span,.calendar-summary-grid strong{display:block}.calendar-summary-grid span{color:var(--muted);font-size:.75rem}.calendar-validation{margin-bottom:1rem}.calendar-validation p{margin:.35rem 0;padding:.65rem .8rem;border-radius:9px}.calendar-validation-error{color:#8b2d2d;background:#fff0f0}.calendar-validation-warning{color:#80540c;background:#fff8e8}.calendar-validation-success{color:#12613f;background:#effaf5}.calendar-template-form,.calendar-configuration-form,.calendar-event-form{display:grid;gap:.75rem;padding:1rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:14px;background:#fff}.calendar-configuration-form{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-template-form{grid-template-columns:minmax(260px,1fr) auto;align-items:end}.calendar-event-form{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-event-form label span,.calendar-configuration-form label span,.calendar-template-form label span{display:block;margin-bottom:.3rem}.calendar-event-form label>.context-help-label,.calendar-configuration-form label>.context-help-label,.calendar-template-form label>.context-help-label,.calendar-summary-grid .context-help-label{display:inline-flex;align-items:center;gap:.35rem}.calendar-event-form input,.calendar-event-form select,.calendar-event-form textarea,.calendar-configuration-form input,.calendar-configuration-form select,.calendar-template-form select{width:100%}.calendar-event-form .calendar-description{grid-column:span 3}.calendar-event-form .checkbox-field{display:flex;align-items:center;gap:.5rem}.calendar-event-form .checkbox-field input{width:auto}.calendar-months{display:grid;gap:1rem}.calendar-view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.25rem 0 .8rem}.calendar-view-heading h4,.calendar-view-heading p{margin:0}.calendar-view-heading p{margin-top:.25rem;color:var(--muted)}.calendar-view-switch{display:inline-flex;flex:0 0 auto;gap:.5rem;padding:.3rem;border-radius:.75rem;background:#eaf2ee}.calendar-event-launcher{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface-subtle)}.calendar-event-launcher p{margin:.25rem 0 0;color:var(--muted)}.app-modal-content .calendar-event-form{margin:0;padding:0;border:0;background:transparent}.calendar-workflow-actions button{min-width:12rem}.calendar-sheet-edit{align-self:center;padding:.4rem .65rem;border:1px solid var(--border);border-radius:.55rem;color:#176b4c;background:#f4f9f6;font-size:.7rem;font-weight:800}.calendar-view-switch button{padding:.55rem .75rem;border:0;border-radius:.6rem;color:#50685f;background:transparent;font-weight:750}.calendar-view-switch button.active{color:#fff;background:#176f53}.calendar-sheet-view{display:grid;gap:1rem}.calendar-sheet-month{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.calendar-sheet-month>h4{margin:0;padding:.65rem 1rem;color:#fff;background:#73943a;text-align:center;text-transform:uppercase;letter-spacing:.04em}.calendar-sheet-content{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(24rem,1.25fr)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-content:start;border-right:1px solid var(--border)}.calendar-grid-weekday{padding:.4rem .2rem;color:#31523f;background:#dce8c8;text-align:center;font-size:.7rem;font-weight:850}.calendar-grid-day{position:relative;min-height:3.3rem;padding:.35rem;border-top:1px solid #dfe7e2;border-right:1px solid #dfe7e2;background:#fff}.calendar-grid-day.empty{background:#f7f9f8}.calendar-grid-day.has-events{background:#f2f8ec}.calendar-grid-day.holiday{color:#b92f2f;background:#fff0e2}.calendar-grid-day.recess{background:#eef0f0}.calendar-grid-markers{position:absolute;right:.3rem;bottom:.3rem;display:flex;gap:.18rem}.calendar-marker{width:.38rem;height:.38rem;border-radius:50%;background:#789a59}.calendar-marker-holiday{background:#d64b4b}.calendar-marker-assessment{background:#7658b5}.calendar-marker-enrollment{background:#3184a8}.calendar-marker-recess{background:#6d7773}.calendar-sheet-events{min-width:0}.calendar-sheet-events-heading,.calendar-sheet-event{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.75rem;padding:.55rem .75rem;border-bottom:1px solid var(--border)}.calendar-sheet-events-heading{color:#31523f;background:#eef4e6;font-size:.75rem}.calendar-sheet-event{grid-template-columns:8.5rem minmax(0,1fr) auto;border-left:4px solid #8ba66b}.calendar-sheet-event-holiday{border-left-color:#d64b4b}.calendar-sheet-event-assessment{border-left-color:#7658b5}.calendar-sheet-event-enrollment{border-left-color:#3184a8}.calendar-sheet-event-recess{border-left-color:#6d7773}.calendar-sheet-event small{display:block;margin-top:.15rem;color:var(--muted)}.calendar-sheet-events>p{margin:0;padding:1rem;color:var(--muted)}.calendar-month{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.calendar-month h4{margin:0;padding:.7rem 1rem;color:#fff;background:#577b2d;text-transform:capitalize}.calendar-event{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.7rem 1rem;border-top:1px solid var(--border);border-left:4px solid #8ba66b}.calendar-event-holiday{border-left-color:#d64b4b}.calendar-event-assessment{border-left-color:#7658b5}.calendar-event-enrollment{border-left-color:#3184a8}.calendar-event small{display:block;margin-top:.2rem;color:var(--muted)}.calendar-event-actions>span{padding:.25rem .5rem;border-radius:999px;background:#eef5f0;font-size:.72rem}.calendar-event-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.calendar-event-actions button{padding:.35rem .55rem}.calendar-workflow-actions{justify-content:flex-end;margin-top:1rem}@media(max-width:900px){.calendar-summary-grid,.calendar-configuration-form,.calendar-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-event-form .calendar-description{grid-column:span 2}.calendar-sheet-content{grid-template-columns:1fr}.calendar-grid{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:620px){.calendar-summary-grid,.calendar-configuration-form,.calendar-event-form,.calendar-template-form{grid-template-columns:1fr}.calendar-event-form .calendar-description{grid-column:auto}.calendar-event{grid-template-columns:1fr;gap:.25rem}.calendar-view-heading{align-items:stretch;flex-direction:column}.calendar-view-switch{display:flex;width:100%}.calendar-view-switch button{flex:1}.calendar-event-launcher{align-items:stretch;flex-direction:column}.calendar-event-launcher button,.calendar-workflow-actions button{width:100%}.calendar-grid-day{min-height:2.8rem;padding:.25rem;font-size:.78rem}.calendar-sheet-events-heading{display:none}.calendar-sheet-event{grid-template-columns:1fr;gap:.15rem}}.deployment-card{display:grid;gap:.35rem;padding:1.25rem}.deployment-card span,.deployment-card small{color:#667b74}.deployment-card strong{color:#113c33;font-size:1.55rem}.deployment-result-failure strong{color:#b42318}.deployment-result-success strong{color:#147a56}.deployment-log-panel{margin-top:1rem;padding:1.25rem}.deployment-log-heading{align-items:center;display:flex;justify-content:space-between;gap:1rem}.deployment-log-heading h2,.deployment-log-heading p{margin:0}.deployment-log-heading p{color:#667b74;margin-top:.3rem}.deployment-live-indicator{background:#e7f5ef;border-radius:999px;color:#147a56;font-size:.78rem;font-weight:750;padding:.45rem .7rem}.deployment-log-actions{display:flex;align-items:center;gap:.75rem}.deployment-diagnostic textarea{width:100%;min-height:min(55vh,34rem);padding:1rem;border:1px solid var(--border);border-radius:.75rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.45}.deployment-log-panel pre{background:#082d25;border-radius:.8rem;color:#dff6ec;line-height:1.55;margin:1rem 0 0;max-height:34rem;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}@media(max-width:760px){.deployment-metrics{grid-template-columns:1fr}.deployment-log-heading{align-items:flex-start;flex-direction:column}.deployment-log-actions{align-items:stretch;flex-direction:column;width:100%}.deployment-log-actions button{width:100%}.deployments-page{padding-bottom:6rem}}body.modal-open{overflow:hidden}.app-modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1.5rem;background:#041f1894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:modal-backdrop-in .16s ease-out}.app-modal{display:flex;flex-direction:column;width:min(100%,52rem);max-height:min(90vh,58rem);overflow:hidden;background:#fff;border:1px solid #d5e3dd;border-radius:1.15rem;box-shadow:0 1.5rem 5rem #03231a4d;animation:modal-content-in .18s ease-out}.app-modal-sm{width:min(100%,29rem)}.app-modal-md{width:min(100%,42rem)}.app-modal-lg{width:min(100%,58rem)}.app-modal-xl{width:min(100%,76rem)}.app-modal-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;background:#f8fbf9;border-bottom:1px solid #dde8e3}.app-modal-header h2{margin:0;color:#123b30;font-size:1.25rem}.app-modal-header p{margin:.35rem 0 0;color:#637a72;line-height:1.45}.app-modal-close{display:grid;flex:0 0 auto;place-items:center;width:2.35rem;height:2.35rem;padding:0;color:#315f51;background:#eef5f2;border:1px solid #d5e4de;border-radius:.7rem;font-size:1.45rem;line-height:1}.app-modal-close:hover{color:#fff;background:#176f53}.app-modal-content{min-height:0;padding:1.5rem;overflow:auto;overscroll-behavior:contain}.panel-title-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.system-dialog{display:grid;justify-items:center;gap:1rem;text-align:center}.system-dialog>p{margin:0;color:#425f56;font-size:1rem;line-height:1.55;white-space:pre-line}.system-dialog-symbol{display:grid;place-items:center;width:3.25rem;height:3.25rem;color:#176f53;background:#e2f4ec;border-radius:50%;font-size:1.5rem;font-weight:900}.system-dialog-spinner{width:3.25rem;height:3.25rem;border:.3rem solid #d6ebe3;border-top-color:#176f53;border-radius:50%;animation:system-dialog-spin .8s linear infinite}@keyframes system-dialog-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.system-dialog-spinner{animation-duration:1.8s}}.system-dialog-error .system-dialog-symbol{color:#a33434;background:#fde9e7}.system-dialog-warning .system-dialog-symbol,.system-dialog-confirm .system-dialog-symbol,.system-dialog-prompt .system-dialog-symbol{color:#94610b;background:#fff1cf}.system-dialog-prompt{display:grid;width:100%;gap:.4rem;text-align:left}.system-dialog-prompt span{color:#284d42;font-size:.82rem;font-weight:800}.system-dialog-prompt input{width:100%}.system-dialog-actions{display:flex;justify-content:flex-end;width:100%;gap:.65rem;padding-top:.35rem}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(.75rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:42rem){.app-modal-backdrop{align-items:end;padding:0}.app-modal,.app-modal-sm,.app-modal-md,.app-modal-lg,.app-modal-xl{width:100%;max-height:94dvh;border-right:0;border-bottom:0;border-left:0;border-radius:1.15rem 1.15rem 0 0}.app-modal-header{padding:1rem 1.1rem}.app-modal-content{padding:1.1rem}.app-modal-content form,.app-modal-content .student-form,.app-modal-content .student-edit-form,.app-modal-content .grant-form{grid-template-columns:1fr}.system-dialog-actions>button{flex:1}}@media(prefers-reduced-motion:reduce){.app-modal-backdrop,.app-modal{animation:none}}.classes-page{padding:2.25rem 0 4rem}.operation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.operation-metric,.class-group,.group-board{border:1px solid var(--border);border-radius:1.15rem;background:var(--surface);box-shadow:var(--shadow-soft)}.class-group-heading{margin:0}.class-group-toggle-area{display:flex;align-items:center;gap:.7rem}.class-group-toggle{display:inline-grid;width:2.4rem;height:2.4rem;place-items:center;padding:0;border:1px solid var(--border-strong);border-radius:.7rem;background:#f5faf7;color:var(--primary);cursor:pointer}.class-group-toggle svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.class-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.class-group-toggle:hover,.class-group-toggle:focus-visible{border-color:currentColor;box-shadow:0 0 0 3px #1d866321;outline:none}.class-group-content{padding-top:.25rem}.academic-class-filter{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid #b9d3c8;border-radius:.8rem;background:#f0f8f4}.operation-metric{display:grid;gap:.25rem;padding:1.1rem 1.25rem}.operation-metric span,.class-identity span,.group-card span,.class-capacity span{color:var(--muted);font-size:.78rem}.operation-metric strong{color:var(--ink);font-size:1.65rem}.class-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;padding:1.35rem;border:1px solid var(--border);border-radius:1.15rem;background:var(--surface)}.class-form .section-heading,.class-form-actions{grid-column:1 / -1}.class-form label{display:grid;gap:.45rem;color:var(--ink);font-size:.82rem;font-weight:750}.class-form input,.class-form select{width:100%;min-height:2.9rem;padding:.7rem .85rem;border:1px solid var(--border-strong);border-radius:.75rem;background:#fff;color:var(--ink);font:inherit}.class-form-actions{display:flex;justify-content:flex-end;gap:.75rem}.class-wizard{display:grid;gap:1.25rem}.wizard-step-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.2rem 0 .9rem;border-bottom:1px solid #dce7e2}.wizard-step-heading>div{display:grid;gap:.2rem}.wizard-step-heading>div>span{color:#177c59;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.wizard-step-heading h3{margin:0;color:#173b31;font-size:1.15rem}.wizard-steps{display:flex;gap:.5rem;margin:0;padding:0;list-style:none}.wizard-steps li{display:grid;place-items:center;width:2rem;height:2rem}.wizard-steps li span{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid #d3e1db;border-radius:50%;background:#f8fbf9;color:#657b73;font-size:.75rem;font-weight:800}.wizard-steps li.active span{border-color:#177c59;background:#177c59;color:#fff}.wizard-steps li.completed span{border-color:#9dcdbb;background:#e8f6ef;color:#176f53}.wizard-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.1rem;border:1px solid #dce7e2;border-radius:1rem;background:#f8fbf9}.app-modal-content .wizard-form-grid.modal-form input[readonly]{background:#eef5f2;color:#315f51;cursor:default}.app-modal-content .wizard-form-grid.modal-form label small{color:#657b73;font-size:.72rem;font-weight:500;line-height:1.4}.wizard-date-guidance{grid-column:1 / -1;display:grid;gap:.25rem;padding:.8rem .9rem;border:1px solid #b9d9cc;border-radius:.75rem;background:#edf8f3;color:#315f51;font-size:.82rem;line-height:1.45}.wizard-date-guidance strong{color:#125f45}.wizard-scope{display:grid;grid-template-columns:minmax(14rem,18rem) 1fr;gap:1.25rem;align-items:stretch}.wizard-scope label{display:grid;gap:.45rem;font-weight:750}.wizard-period-scope{display:grid;gap:.65rem}.wizard-scope select{min-height:2.9rem;padding:.7rem .85rem;border:1px solid #bfd1c9;border-radius:.75rem;background:#fff;font:inherit}.wizard-scope select:disabled{background:#eef2f0;color:#6b7d77;cursor:not-allowed}.wizard-all-periods{display:grid!important;grid-template-columns:1.1rem minmax(0,1fr);gap:.65rem!important;align-items:start;padding:.7rem .75rem;border:1px solid #d6e4de;border-radius:.75rem;background:#fff;cursor:pointer}.wizard-all-periods:has(input:checked){border-color:#1d8663;background:#eaf7f1}.wizard-all-periods input{box-sizing:border-box;width:1rem;min-width:1rem;height:1rem;min-height:1rem;margin:.15rem 0 0;accent-color:#177c59}.wizard-all-periods span{display:grid;gap:.15rem}.wizard-all-periods small{color:#657b73;font-size:.7rem;font-weight:500;line-height:1.35}.wizard-components-panel{padding:1rem;border:1px solid #dce7e2;border-radius:1rem;background:#f8fbf9}.wizard-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:.75rem .85rem;border:1px solid #dce7e2;border-radius:.8rem;background:#fff}.wizard-selection-summary>div:first-child{display:grid;gap:.2rem}.wizard-selection-summary span{color:#657b73;font-size:.76rem}.wizard-selection-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.wizard-selection-actions button{min-height:2.35rem;padding:.45rem .7rem;white-space:nowrap}.wizard-component-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;max-height:23rem;overflow:auto;padding:.1rem}.wizard-component-list label{display:grid;grid-template-columns:1.2rem minmax(0,1fr);gap:.75rem;align-items:start;min-width:0;min-height:5.25rem;padding:.9rem;border:1px solid #dce7e2;border-radius:.8rem;background:#fff;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.wizard-component-list label:has(input:checked){border-color:#1d8663;background:#edf8f3;box-shadow:0 0 0 1px #1d866314}.wizard-component-list label.unavailable{background:#f3f5f4;cursor:not-allowed;opacity:.72}.wizard-component-list input{box-sizing:border-box;width:1.05rem;min-width:1.05rem;height:1.05rem;min-height:1.05rem;margin-top:.2rem;accent-color:#177c59}.wizard-component-list>label>span{display:grid;gap:.25rem;min-width:0}.wizard-component-title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:baseline}.wizard-component-title b{color:#176f53;font-size:.76rem;letter-spacing:.02em;white-space:nowrap}.wizard-component-title strong{min-width:0;color:#173b31;line-height:1.35}.wizard-component-list small,.wizard-review span,.wizard-review small{color:#657b73}.wizard-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.wizard-review>div{display:grid;gap:.3rem;padding:1rem;border:1px solid #dce7e2;border-radius:.85rem;background:#f8fbf9}.wizard-review-total{grid-column:1 / -1}.wizard-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #dce7e2}.class-groups,.class-list{display:grid;gap:1rem}.class-group,.group-board{padding:1.35rem}.class-bulk-toolbar{display:grid;grid-template-columns:minmax(10rem,auto) 1fr auto;gap:1rem;align-items:center;margin:1rem 0;padding:.9rem;border:1px solid var(--border);border-radius:.9rem;background:#f5faf7}.class-bulk-summary{display:grid;gap:.2rem}.class-bulk-summary span{color:var(--muted);font-size:.78rem}.class-bulk-selectors,.class-bulk-actions{display:flex;flex-wrap:wrap;gap:.5rem}.class-bulk-toolbar .class-selection-icon{position:relative;display:inline-grid;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;place-items:center;padding:0;border-color:#b9d3c8;background:#fff}.class-selection-icon,.class-bulk-action-icon,.class-legend-icon{--class-icon-color: #176f53;--class-icon-bg: #e9f6f0;--class-icon-border: #a9d4c2}.class-icon-teacher,.class-icon-allocate{--class-icon-color: #155d91;--class-icon-bg: #e8f3fb;--class-icon-border: #9fc9e5}.class-icon-planned{--class-icon-color: #6c49a8;--class-icon-bg: #f1ebfb;--class-icon-border: #c8b5e7}.class-icon-open,.class-icon-openSelected{--class-icon-color: #08788a;--class-icon-bg: #e5f6f8;--class-icon-border: #96d1d9}.class-icon-progress,.class-icon-startSelected{--class-icon-color: #16724d;--class-icon-bg: #e5f5ed;--class-icon-border: #9ed2bc}.class-icon-closed,.class-icon-closeSelected{--class-icon-color: #9a5b08;--class-icon-bg: #fff3d9;--class-icon-border: #e8c47b}.class-icon-historyFree,.class-icon-correctSelected{--class-icon-color: #7853a6;--class-icon-bg: #f2ecf9;--class-icon-border: #cbb7e1}.class-icon-clear,.class-icon-deleteSelected{--class-icon-color: #a33131;--class-icon-bg: #fff0f0;--class-icon-border: #e4abab}.class-bulk-toolbar .class-selection-icon,.class-legend-icon{border-color:var(--class-icon-border);background:var(--class-icon-bg);color:var(--class-icon-color)}.class-selection-icon svg,.class-legend-icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.class-selection-count{position:absolute;top:-.4rem;right:-.4rem;display:grid;min-width:1.25rem;height:1.25rem;place-items:center;padding:0 .25rem;border:2px solid #f5faf7;border-radius:999px;background:var(--primary, #16724d);color:#fff;font-size:.65rem;line-height:1}.class-selection-hint{position:absolute;z-index:30;bottom:calc(100% + .55rem);left:50%;width:max-content;max-width:min(17rem,75vw);padding:.45rem .6rem;border-radius:.45rem;background:#123f32;color:#fff;font-size:.75rem;font-weight:700;line-height:1.3;opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition:opacity .12s ease,transform .12s ease}.class-selection-icon:hover .class-selection-hint,.class-selection-icon:focus-visible .class-selection-hint,.class-bulk-action-icon:not(:disabled):hover .class-selection-hint,.class-bulk-action-icon:not(:disabled):focus-visible .class-selection-hint{opacity:1;transform:translate(-50%)}.class-selection-legend{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding-top:.7rem;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.class-selection-legend-global{margin:-.25rem 0 1.5rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:.85rem;background:#f5faf7}.class-selection-legend>div,.class-selection-legend>div>span{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.class-selection-legend>div{gap:.6rem 1rem}.class-legend-separator{align-self:stretch;width:1px;min-height:1.65rem;background:var(--border)}.class-legend-icon{display:inline-grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid #c9dbd3;border-radius:.45rem;background:var(--class-icon-bg);color:var(--class-icon-color)}.class-legend-icon svg{width:.95rem;height:.95rem}.class-bulk-actions{justify-content:flex-end}.class-bulk-actions .catalog-icon-action,.class-bulk-toolbar .class-bulk-action-icon{flex:0 0 2.5rem;width:2.5rem;min-width:2.5rem;max-width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0}.class-bulk-toolbar button{min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--border-strong);border-radius:.65rem;background:#fff;color:var(--primary);font-weight:750}.class-bulk-toolbar button:disabled{border-color:#dce7e2;background:#f1f5f3;color:#71837d;cursor:not-allowed;opacity:1}.class-bulk-toolbar .class-bulk-action-icon{position:relative;display:inline-grid;place-items:center;border-color:var(--class-icon-border);background:var(--class-icon-bg);color:var(--class-icon-color)}.class-bulk-toolbar .class-bulk-action-primary:not(:disabled):hover,.class-bulk-toolbar .class-bulk-action-primary:not(:disabled):focus-visible{border-color:var(--class-icon-color);background:var(--class-icon-color);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--class-icon-color) 18%,transparent);outline:none}.class-bulk-toolbar .class-bulk-action-icon:disabled{border-color:color-mix(in srgb,var(--class-icon-border) 65%,#d7e1dd);background:color-mix(in srgb,var(--class-icon-bg) 62%,#edf2f0);color:color-mix(in srgb,var(--class-icon-color) 62%,#788a83);opacity:1}.class-bulk-toolbar .class-bulk-action-icon:disabled .class-selection-count{border-color:#f5faf7;background:#60776e;color:#fff}.class-bulk-toolbar .class-bulk-action-danger:not(:disabled){border-color:var(--class-icon-border);background:var(--class-icon-bg);color:var(--class-icon-color)}.class-bulk-action-icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.class-bulk-actions .class-bulk-primary,.class-bulk-actions .class-bulk-primary:hover,.class-bulk-actions .class-bulk-primary:focus-visible{border-color:var(--primary, #16724d);background:var(--primary, #16724d);color:#fff;cursor:pointer;opacity:1}.class-bulk-actions .class-bulk-danger,.class-bulk-actions .class-bulk-danger:hover,.class-bulk-actions .class-bulk-danger:focus-visible{border-color:#e6b7b7;background:#fff1f1;color:#9b3232;cursor:pointer;opacity:1}.allocation-targets{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface-subtle)}.allocation-form{display:grid;gap:1rem}.allocation-targets header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.allocation-targets header div{display:grid;gap:.18rem}.allocation-targets header small{color:var(--muted);font-weight:500}.allocation-targets header>span{display:grid;min-width:2rem;min-height:2rem;place-items:center;border-radius:999px;background:#dff2e9;color:#126548;font-size:.8rem;font-weight:800}.allocation-targets ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:13rem;margin:0;padding:0 .2rem 0 0;list-style:none;overflow:auto}.allocation-targets li{display:grid;gap:.15rem;min-width:0;padding:.7rem .75rem;border:1px solid var(--border);border-radius:.7rem;background:#fff;color:var(--muted);font-size:.82rem}.allocation-targets li strong,.allocation-targets li span{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.allocation-targets li small{color:var(--muted)}.allocation-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(9rem,.8fr);gap:.85rem;align-items:end}.allocation-actions{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.class-row{display:grid;grid-template-columns:2rem 7rem minmax(14rem,1fr) minmax(11rem,14rem) 6rem 7rem 9rem 13rem;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface-subtle)}.class-list-header{display:grid;grid-template-columns:2rem 7rem minmax(14rem,1fr) minmax(11rem,14rem) 6rem 7rem 9rem 13rem;gap:1rem;align-items:center;padding:0 1rem .35rem;color:#64776f;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.class-select{display:grid;place-items:center}.class-select input{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.class-code{color:var(--primary);font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.class-identity,.class-student-count,.class-capacity{display:grid;gap:.2rem}.class-student-count strong{color:var(--primary);font-size:1.05rem}.class-student-count small{color:var(--muted)}.class-teacher-cell,.class-teacher-cell>span{display:grid;gap:.15rem}.class-teacher-cell{gap:.45rem;color:var(--primary);line-height:1.35}.class-teacher-cell small,.class-without-teacher{color:var(--muted);font-size:.78rem}.class-capacity{justify-items:start}.status-badge{width:fit-content;padding:.35rem .65rem;border-radius:999px;background:#eef2f0;color:#4b625b;font-size:.7rem;font-weight:850;white-space:nowrap;text-transform:uppercase}.status-open,.status-in_progress{background:#dcf4e7;color:#087348}.status-closed,.status-cancelled{background:#f5e5e5;color:#9b3232}.class-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.45rem}.class-row-action-icon{position:relative;display:inline-grid;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;place-items:center;padding:0;border:1px solid var(--border-strong);border-radius:.65rem;background:#fff;color:#176f53}.class-row-action-icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.class-row-action-primary{border-color:var(--primary, #16724d);background:var(--primary, #16724d);color:#fff}.class-row-action-icon:not(:disabled):hover,.class-row-action-icon:not(:disabled):focus-visible{border-color:#0f5d3e;box-shadow:0 0 0 3px #16724d24;outline:none}.class-row-action-icon:disabled{color:#71837d;cursor:not-allowed;opacity:.55}.class-row-action-icon:not(:disabled):hover .class-selection-hint,.class-row-action-icon:not(:disabled):focus-visible .class-selection-hint{opacity:1;transform:translate(-50%)}.class-more-actions{position:relative;flex:0 0 auto}.class-more-actions summary{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid #cbdad3;border-radius:.65rem;background:#fff;color:#176f53;font-size:1.25rem;font-weight:850;cursor:pointer;list-style:none}.class-more-actions summary::-webkit-details-marker{display:none}.class-more-actions>div{position:absolute;z-index:5;top:calc(100% + .35rem);right:0;min-width:10rem;padding:.35rem;border:1px solid #d6e3dd;border-radius:.7rem;background:#fff;box-shadow:0 .8rem 2rem #12342b24}.class-more-actions .class-cancel-action,.class-more-actions .class-delete-action,.class-more-actions .class-correct-action{width:100%;padding:.55rem .65rem;border:0;border-radius:.5rem;background:#fff;color:#9b3232;font-weight:750;text-align:left;white-space:nowrap}.class-more-actions .class-cancel-action:hover:not(:disabled),.class-more-actions .class-delete-action:hover:not(:disabled){background:#fff1f1}.class-more-actions .class-delete-action:disabled{color:#9aa6a2;cursor:not-allowed}.class-more-actions .class-correct-action{color:#176f53}.class-more-actions .class-correct-action:hover:not(:disabled){background:#eef8f3}.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.group-card{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface-subtle)}.group-card dl{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;margin:0}.group-card dt{color:var(--muted)}.group-card dd{margin:0;color:var(--ink);font-weight:750}.empty-state{padding:2.5rem 1rem;color:var(--muted);text-align:center}@media(max-width:70rem){.operation-metrics,.class-form,.allocation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.class-bulk-toolbar{grid-template-columns:1fr}.class-bulk-actions{justify-content:flex-start}}@media(max-width:46rem){.wizard-component-list,.wizard-review,.wizard-scope,.wizard-form-grid{grid-template-columns:1fr}.wizard-actions button{flex:1}.wizard-selection-summary{align-items:stretch;flex-direction:column}.wizard-selection-actions{justify-content:stretch}.wizard-selection-actions button{flex:1}}@media(max-width:48rem){.institution-academic-settings{align-items:stretch;flex-direction:column}.institution-academic-settings form{grid-template-columns:1fr}}.enrollments-page{padding:2rem 0 5rem}.enrollment-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.enrollment-page-heading h1{display:flex;align-items:center;gap:.45rem}.enrollment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.5rem 0 1rem}.prerequisite-guide{margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fff}.prerequisite-guide>header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.prerequisite-guide h2,.prerequisite-guide p{margin:0}.prerequisite-guide h2{font-size:1rem}.prerequisite-guide header p,.prerequisite-guide li p{margin-top:.2rem;color:var(--muted);font-size:.82rem}.prerequisite-guide>header>strong{align-self:flex-start;white-space:nowrap;color:#176f53}.prerequisite-guide ol{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.prerequisite-guide li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;border-radius:.75rem;background:#f5f8f7}.prerequisite-guide li.is-missing{background:#fff7e7}.prerequisite-guide li.is-optional{background:#f1f6fb}.prerequisite-state{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:999px;background:#dceee5;color:#176f53;font-weight:850}.is-missing .prerequisite-state{background:#ffe8b5;color:#8a5b00}.is-optional .prerequisite-state{background:#dceaf6;color:#315f83}.prerequisite-status{color:var(--muted);font-size:.76rem;font-weight:750}.enrollment-summary-grid article,.enrollment-card{border:1px solid var(--border);border-radius:16px;background:#fff}.enrollment-summary-grid article{padding:1rem}.enrollment-summary-grid span,.enrollment-summary-grid strong{display:block}.enrollment-summary-grid span{color:var(--muted);font-size:.78rem}.enrollment-summary-grid strong{margin-top:.2rem;font-size:1.5rem}.enrollment-filters{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(10rem,.35fr) auto;align-items:end;gap:.75rem;padding:1rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:14px;background:#f8fbf9}.enrollment-filters label>span,.enrollment-create-form label>span{display:block;margin-bottom:.3rem;font-weight:750}.enrollment-filters input,.enrollment-filters select,.enrollment-create-form select,.enrollment-create-form textarea{width:100%}.enrollment-create-form textarea{min-height:6rem;resize:vertical}.enrollment-list{display:grid;gap:1rem}.enrollment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;overflow:hidden}.enrollment-card>header{grid-column:1;grid-row:1;display:grid;grid-template-columns:auto minmax(13rem,1.25fr) minmax(10rem,1fr) 8rem auto;align-items:center;gap:1rem;padding:.85rem 1rem}.enrollment-card h2{margin:0;font-size:1rem}.enrollment-card p{margin:0;color:var(--muted)}.enrollment-card-identity,.enrollment-card-context,.enrollment-card-period{display:grid;gap:.15rem;min-width:0}.enrollment-card-identity p,.enrollment-card-context span,.enrollment-card-period small{overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.enrollment-archive-action{width:fit-content;margin-top:.2rem;font-size:.75rem}.enrollment-card.is-external-context{border-color:#d8ddd9;background:#fbfcfb}.enrollment-card-context .enrollment-context-badge{display:inline-flex;width:fit-content;max-width:100%;margin-top:.2rem;padding:.18rem .5rem;overflow:visible;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.2;text-overflow:clip}.enrollment-context-badge.is-current{color:#12613f;background:#dff4e8}.enrollment-context-badge.is-external{color:#69540d;background:#fff0bf}.enrollment-institution{font-weight:650}.enrollment-treatment-details{display:contents}.enrollment-treatment-details>summary{grid-column:2;grid-row:1;display:flex;align-items:center;gap:.65rem;min-width:12rem;min-height:100%;padding:.55rem 1rem .55rem .75rem;border-left:1px solid var(--border);background:transparent;cursor:pointer;list-style:none}.enrollment-treatment-details>summary::-webkit-details-marker{display:none}.enrollment-treatment-details>summary>span:nth-child(2){display:grid;gap:.05rem}.enrollment-treatment-details>summary small{color:var(--muted);font-size:.72rem}.enrollment-treatment-icon{display:inline-grid;width:1.75rem;height:1.75rem;flex:0 0 1.75rem;place-items:center;border-radius:50%;font-weight:900}.enrollment-treatment-icon.is-ready{color:#12613f;background:#dff4e8}.enrollment-treatment-icon.has-pending{color:#80540c;background:#ffeab0}.enrollment-treatment-chevron{margin-left:auto;transition:transform .16s ease}.enrollment-treatment-details[open] .enrollment-treatment-chevron{transform:rotate(180deg)}.enrollment-treatment-panel{grid-column:1 / -1;padding:.9rem 1rem 1rem;border-top:1px solid var(--border)}.enrollment-treatment-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 .75rem}.enrollment-treatment-panel dl>div{padding:.7rem;border-radius:10px;background:#f4f8f6}.enrollment-card dt{color:var(--muted);font-size:.72rem}.enrollment-card dd{margin:.2rem 0 0}.enrollment-class-list{display:grid;gap:.4rem}.enrollment-class-list>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .55rem;border-radius:.75rem;background:#eaf4ef}.enrollment-class-list>div.is-cancelled{opacity:.68;background:#f1f3f2}.enrollment-readiness{margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface-muted)}.enrollment-readiness.is-ready{border-color:#b9dec9;background:#f0faf4}.enrollment-readiness.has-pending{border-color:#ead59c;background:#fffaf0}.enrollment-readiness>div{display:flex;align-items:center;gap:.4rem}.enrollment-readiness p{margin:.35rem 0 0}.enrollment-readiness ul{display:grid;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none}.enrollment-readiness li{display:flex;align-items:center;justify-content:space-between;gap:1rem}.enrollment-requirement-description{display:grid;gap:.15rem;min-width:0}.enrollment-requirement-description strong{font-weight:500}.enrollment-requirement-description small{color:var(--muted);font-size:.78rem}.enrollment-requirement-action{flex:0 0 auto;min-height:2rem;padding:.35rem .7rem}.enrollment-adjustment-unavailable{display:flex;align-items:center;justify-content:space-between;gap:.2rem;margin-top:.85rem;padding:.75rem .85rem;border:1px solid #ead59c;border-radius:.75rem;background:#fffaf0}.enrollment-adjustment-unavailable>div{display:grid;gap:.2rem}.enrollment-adjustment-unavailable>button{flex:0 0 auto}.enrollment-adjustment-unavailable span{color:var(--muted);font-size:.82rem}.calendar-deadline-extension-intro{grid-column:1 / -1;display:grid;gap:.2rem}.enrollment-class-list span{font-size:.78rem}.text-danger-action{padding:0;border:0;background:transparent;color:#a43f36;font-weight:750}.text-action{padding:0;border:0;background:transparent;color:#176f53;font-weight:750}.class-enrollment-actions{display:flex;gap:.75rem}.form-context-note{padding:.75rem;border-radius:.75rem;background:#f4f8f6;color:var(--muted)}.empty-inline-message{padding:.75rem;border:1px dashed var(--border);border-radius:.75rem}.enrollment-period-guidance{display:grid;gap:.75rem;padding:1rem;border:1px solid #efd79d;border-radius:.85rem;background:#fff9e9}.enrollment-period-guidance p{margin:.2rem 0 0;color:var(--muted)}.enrollment-period-guidance ul{display:grid;gap:.5rem;padding:0;margin:0;list-style:none}.enrollment-period-guidance li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem;border-radius:.7rem;background:#ffffffb8}.enrollment-period-guidance li span,.enrollment-period-guidance li small{display:block}.enrollment-period-guidance li small{margin-top:.15rem;color:var(--muted)}.enrollment-period-guidance li em{color:#8c5c00;font-size:.78rem;font-style:normal;font-weight:800}.enrollment-period-guidance>button{justify-self:start}.enrollment-treatment-panel>footer,.enrollment-create-form>footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.enrollment-create-form{display:grid;gap:1rem}.enrollment-create-form>p{margin:0;color:var(--muted)}.enrollment-create-form fieldset{display:grid;gap:.5rem;padding:1rem;border:1px solid var(--border);border-radius:12px}.enrollment-create-form legend{padding:0 .3rem;font-weight:800}.enrollment-class-option{display:flex;align-items:center;gap:.65rem;padding:.65rem;border-radius:9px;background:#f4f8f6}.enrollment-class-option>span{display:grid;gap:.1rem;margin:0}.status-pending{color:#80540c;background:#fff4cf}.status-active{color:#12613f;background:#e0f5e9}.status-suspended{color:#714f11;background:#f3ead5}.status-cancelled{color:#8b2d2d;background:#fff0f0}.status-completed{color:#425a52;background:#e8edeb}@media(max-width:56rem){.enrollment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-treatment-panel dl{grid-template-columns:1fr}.enrollment-card>header{grid-template-columns:auto minmax(0,1fr) auto}.enrollment-card{grid-template-columns:minmax(0,1fr)}.enrollment-treatment-details>summary{grid-column:1;grid-row:2;min-width:0;min-height:3rem;padding:.55rem 1rem;border-top:1px solid var(--border);border-left:0;background:#f7faf8}.enrollment-card-context{grid-column:2}.enrollment-card-period{display:none}}@media(max-width:42rem){.enrollments-page{padding-top:1.4rem;padding-bottom:6rem}.enrollment-page-heading{align-items:stretch;flex-direction:column}.enrollment-page-heading>button{width:100%}.enrollment-filters,.enrollment-summary-grid{grid-template-columns:1fr}.prerequisite-guide>header{flex-direction:column}.prerequisite-guide li{grid-template-columns:auto minmax(0,1fr)}.prerequisite-status{grid-column:2}.prerequisite-guide li>button{grid-column:1 / -1;width:100%}.enrollment-card>footer button,.enrollment-create-form>footer button{width:100%}}@media(max-width:48rem){.enrollment-adjustment-unavailable{align-items:stretch;flex-direction:column}.classes-page{padding-top:1.4rem;padding-bottom:6rem}.operation-metrics,.class-form,.allocation-targets ul,.allocation-fields{grid-template-columns:1fr}.allocation-actions{align-items:stretch;flex-direction:column-reverse}.allocation-actions button{width:100%}.class-form .section-heading,.class-form-actions{grid-column:auto}.class-form-actions{flex-direction:column-reverse}.class-form-actions button{width:100%}.class-row{grid-template-columns:1fr}.class-list-header{display:none}.class-capacity,.class-actions{grid-column:auto;justify-content:flex-start}}*{box-sizing:border-box}.context-help{position:relative;display:inline-flex;margin-left:.35rem;vertical-align:middle}.context-help-trigger{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;padding:0;color:#24664f;background:#e9f4ef;border:1px solid #bad5c9;border-radius:50%;font-size:.76rem;font-weight:850;line-height:1;cursor:help}.context-help-trigger:focus-visible{outline:3px solid rgb(29 134 99 / 22%);outline-offset:2px}.context-help.open{z-index:40}.context-help-popover{position:absolute;top:calc(100% + .5rem);left:50%;width:min(20rem,calc(100vw - 2rem));padding:.9rem;color:#23463a;background:#fff;border:1px solid #cdded6;border-radius:.75rem;box-shadow:0 .8rem 2rem #0d362a29;transform:translate(-50%)}.context-help-popover:before{position:absolute;top:-.35rem;left:calc(50% - .35rem);width:.7rem;height:.7rem;background:#fff;border-top:1px solid #cdded6;border-left:1px solid #cdded6;content:"";transform:rotate(45deg)}.context-help-popover strong{display:block;color:#173c31;font-size:.86rem}.context-help-popover-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.context-help-close{display:grid;flex:0 0 1.8rem;place-items:center;width:1.8rem;height:1.8rem;padding:0;color:#315f51;background:#eef5f2;border:1px solid #d1e1da;border-radius:.5rem;font-size:1.15rem;line-height:1}.context-help-close:hover{color:#fff;background:#176f53}.context-help-popover p{margin:.35rem 0 0;color:#526b62;font-size:.78rem;font-weight:500;line-height:1.45}.context-help-popover small{display:block;margin-top:.55rem;color:#24664f;font-size:.72rem;font-weight:700}.context-help-label{display:inline-flex;align-items:center}.heading-with-help{display:flex;align-items:center;gap:.15rem;min-width:0}.heading-with-help .context-help{flex:0 0 auto}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.page-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top right,#dcece4,transparent 38%),#edf5f1}.auth-card{width:min(31rem,100%);padding:clamp(1.8rem,5vw,3rem);background:#fff;border:1px solid #d5e4dc;border-radius:1.35rem;box-shadow:0 1.5rem 4rem #17322b1c}.auth-card.wide{width:min(42rem,100%)}.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;color:#fff;background:#16724d}h1{margin:1.25rem 0 .65rem;font-size:clamp(2rem,7vw,3.15rem);line-height:1.05;letter-spacing:-.055em}p{margin:0 0 1.5rem;color:#5b6f67;line-height:1.65}.step-label{display:inline-block;margin-top:1.5rem;color:#287a58;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.45rem;color:#304a41;font-weight:700;font-size:.9rem}label small{color:#6b7c75;font-weight:400}input,select{width:100%;padding:.85rem 1rem;color:#17322b;background:#fbfdfc;border:1px solid #bfd2c8;border-radius:.7rem;outline:none}input:focus,select:focus{border-color:#16724d;box-shadow:0 0 0 3px #16724d24}form>button,.context-option{min-height:3rem;padding:.8rem 1rem;border:0;border-radius:.7rem;color:#fff;background:#16724d;font-weight:800}.auth-card>small{display:block;margin-top:1.25rem;color:#71827b;line-height:1.5}.notice{margin:1rem 0;padding:.8rem 1rem;color:#614d16;background:#fff8dd;border:1px solid #eadb9d;border-radius:.7rem;line-height:1.45}.context-list{display:grid;gap:.75rem}.context-option{display:flex;align-items:start;justify-content:space-between;text-align:left}.context-option span{opacity:.8;font-weight:500}.app-shell{min-height:100vh;background:#f7faf8}header{display:flex;align-items:center;justify-content:space-between;min-height:4.8rem;padding:1rem clamp(1.25rem,5vw,4rem);background:#fff;border-bottom:1px solid #dae6df}.account-summary{display:flex;align-items:center;gap:1rem;font-weight:700}.secondary,.secondary-action{padding:.65rem 1rem;color:#245b46;background:#edf5f1;border:1px solid #c9ddd3;border-radius:.65rem;font-weight:700;cursor:pointer}.secondary:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.62}.modal-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}.dashboard{width:min(70rem,calc(100% - 2rem));margin:clamp(2rem,6vw,5rem) auto}.dashboard>h1{max-width:42rem}.dashboard>p{max-width:45rem}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.dashboard-grid article{display:grid;gap:.6rem;padding:1.4rem;background:#fff;border:1px solid #d9e6df;border-radius:1rem}.dashboard-grid article span{color:#71827b;font-size:.8rem}.dashboard-grid article strong{font-size:1.05rem}.success{color:#16724d}.success:before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;border-radius:50%;background:#24a66d}.context-change{margin-top:1.25rem}.catalog-entry{margin-top:1.5rem;min-height:3rem;padding:.8rem 1.2rem;color:#fff;background:#16724d;border:0;border-radius:.7rem;font-weight:800}.catalog,.catalog-message{width:min(78rem,calc(100% - 2rem));margin-right:auto;margin-left:auto}.catalog{padding:2.5rem 0 5rem}.catalog-message{margin-top:1.5rem}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.catalog-heading h1{margin-top:.75rem}.catalog-heading p{margin-bottom:0}.catalog-tabs{display:flex;gap:.5rem;margin:2rem 0 1rem;border-bottom:1px solid #d9e6df}.catalog-tabs button{padding:.8rem 1rem;color:#5b6f67;background:transparent;border:0;border-bottom:3px solid transparent;font-weight:800}.catalog-tabs button.active{color:#16724d;border-bottom-color:#16724d}.catalog-panel{padding:clamp(1rem,3vw,1.75rem);background:#fff;border:1px solid #d9e6df;border-radius:1rem}.calendar-entry-description{max-width:52rem;margin:1rem 0;color:var(--muted)}.calendar-period-list{display:grid;gap:.75rem;margin-top:1rem}.calendar-period-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface-subtle)}.calendar-period-card h3{margin:.45rem 0 .2rem}.calendar-period-card p{margin:0;color:var(--muted)}.catalog-search{display:grid;max-width:28rem;gap:.35rem;margin:0 0 1rem;color:var(--ink);font-size:.78rem;font-weight:750}.catalog-search input{min-height:2.85rem;padding:.7rem .85rem;border:1px solid #bfd1c9;border-radius:.75rem;background:#fff;color:var(--ink);font:inherit}.catalog-search input:focus{outline:none;border-color:#1d8663;box-shadow:0 0 0 3px #1d866324}.table-actions{display:flex;flex-wrap:wrap;gap:.45rem}.table-actions button{min-height:2.4rem;padding:.5rem .7rem;white-space:nowrap}.group-row-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.55rem;width:max-content;min-width:max-content;white-space:nowrap}.group-row-actions>.curriculum-actions{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.55rem;width:auto;margin:0}.group-row-actions .catalog-icon-action{flex:0 0 auto}.group-bulk-toolbar{grid-template-columns:minmax(9rem,auto) minmax(16rem,1fr)}.group-bulk-toolbar .class-bulk-selectors .catalog-icon-action{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0}.group-bulk-toolbar .class-bulk-actions{grid-column:1 / -1}.group-period-list label{min-height:5rem}.catalog-icon-action{position:relative;display:inline-grid;width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;place-items:center;padding:0;border:1px solid #c9dbd3;border-radius:.7rem;background:#f4f9f6;color:#175f45;cursor:pointer}.catalog-icon-action svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.catalog-icon-primary{border-color:#177e58;background:#177e58;color:#fff}.catalog-icon-danger{border-color:#e4b4b4;background:#fff5f5;color:#9b2525}.catalog-icon-planned{border-color:#c8b5e7;background:#f1ebfb;color:#6c49a8}.catalog-icon-open{border-color:#96d1d9;background:#e5f6f8;color:#08788a}.catalog-icon-progress{border-color:#9ed2bc;background:#e5f5ed;color:#16724d}.catalog-icon-closed{border-color:#e8c47b;background:#fff3d9;color:#9a5b08}.catalog-icon-cancelled,.catalog-icon-clear{border-color:#e4abab;background:#fff0f0;color:#a33131}.catalog-action-count{position:absolute;top:-.4rem;right:-.4rem;display:grid;min-width:1.25rem;height:1.25rem;place-items:center;padding:0 .25rem;border:2px solid #f5faf7;border-radius:999px;background:#176f53;color:#fff;font-size:.65rem;line-height:1}.group-action-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:.9rem 0 1rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:.85rem;background:#f5faf7;color:var(--muted);font-size:.75rem}.group-action-legend>span{display:inline-flex;align-items:center;gap:.45rem}.catalog-legend-icon{display:inline-grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid;border-radius:.45rem}.catalog-legend-icon svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.catalog-icon-action:disabled{cursor:not-allowed;opacity:.5}.catalog-icon-action:not(:disabled):hover,.catalog-icon-action:not(:disabled):focus-visible{border-color:currentColor;box-shadow:0 0 0 3px #1d866321;outline:none}.catalog-action-hint{position:absolute;z-index:30;right:0;bottom:calc(100% + .45rem);width:max-content;max-width:min(16rem,70vw);padding:.45rem .6rem;border-radius:.45rem;background:#123f32;color:#fff;font-size:.75rem;font-weight:700;line-height:1.25;opacity:0;pointer-events:none;transform:translateY(.2rem);transition:opacity .12s ease,transform .12s ease}.catalog-icon-action:hover .catalog-action-hint,.catalog-icon-action:focus-visible .catalog-action-hint{opacity:1;transform:translateY(0)}.calendar-period-actions{display:flex;gap:.45rem}.danger-action{border:1px solid #d9a5a5;border-radius:.7rem;background:#fff5f5;color:#9b2525;font:inherit;font-weight:750;cursor:pointer}.danger-action:disabled{cursor:not-allowed;opacity:.62}.catalog-edit-form,.course-coordination-manager,.course-coordination-history{display:grid;gap:1rem}.course-coordination-form{grid-template-columns:1.6fr 1fr 1fr 1fr auto;align-items:end;padding:1rem;border-radius:.9rem;background:#f3f8f5}.course-coordination-history h3{margin:.25rem 0 0}.course-coordination-row{display:grid;grid-template-columns:minmax(12rem,1.5fr) minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid #d8e5de;border-radius:.8rem}.course-coordination-row>div{display:grid;gap:.2rem}.course-coordination-row span{color:#61746b;font-size:.86rem}@media(max-width:900px){.course-coordination-form,.course-coordination-row{grid-template-columns:1fr}}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-title h2{margin:0}.panel-title span{color:#71827b;font-size:.85rem}.inline-form{grid-template-columns:2fr 1fr auto;align-items:end;padding:1rem;background:#f5f9f7;border-radius:.8rem}.inline-form.compact{grid-template-columns:1fr auto}.inline-form.offering-form{grid-template-columns:repeat(2,minmax(9rem,1fr))}.inline-form.offering-form button{grid-column:span 2}.inline-form.component-form{grid-template-columns:.75fr 1.5fr 1fr .75fr auto}.inline-form.curriculum-form{grid-template-columns:1.5fr .7fr 1.3fr auto}.curriculum-list{display:grid;gap:1rem;margin-top:1.5rem}.curriculum-card{padding:1.25rem;background:#fff;border:1px solid #dbe8e2;border-radius:1rem}.curriculum-card-heading,.curriculum-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.curriculum-actions{justify-content:flex-end;flex-wrap:wrap}.curriculum-card-heading h3{margin:0 0 .2rem}.curriculum-card-heading p{margin:0;color:#6d7f78}.curriculum-item-form{display:grid;grid-template-columns:minmax(14rem,1.6fr) repeat(2,minmax(10rem,1fr));align-items:end;gap:1rem;margin:0;padding:1.15rem;background:#f4f8f6;border-radius:.8rem}.curriculum-item-form>label{min-width:0}.curriculum-item-form>label>span{display:flex;min-height:1.75rem;align-items:flex-start;line-height:1.25}.curriculum-item-form .context-help-label{gap:.35rem}.curriculum-item-form>button{min-height:3rem}.curriculum-position-guide{display:grid;grid-column:1 / -1;gap:.25rem;padding:.75rem .9rem;border:1px solid #cfe0d8;border-radius:.65rem;color:#31584b;background:#edf6f1;font-size:.82rem}.curriculum-position-guide>ol{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.curriculum-position-guide>ol>li{display:grid;grid-template-columns:2rem minmax(5rem,auto) minmax(0,1fr);align-items:baseline;gap:.5rem;padding-top:.3rem;border-top:1px solid #d7e7df}.curriculum-position-guide>ol>li>strong{text-align:center}.curriculum-position-guide>ol>li>span:first-of-type{font-weight:750}.readonly-field{min-height:3rem;padding:.85rem .9rem;border:1px solid var(--border);border-radius:.65rem;color:var(--text);background:#eef3f1}.curriculum-governance{display:grid;gap:1rem;margin:1rem 0;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface-subtle)}.governance-actions,.choice-group-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.governance-empty{padding:1.25rem;text-align:center;border:1px dashed var(--border);border-radius:.8rem;background:#fff}.governance-empty p{margin:.35rem 0 0;color:var(--muted)}.choice-group-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.choice-group-form button{align-self:end}.choice-group-list,.curriculum-validation{display:grid;gap:.75rem}.choice-group-card{display:grid;grid-template-columns:minmax(15rem,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:#fff}.choice-group-card h5{margin:.45rem 0 .25rem;font-size:1rem}.choice-group-card p{margin:0 0 .35rem;color:var(--muted)}.choice-group-components{display:grid;gap:.35rem;grid-column:1 / -1}.choice-group-components>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .55rem;border-radius:.75rem;background:#eaf5f0}.choice-group-components span{color:#315c4d;font-size:.78rem}.choice-group-card small{color:var(--muted);font-size:.8rem}.curriculum-validation{padding:.85rem;border-radius:.75rem}.curriculum-validation.valid{color:#116b4b;background:#eaf8f0}.curriculum-validation.invalid{color:#8c2f2f;background:#fff0ef}.checkbox-field{display:flex;align-items:center;min-height:2.75rem;gap:.5rem}.curriculum-draft{color:#795000;background:#fff3cf}.curriculum-published{color:#116b4b;background:#dcf4e8}.curriculum-closed{color:#5e6870;background:#edf0f2}.success-notice{color:#155c3e;background:#eaf8f0;border-color:#b9e2ca}.table-scroll{overflow-x:auto;margin-top:1.5rem}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.9rem .75rem;border-bottom:1px solid #e2ebe6}th{color:#63766e;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.empty-state{margin-top:1.5rem;padding:2.5rem 1rem;color:#71827b;background:#f8fbf9;border:1px dashed #cadbd2;border-radius:.8rem;text-align:center}@media(max-width:42rem){.context-help-popover{position:fixed;top:auto;right:1rem;bottom:5.5rem;left:1rem;width:auto;transform:none}.context-help-popover:before{display:none}.dashboard-grid{grid-template-columns:1fr}.account-summary>span{display:none}.context-option{flex-direction:column;gap:.25rem}.catalog-heading{align-items:start;flex-direction:column;margin-bottom:1rem}.panel-title{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.85rem}.panel-title>.heading-with-help{align-items:flex-start;min-width:0}.panel-title>.heading-with-help h2{overflow-wrap:anywhere}.panel-title>.heading-with-help .context-help{margin-top:.35rem}.panel-title-actions{align-items:flex-start;display:flex;flex-wrap:wrap;width:100%}.panel-title-actions>button{flex:1 1 10rem;min-width:0}.panel-title-actions>span{display:none}.group-bulk-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem;width:100%;min-width:0;padding:.8rem}.group-bulk-toolbar .class-bulk-summary,.group-bulk-toolbar .class-bulk-selectors,.group-bulk-toolbar .class-bulk-actions{grid-column:1;min-width:0;width:100%}.group-bulk-toolbar .class-bulk-selectors{display:flex;flex-wrap:wrap;gap:.45rem}.group-bulk-toolbar .class-bulk-selectors .catalog-icon-action{flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem;padding:0}.group-bulk-toolbar .class-bulk-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:.55rem;overflow-x:auto;padding:.15rem .1rem .35rem}.group-bulk-toolbar .class-bulk-actions .catalog-icon-action{flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem;max-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0}.calendar-period-card{align-items:stretch;flex-direction:column}.calendar-period-card button{width:100%}.calendar-period-actions{justify-content:flex-end;width:100%}.calendar-period-actions .catalog-icon-action,.curriculum-actions .catalog-icon-action,.table-actions .catalog-icon-action{width:2.75rem;min-width:2.75rem;max-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0}.inline-form,.inline-form.compact,.inline-form.offering-form{grid-template-columns:1fr}.inline-form.offering-form button{grid-column:auto}.inline-form.component-form,.inline-form.curriculum-form,.curriculum-item-form,.choice-group-form,.choice-group-card{grid-template-columns:1fr}.catalog-tabs{overflow-x:auto}.curriculum-card-heading,.curriculum-actions{align-items:stretch;flex-direction:column}.catalog-panel,.curriculum-list,.curriculum-card,.curriculum-card-heading,.curriculum-card-heading>div,.curriculum-governance,.curriculum-governance .section-heading,.curriculum-governance .section-heading>div,.choice-group-list,.choice-group-card,.choice-group-card>div,.table-scroll{min-width:0;max-width:100%}.curriculum-card{padding:1rem;overflow:hidden}.curriculum-actions,.governance-actions,.choice-group-card-actions{width:100%}.curriculum-actions button,.governance-actions button,.choice-group-card-actions button{width:100%;max-width:100%;white-space:normal}.curriculum-card>.secondary{width:100%;max-width:100%;margin-top:.75rem;white-space:normal}.curriculum-governance{padding:1rem}.curriculum-governance .section-heading{align-items:stretch;flex-direction:column}.choice-group-card{padding:.9rem;overflow:hidden}.choice-group-card h5,.choice-group-card p,.choice-group-card small,.choice-group-components span{overflow-wrap:anywhere}.catalog-search,.table-scroll{width:100%}}.app-shell{display:grid;grid-template-columns:17.5rem minmax(0,1fr);min-height:100vh;background:#f4f7f6}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1.25rem 1rem 1rem;color:#dce9e4;background:#102d27;border-right:1px solid #21463c;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:.2rem .4rem 1.25rem;color:#fff}.sidebar-brand .brand-mark{color:#143f34;background:#dcf5e9}.environment-pill{padding:.3rem .5rem;color:#a9c8bd;background:#1b3d34;border:1px solid #2c5046;border-radius:999px;font-size:.62rem;font-weight:800;text-transform:uppercase}.context-card{display:grid;gap:.25rem;margin-bottom:1.25rem;padding:.9rem;color:#fff;background:#173a31;border:1px solid #2a5045;border-radius:.85rem}.context-card>span,.context-card small{color:#9dbcb1;font-size:.7rem}.context-card strong{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.context-card-button{width:100%;font:inherit;text-align:left}.context-card-button:not(:disabled):hover{background:#1d463b;border-color:#3b6659;transform:translateY(-1px)}.context-card-button:disabled{cursor:default}.main-navigation{display:grid;gap:.3rem}.nav-group{display:grid;gap:.2rem;margin-top:1rem}.nav-group>span{padding:.35rem .75rem;color:#789d91;font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.nav-button{display:grid;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;padding:.72rem .75rem;color:#bbd1c9;background:transparent;border:0;border-radius:.65rem;text-align:left}.nav-button svg{width:1.15rem;height:1.15rem}.nav-button>span{font-size:.84rem;font-weight:650}.nav-button>small{padding:.18rem .38rem;color:#6f9589;background:#183a31;border-radius:999px;font-size:.58rem}.nav-button.active{color:#fff;background:#1d7a59;box-shadow:0 .35rem 1.2rem #0000001f}.nav-button.disabled{cursor:default;opacity:.72}.nav-submenu{display:grid;gap:.18rem;margin:.15rem 0 .4rem 2.75rem;padding-left:.65rem;border-left:1px solid rgb(255 255 255 / 16%)}.nav-submenu button{padding:.42rem .6rem;border:0;border-radius:.55rem;background:transparent;color:#ffffffad;font:inherit;font-size:.78rem;font-weight:650;text-align:left;cursor:pointer}.nav-submenu button:hover,.nav-submenu button.active{background:#ffffff1a;color:#fff}.sidebar-footer{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 2rem;align-items:center;gap:.65rem;margin-top:auto;padding:1rem .35rem 0;border-top:1px solid #2a4a41}.user-avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;color:#12382e;background:#d9f4e8;border-radius:.7rem;font-weight:850}.sidebar-footer>div:nth-child(2){display:grid;overflow:hidden}.sidebar-footer strong{overflow:hidden;color:#fff;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer small{color:#7fa397;font-size:.67rem}.sidebar-footer button{display:grid;place-items:center;padding:.4rem;color:#9dbcb1;background:transparent;border:0}.sidebar-footer svg{width:1.1rem}.workspace{min-width:0}.topbar{position:sticky;z-index:5;top:0;min-height:4.5rem;padding:.75rem clamp(1rem,3vw,2rem);box-shadow:0 1px #dfe8e4}.mobile-brand,.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-backdrop,.mobile-revision{display:none}.global-search{position:relative;display:flex;align-items:center;width:min(30rem,48vw)}.global-search>svg{position:absolute;left:.9rem;z-index:1;width:1rem;color:#789087}.global-search input{padding:.72rem 1rem .72rem 2.55rem;background:#f4f7f6;border-color:transparent;border-radius:.7rem;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:1rem}.topbar-context{display:flex;align-items:center;gap:.6rem;max-width:18rem;padding:.45rem .7rem;color:#31584c;background:#f4f8f6;border:1px solid #dce8e3;border-radius:.7rem;text-align:left}.topbar-context:hover{background:#edf6f2;border-color:#bed7cc}.topbar-context>svg{flex:0 0 1.05rem;width:1.05rem}.topbar-context>span{display:grid;min-width:0}.topbar-context strong,.topbar-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-context strong{font-size:.72rem}.topbar-context small{color:#789087;font-size:.64rem}.icon-button{position:relative;display:grid;place-items:center;width:2.4rem;height:2.4rem;color:#49665c;background:#f4f7f6;border:0;border-radius:.7rem}.icon-button svg{width:1.15rem}.notification-dot{position:absolute;top:.45rem;right:.5rem;width:.4rem;height:.4rem;background:#e9763e;border:2px solid #fff;border-radius:50%}.topbar-user{display:grid;min-width:8rem}.topbar-user span{color:#1b3e34;font-size:.82rem;font-weight:800}.topbar-user small{color:#80938c;font-size:.7rem}.workspace-content{width:min(88rem,calc(100% - 3rem));margin:0 auto}.dashboard{padding:2.25rem 0 4rem}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.75rem}.page-heading h1{margin:.45rem 0 .4rem;font-size:clamp(2rem,4vw,2.75rem)}.page-heading p{margin:0}.eyebrow{color:#1d7a59;font-size:.7rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.heading-actions{display:flex;gap:.7rem}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;padding:.72rem 1rem;color:#fff;background:#16724d;border:0;border-radius:.65rem;font-weight:800;cursor:pointer}.primary-action:disabled{cursor:not-allowed;opacity:.62}.primary-action svg{width:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metric-card{display:flex;align-items:start;gap:.9rem;min-width:0;padding:1.15rem;background:#fff;border:1px solid #e0e8e4;border-radius:.9rem;box-shadow:0 .2rem .7rem #193d3308}.metric-card>div:last-child{display:grid;min-width:0}.metric-card span{overflow:hidden;color:#71877f;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.metric-card strong{margin:.2rem 0;color:#183b31;font-size:1.5rem}.metric-card small{overflow:hidden;color:#91a19b;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.metric-icon{display:grid;place-items:center;flex:0 0 2.6rem;height:2.6rem;border-radius:.75rem}.metric-icon svg{width:1.2rem}.metric-icon.green{color:#16724d;background:#e6f5ee}.metric-icon.blue{color:#3475a9;background:#e8f2fa}.metric-icon.purple{color:#7651a8;background:#f0eafa}.metric-icon.amber{color:#a66a20;background:#fff2df}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,.8fr);gap:1rem}.surface{padding:1.35rem;background:#fff;border:1px solid #e0e8e4;border-radius:.9rem}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.section-heading h2{margin:0 0 .3rem;font-size:1.05rem}.section-heading p{margin:0;font-size:.78rem}.section-heading>strong{color:#16724d;font-size:1.1rem}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.15rem}.quick-action{display:grid;grid-template-columns:2.35rem minmax(0,1fr) 1rem;align-items:center;gap:.75rem;padding:.85rem;color:#28483e;background:#f8faf9;border:1px solid #e3ebe7;border-radius:.75rem;text-align:left}.quick-action:hover:not(:disabled){background:#eff7f3;border-color:#b9d7c9;transform:translateY(-1px)}.quick-action>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;color:#16724d;background:#e5f4ed;border-radius:.65rem}.quick-action svg{width:1rem}.quick-action>span svg{width:1.1rem}.quick-action>div{display:grid}.quick-action strong{font-size:.78rem}.quick-action small{color:#82938d;font-size:.67rem}.quick-action:disabled{cursor:default;opacity:.62}.progress-track{height:.45rem;margin:1.1rem 0 1.3rem;background:#e8efeb;border-radius:999px;overflow:hidden}.progress-track span{display:block;width:32%;height:100%;background:linear-gradient(90deg,#16724d,#42a77e);border-radius:inherit}.milestone-list{display:grid;gap:1rem;margin:0;padding:0;list-style:none}.milestone-list li{display:flex;align-items:center;gap:.75rem}.milestone-list li>span{display:grid;place-items:center;width:1.75rem;height:1.75rem;color:#789087;background:#eef2f0;border-radius:50%;font-size:.7rem;font-weight:800}.milestone-list li.done>span{color:#fff;background:#239466}.milestone-list svg{width:.9rem}.milestone-list div{display:grid}.milestone-list strong{font-size:.76rem}.milestone-list small{color:#80928b;font-size:.67rem}.workspace-content .catalog{width:100%;padding-top:2.25rem}.catalog-heading h1{font-size:clamp(2rem,4vw,2.65rem)}.students-page{padding:2.25rem 0 4rem}.students-page .page-heading h1{margin:.45rem 0 .4rem}.student-toolbar{display:grid;grid-template-columns:minmax(16rem,1fr) auto auto;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.8rem;background:#fff;border:1px solid #e0e8e4;border-radius:.9rem}.student-toolbar input{margin:0}.student-toolbar>span{color:#71877f;font-size:.75rem}.student-form{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.student-form h2{grid-column:1 / -1;margin:0}.student-form label{display:grid;gap:.35rem;font-size:.75rem;font-weight:700}.student-form input,.student-form select,.student-form textarea{width:100%}.student-field-full,.student-check-grid{grid-column:1 / -1}.student-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.student-form .student-checkbox,.student-edit-form .student-checkbox{display:flex;align-items:center;align-self:end;min-height:3rem;gap:.55rem;padding:.7rem .8rem;border:1px solid #d6e2dd;border-radius:.75rem;background:#f7faf8}.student-form .student-checkbox input,.student-edit-form .student-checkbox input{width:auto;margin:0}.student-form-actions{display:flex;grid-column:1 / -1;justify-content:end;gap:.7rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-photo{width:4rem;height:4rem;flex:0 0 4rem;border:2px solid #d8e8e1;border-radius:50%;object-fit:cover;background:#edf6f2}.student-photo-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}.student-camera{display:grid;gap:1rem}.student-camera video{width:100%;max-height:min(60vh,32rem);border-radius:1rem;background:#071d17;object-fit:cover;transform:scaleX(-1)}.student-camera-actions{display:flex;justify-content:flex-end;gap:.7rem}.student-guardians,.student-documents{display:grid;gap:.9rem;padding:1rem 0;border-top:1px solid #e0e8e4}.student-document-list{display:grid;gap:.55rem}.student-document-card{display:grid;grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:.8rem;padding:.8rem .9rem;border:1px solid #dce7e2;border-radius:.85rem;background:#fbfdfc}.student-document-card small{display:block;margin-top:.18rem;color:#657b73;font-size:.74rem}.student-archive{display:grid;gap:.8rem;margin-top:.6rem;padding-top:1rem;border-top:1px solid #dce7e2}.student-archive-unified{margin-top:0;padding-top:0;border-top:0}.student-archive-heading,.student-archive-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.student-archive-heading h3,.student-archive-card h4{margin:0}.student-archive-heading p,.student-archive-card p{margin:.2rem 0 0;color:#657b73}.student-archive-list{display:grid;gap:.65rem}.student-archive-card{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(20rem,1.3fr);gap:1rem;padding:.9rem;border:1px solid #dce7e2;border-radius:.85rem;background:#fbfdfc}.student-archive-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0}.student-archive-card dt{color:#657b73;font-size:.7rem}.student-archive-card dd{margin:.18rem 0 0;font-weight:700;overflow-wrap:anywhere}.student-document-list-unified{gap:.75rem}.student-document-card-unified{grid-template-columns:minmax(13rem,1fr) minmax(16rem,1.1fr) auto;align-items:stretch;padding:0;overflow:hidden}.student-document-summary,.student-document-archive-state,.student-document-actions{display:flex;gap:.7rem;padding:.9rem}.student-document-summary{align-items:flex-start;justify-content:space-between}.student-document-receipt-details{display:grid;gap:.35rem;margin:.7rem 0 0}.student-document-receipt-details div{display:grid;gap:.05rem}.student-document-receipt-details dt{color:#657b73;font-size:.68rem}.student-document-receipt-details dd{margin:0;color:#243f36;font-size:.76rem;font-weight:700}.student-document-archive-state{align-items:center;justify-content:space-between;border-left:1px solid #e2ebe7;background:#f5f9f7}.student-document-archive-state>div{display:grid;gap:.2rem}.student-document-archive-state .status-pill{justify-self:start}.student-document-version-count{color:#52665f;font-size:.72rem;font-weight:700;white-space:nowrap}.student-document-actions{flex-direction:column;justify-content:center;border-left:1px solid #e2ebe7}.student-document-actions button{width:100%;white-space:nowrap}.student-unmatched-records{border:1px solid #dce7e2;border-radius:.85rem;background:#fbfdfc}.student-unmatched-records summary{padding:.8rem .9rem;cursor:pointer;color:#36554a;font-weight:700}.student-unmatched-records .student-archive-list{padding:0 .8rem .8rem}.document-status{padding:.28rem .5rem;border-radius:999px;background:#edf1ef;color:#52665f;font-size:.7rem;font-weight:800}.document-status.approved,.document-status.waived{background:#dff3e8;color:#116443}.document-status.received,.document-status.under_review{background:#e3eef8;color:#285d87}.document-status.rejected,.document-status.expired{background:#fbe5e3;color:#9b352e}.student-guardians-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.student-guardians-heading h3,.student-guardians-heading p{margin:0}.student-guardians-heading p{margin-top:.25rem;color:#657b73;font-size:.82rem}.student-guardian-list{display:grid;gap:.7rem}.student-guardian-card{display:grid;grid-template-columns:minmax(10rem,1.2fr) minmax(9rem,1fr);gap:.65rem 1rem;padding:.9rem;border:1px solid #dce7e2;border-radius:.9rem;background:#fbfdfc}.student-guardian-card.inactive{opacity:.7}.student-guardian-card small,.guardian-contact{display:block;color:#657b73;font-size:.78rem}.guardian-role-chips{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.35rem}.guardian-role-chips span{padding:.25rem .48rem;border-radius:999px;background:#e6f4ed;color:#176548;font-size:.7rem;font-weight:750}.student-guardian-card .table-action{justify-self:end}.guardian-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-form-section{grid-column:1 / -1;margin:.35rem 0 0;color:#24483d;font-size:.88rem}.app-modal-content .modal-form label{display:grid;min-width:0;gap:.4rem;color:var(--ink);font-size:.78rem;font-weight:750}.app-modal-content .modal-form input:not([type=checkbox]):not([type=radio]),.app-modal-content .modal-form select,.app-modal-content .modal-form textarea{box-sizing:border-box;width:100%;min-height:3rem;margin:0;padding:.72rem .85rem;border:1px solid #bfd1c9;border-radius:.75rem;background:#fff;color:var(--ink);font:inherit}.app-modal-content .modal-form input:not([type=checkbox]):not([type=radio]):focus,.app-modal-content .modal-form select:focus,.app-modal-content .modal-form textarea:focus{outline:none;border-color:#1d8663;box-shadow:0 0 0 3px #1d866324}.app-modal-content .class-form.modal-form{margin:0;padding:0;border:0;background:transparent;box-shadow:none}.app-modal-content .class-form-actions{padding:0;border:0;background:transparent}.app-modal-content .teacher-edit-form{row-gap:1.15rem}.app-modal-content .teacher-edit-form .teacher-notes-field textarea{min-height:10rem;resize:vertical}.app-modal-content .teacher-edit-actions{margin-top:.35rem;padding-top:1.1rem;border-top:1px solid var(--border);gap:1rem}.assessment-description-field{margin-top:.15rem}.rich-description-editor{overflow:hidden;border:1px solid #bfd1c9;border-radius:.85rem;background:#fff}.rich-description-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;padding:.55rem .65rem;border-bottom:1px solid var(--border);background:#f4f9f7}.rich-description-toolbar button{min-width:2.35rem;min-height:2.2rem;padding:.35rem .65rem;border:1px solid #bfd1c9;border-radius:.55rem;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.rich-description-toolbar button:hover,.rich-description-toolbar button:focus-visible{border-color:#1d8663;background:#eaf6f1;outline:none}.app-modal-content .modal-form .rich-description-editor textarea{min-height:12rem;resize:vertical;border:0;border-radius:0;box-shadow:none}.app-modal-content .modal-form .rich-description-editor textarea:focus{border:0;box-shadow:inset 0 0 0 2px #1d866333}.rich-description-help{display:block;padding:.5rem .75rem .65rem;color:var(--muted);font-weight:500}.app-modal-content .assessment-form-actions{display:flex;justify-content:space-between;gap:1.5rem;margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--border)}.app-modal-content .wizard-form-grid.modal-form{align-items:start}.app-modal-content .wizard-form-grid.modal-form label{grid-template-rows:1.1rem 3rem minmax(1.2rem,auto);align-content:start}.app-modal-content .wizard-form-grid.modal-form input:not([type=checkbox]):not([type=radio]),.app-modal-content .wizard-form-grid.modal-form select{height:3rem;min-height:3rem;max-height:3rem;padding:0 .85rem;line-height:1.2}.app-modal-content .wizard-form-grid.modal-form input[type=date]{padding-right:.7rem}.postal-code-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.55rem}.postal-code-control button{min-height:3rem;white-space:nowrap}@media(max-width:42rem){.student-field-wide{grid-column:1 / -1}.student-check-grid{grid-template-columns:1fr}.student-guardians-heading{display:grid}.student-guardians-heading button{width:100%}.student-guardian-card{grid-template-columns:1fr}.student-document-card{grid-template-columns:1fr auto}.student-document-card-unified{grid-template-columns:1fr}.student-document-archive-state,.student-document-actions{border-top:1px solid #e2ebe7;border-left:0}.student-document-actions{flex-direction:row}.student-document-card .table-action{grid-column:1 / -1;width:100%}.guardian-role-chips{justify-content:flex-start}.student-guardian-card .table-action{width:100%;justify-self:stretch}.postal-code-control{grid-template-columns:1fr}}.student-field-wide{grid-column:span 2}.student-list{padding:1.35rem}.student-select-all-cell{width:2.5rem;text-align:center}.student-select-all-cell input{width:1rem;height:1rem;accent-color:#177d59;cursor:pointer}.student-selection-heading{display:flex;align-items:center;gap:.65rem}.student-selection-heading select{min-height:2rem;padding:.3rem 1.8rem .3rem .55rem;color:#315f51;background-color:#f4f9f6;border:1px solid #cfe0d9;border-radius:.55rem;font-size:.7rem;font-weight:750;text-transform:none}.table-subtitle{display:block;margin-top:.2rem;color:#81938c}.student-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;padding-top:1rem;color:#587068;font-size:.78rem}.student-pagination button:disabled{cursor:not-allowed;opacity:.45}.status-chip{display:inline-flex;padding:.25rem .5rem;border-radius:999px;font-size:.7rem;font-weight:800}.status-chip.active{color:#146442;background:#e4f5ec}.status-chip.inactive{color:#87551a;background:#fff0da}.student-row{cursor:pointer}.student-row:hover{background:#f7fbf9}.student-enrollment-count{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .55rem;color:#176b4c;background:#edf7f2;border:1px solid #cfe4da;border-radius:.65rem;white-space:nowrap}.student-enrollment-count strong{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .3rem;color:#fff;background:#177d59;border-radius:999px;font-size:.72rem}.student-enrollment-count span{font-size:.7rem;font-weight:800}.enrollment-student-filter{align-items:center;background:#edf7f2;border:1px solid #cfe4da;border-radius:14px;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding:14px 16px}.enrollment-student-filter div{display:grid;gap:3px}.enrollment-student-filter span{color:var(--muted);font-size:.82rem}@media(max-width:720px){.enrollment-student-filter{align-items:stretch;flex-direction:column}}.archive-page{display:grid;gap:1rem}.archive-safety-banner,.archive-guidance{display:grid;gap:.25rem;padding:1rem 1.15rem;border:1px solid #e8d69a;border-radius:.9rem;background:#fff8df;color:#624f14}.archive-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.archive-metrics article{display:grid;gap:.25rem;padding:1rem 1.15rem;border:1px solid var(--border-color, #d9e5df);border-radius:.9rem;background:#fff}.archive-metrics strong{font-size:1.65rem}.archive-metrics span,.archive-metrics small,.archive-panel header p,.archive-list article p{color:var(--muted-color, #65766e)}.archive-tabs{display:flex;gap:.4rem;overflow-x:auto;border-bottom:1px solid var(--border-color, #d9e5df)}.archive-tabs button{padding:.75rem 1rem;border:0;border-bottom:3px solid transparent;background:transparent;color:#496158;white-space:nowrap}.archive-tabs button.active{border-bottom-color:#16805a;color:#0b5b3f;font-weight:700}.archive-panel{padding:1.1rem;border:1px solid var(--border-color, #d9e5df);border-radius:1rem;background:#fff}.archive-panel>header,.archive-form footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.archive-panel h2,.archive-panel h3,.archive-panel p{margin:0}.archive-list{display:grid;gap:.75rem;margin-top:1rem}.archive-policy-tree-container{margin-top:1rem}.archive-policy-tree-controls{display:flex;justify-content:flex-end;gap:.5rem}.archive-policy-tree{margin-top:.75rem}.archive-policy-tree,.archive-policy-tree ul{padding:0;list-style:none}.archive-policy-tree ul{display:grid;gap:.75rem;margin:.75rem 0 0 1.1rem;padding-left:1.15rem;border-left:2px solid #c9ddd4}.archive-policy-tree-node{position:relative}.archive-policy-tree ul>.archive-policy-tree-node:before{position:absolute;top:1rem;left:-1.15rem;width:1rem;border-top:2px solid #c9ddd4;content:""}.archive-policy-tree-row{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.55rem}.archive-policy-tree-toggle,.archive-policy-tree-spacer{width:2rem;height:2rem}.archive-policy-tree-toggle{padding:0;border:1px solid #b9d3c7;border-radius:.55rem;background:#edf8f2;color:#146344;font-size:1.15rem;font-weight:750;cursor:pointer}.archive-policy-tree-toggle:hover{background:#dff2e8}.archive-policy-tree-content,.archive-policy-tree-policy{display:grid;gap:.75rem;min-width:0}.archive-policy-tree-structure{display:flex;align-items:baseline;gap:.65rem;min-height:2rem;padding:.35rem .15rem;color:#285e49}.archive-policy-tree-structure span{color:var(--muted-color, #65766e);font-size:.8rem}.archive-list article{display:grid;grid-template-columns:minmax(16rem,1.2fr) minmax(22rem,1fr);gap:1rem;padding:1rem;border:1px solid var(--border-color, #d9e5df);border-radius:.8rem}.archive-list article.archive-dossier{grid-template-columns:minmax(16rem,1.2fr) minmax(22rem,1fr) auto}.archive-list article.archive-dossier-focused{border-color:#16805a;box-shadow:0 0 0 3px #16805a24}.archive-context-banner{display:grid;gap:.2rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid #b9dccc;border-radius:.75rem;background:#edf8f2;color:#145c43}.archive-records{display:grid;grid-column:1 / -1;gap:.65rem;padding-top:.8rem;border-top:1px solid var(--border-color, #d9e5df)}.archive-record{display:grid;grid-template-columns:minmax(16rem,1.2fr) minmax(22rem,1fr) auto;align-items:start;gap:1rem;padding:.8rem;border-radius:.7rem;background:#f5f9f7}.archive-record h4{margin:.35rem 0 0}.archive-record p{overflow-wrap:anywhere}.archive-record dl{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-record-actions{display:grid;gap:.45rem;min-width:10rem}.archive-list article h3{margin-top:.4rem}.archive-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0}.archive-list dl div{display:grid;align-content:start;gap:.2rem}.archive-list dt{color:var(--muted-color, #65766e);font-size:.76rem}.archive-list dd{margin:0;font-weight:650}.archive-storage-status{display:grid;gap:.25rem;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #ead6a5;border-radius:.8rem;color:#735315;background:#fff7df}.archive-storage-status.configured{border-color:#b8dec9;color:#176548;background:#eaf7f0}.archive-storage-status span{font-size:.82rem}.archive-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:1rem;border-radius:.9rem;background:#f5f9f7}.archive-form label{display:grid;gap:.35rem;font-weight:650}.archive-form input,.archive-form select,.archive-form textarea{width:100%}.archive-form-wide,.archive-form footer{grid-column:1 / -1}.archive-check{display:flex!important;align-items:center;align-self:end;min-height:3rem}.archive-check input{width:auto}.archive-batch-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.75rem 0;padding:.75rem 1rem;border:1px solid #c8ded4;border-radius:.75rem;background:#f2f8f5}.archive-batch-selection .archive-check{min-height:auto}.archive-batch-selection span{color:#526b62;font-size:.85rem}.status-pill{display:inline-flex;width:fit-content;padding:.25rem .5rem;border-radius:999px;background:#e1f3e9;color:#126344;font-size:.72rem;font-weight:750}@media(max-width:760px){.archive-metrics,.archive-list article,.archive-list article.archive-dossier,.archive-record,.archive-list dl,.archive-form{grid-template-columns:1fr}.archive-panel>header,.archive-form footer{align-items:stretch;flex-direction:column}.archive-panel>header button,.archive-form footer button{width:100%}.archive-policy-tree-controls{display:grid;grid-template-columns:1fr 1fr}.archive-policy-tree ul{margin-left:.45rem;padding-left:.65rem}.archive-policy-tree-toggle,.archive-policy-tree-spacer{width:1.6rem;min-width:1.6rem}}.table-action{padding:.45rem .7rem;color:#176b4c;background:#edf7f2;border:1px solid #cfe4da;border-radius:.55rem;font-size:.7rem;font-weight:800;white-space:nowrap}.student-drawer-backdrop{position:fixed;z-index:30;inset:0;display:flex;justify-content:end;background:#0c231d6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.student-drawer{width:min(36rem,100%);height:100%;padding:1.6rem;overflow-y:auto;background:#f7faf8;box-shadow:-1rem 0 3rem #0820192e;animation:drawer-enter .2s ease-out}@keyframes drawer-enter{0%{opacity:.6;transform:translate(2rem)}}.drawer-header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid #dce7e2}.drawer-header h2{margin:.35rem 0 .15rem;color:#173c31;font-size:1.65rem}.drawer-header p{margin:0;font-size:.8rem}.drawer-close{display:grid;place-items:center;flex:0 0 2.4rem;height:2.4rem;color:#46675c;background:#e8f1ed;border:0;border-radius:.7rem;font-size:1.5rem}.student-profile{display:grid;gap:1.25rem}.student-record-modal{min-height:32rem}.student-profile-tabs{display:flex;gap:.45rem;overflow-x:auto;padding:.2rem 0 .75rem;border-bottom:1px solid #dce7e2;scrollbar-width:thin}.student-profile-tabs button{display:inline-flex;align-items:center;gap:.45rem;min-height:2.65rem;padding:.65rem .9rem;color:#526f65;background:#f4f8f6;border:1px solid #dce7e2;border-radius:.7rem;font-size:.78rem;font-weight:800;white-space:nowrap}.student-profile-tabs button:hover{color:#175f46;background:#edf7f2}.student-profile-tabs button.active{color:#fff;background:#197b59;border-color:#197b59}.student-tab-count{display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;color:#8a5200;background:#fff0bf;border-radius:999px;font-size:.66rem}.student-tab-panel{min-height:14rem}.student-edit-panel{display:grid;gap:1rem}.student-edit-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #dce7e2}.student-edit-heading h3{margin:0;color:#173c31;font-size:1.05rem}.student-edit-heading p{margin:.3rem 0 0;font-size:.78rem}.profile-highlight{display:flex;align-items:center;gap:.9rem;padding:1rem;background:#fff;border:1px solid #dfe9e4;border-radius:.85rem}.profile-highlight .user-avatar{width:3rem;height:3rem;font-size:1.15rem}.profile-highlight>div{display:grid}.profile-highlight strong{color:#183b31}.profile-highlight small{margin-top:.2rem;color:#71877f}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.profile-grid>div{min-width:0;padding:.9rem;background:#fff;border:1px solid #dfe9e4;border-radius:.75rem}.profile-grid .profile-address{grid-column:1 / -1}.profile-grid dt{color:#789087;font-size:.68rem}.profile-grid dd{overflow-wrap:anywhere;margin:.25rem 0 0;color:#193c32;font-size:.84rem;font-weight:750}.student-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1.25rem}.student-edit-tabs,.student-edit-tab-panel{grid-column:1 / -1}.student-edit-tab-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0}.student-edit-tab-panel[hidden]{display:none}.student-edit-form label{display:grid;gap:.35rem;min-width:0;color:#25473d;font-size:.72rem;font-weight:750}.student-edit-form input,.student-edit-form select{width:100%;background:#fff}.version-note{align-self:center;color:#7c9189}.drawer-actions{display:flex;grid-column:1 / -1;justify-content:end;gap:.7rem;padding-top:.4rem}.context-modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1rem;background:#09221b8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.context-modal{width:min(37rem,100%);max-height:min(44rem,calc(100vh - 2rem));padding:1.4rem;overflow-y:auto;background:#f8fbf9;border:1px solid #dce8e3;border-radius:1rem;box-shadow:0 1.5rem 5rem #051e1647}.context-modal-header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:1.1rem}.context-modal-header h2{margin:.35rem 0 .3rem;color:#173c31;font-size:1.45rem}.context-modal-header p{max-width:30rem;margin:0;font-size:.78rem}.context-modal-close{display:grid;place-items:center;flex:0 0 2.35rem;height:2.35rem;color:#49675d;background:#e8f1ed;border:0;border-radius:.7rem;font-size:1.45rem}.context-modal-list{display:grid;gap:.7rem}.context-modal-option{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.8rem;width:100%;padding:.85rem;color:#24473c;background:#fff;border:1px solid #dce7e2;border-radius:.8rem;text-align:left}.context-modal-option:not(:disabled):hover{background:#eff8f3;border-color:#a9d0bf;transform:translateY(-1px)}.context-modal-option.current{background:#eaf6f0;border-color:#9ecab7}.context-modal-option:disabled{cursor:default;opacity:1}.context-option-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;color:#16724d;background:#e0f2e9;border-radius:.7rem}.context-option-icon svg{width:1.2rem}.context-option-copy{display:grid;min-width:0}.context-option-copy strong,.context-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-option-copy strong{font-size:.86rem}.context-option-copy small{margin-top:.2rem;color:#758b83;font-size:.7rem}.context-option-status{padding:.3rem .55rem;color:#176b4c;background:#e3f3eb;border-radius:999px;font-size:.65rem;font-weight:800}.context-security-note{display:flex;align-items:center;gap:.5rem;margin:1rem 0 0;padding:.75rem;color:#617b72;background:#eef4f1;border-radius:.7rem;font-size:.69rem}.context-security-note svg{flex:0 0 1rem;width:1rem;color:#267657}.administration-page{padding:2.25rem 0 4rem}.administration-page .page-heading{align-items:end;margin-bottom:1.25rem}.administration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.administration-summary article{display:grid;gap:.18rem;padding:1rem 1.1rem;background:#fff;border:1px solid #e0e8e4;border-radius:.9rem}.administration-summary span,.administration-summary small{color:#71877f;font-size:.7rem}.administration-summary strong{color:#173c31;font-size:1.45rem}.institution-academic-settings{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem;padding:1.25rem}.institution-academic-settings h2{margin:.25rem 0;font-size:1.05rem}.institution-academic-settings p{max-width:44rem;margin:0;color:var(--muted)}.institution-academic-settings form{display:grid;grid-template-columns:minmax(12rem,16rem) auto;align-items:end;gap:.75rem}.administration-grid{display:grid;grid-template-columns:minmax(19rem,.72fr) minmax(0,1.5fr);gap:1rem}.administration-panel{align-self:start;padding:0;overflow:hidden}.administration-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid #e5ede9}.administration-panel-heading h2{margin:.25rem 0;color:#173c31;font-size:1.15rem}.administration-panel-heading p{margin:0;color:#758b83;font-size:.72rem}.administration-access-heading{background:linear-gradient(135deg,#f7fbf9,#fff)}.administration-panel h3{margin:0;color:#24483d;font-size:.9rem}.institution-list{display:grid;gap:.55rem;padding:1rem}.institution-list>button{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.25rem;width:100%;padding:.85rem;color:#294b40;background:#f8faf9;border:1px solid #e0e9e5;border-radius:.75rem;text-align:left;cursor:pointer}.institution-list>button:hover{border-color:#b6d4c7;background:#f0f8f4}.institution-list>button.selected{color:#145b3f;background:#e7f5ee;border-color:#9fcab7;box-shadow:inset 3px 0 #1c805c}.institution-mark,.grant-avatar{display:grid;place-items:center;width:2.4rem;height:2.4rem;color:#176b4c;background:#e2f2ea;border-radius:.7rem;font-size:.82rem;font-weight:850}.institution-copy{display:grid;gap:.2rem;min-width:0}.institution-arrow{color:#88a198;font-size:1.35rem}.institution-list strong{font-size:.82rem}.institution-list small{color:#758b83;font-size:.68rem}.compact-form{margin-top:1.25rem;padding-top:1.2rem;border-top:1px solid #e0e9e5}.compact-form label,.grant-form label{font-size:.73rem}.compact-form input,.grant-form input,.grant-form select{background:#fff}.unit-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 1.25rem}.unit-chips span{padding:.35rem .6rem;color:#24654e;background:#eaf5f0;border-radius:999px;font-size:.68rem;font-weight:750}.grant-form{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 1.35rem;padding:1rem;background:#f6f9f8;border:1px solid #e2ebe7;border-radius:.8rem}.grant-form h3,.grant-form .wide{grid-column:1 / -1}.grant-list{display:grid;gap:.6rem;padding:0 1.25rem 1.25rem}.grant-list-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.4rem 0}.grant-list-heading h3{margin:0}.grant-list-heading p{margin:.2rem 0 0;color:#789087;font-size:.68rem}.grant-list-heading>span{display:grid;place-items:center;min-width:1.7rem;height:1.7rem;color:#176b4c;background:#e5f4ed;border-radius:999px;font-size:.7rem;font-weight:850}.grant-list>p{margin:0;padding:1rem;background:#f8faf9;border-radius:.7rem;text-align:center}.grant-row{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.85rem;background:#fff;border:1px solid #e2ebe7;border-radius:.7rem}.grant-copy{display:grid;min-width:0}.grant-row strong,.grant-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-row .danger-action,.grant-row .secondary-action{min-height:2.4rem;padding:.5rem .75rem}.administration-empty{display:grid;place-items:center;gap:.3rem;min-height:8rem;padding:1rem;color:#6f867e;background:#f8faf9;border:1px dashed #cfded7;border-radius:.8rem;text-align:center}.administration-empty strong{color:#36594d;font-size:.82rem}.administration-empty span{font-size:.7rem}.grant-row strong{color:#23473b;font-size:.78rem}.grant-row small{margin-top:.2rem;color:#789087;font-size:.67rem}@media(max-width:70rem){.app-shell{grid-template-columns:5rem minmax(0,1fr)}.sidebar{padding-inline:.7rem}.sidebar-brand{justify-content:center}.sidebar-brand .brand>span:last-child,.environment-pill,.context-card,.nav-group>span,.nav-button>span,.nav-button>small,.sidebar-footer>div:nth-child(2){display:none}.nav-button{display:flex;justify-content:center;min-height:2.8rem}.sidebar-footer{display:flex;justify-content:center}.sidebar-footer button{display:none}.metrics-grid,.student-form{grid-template-columns:repeat(2,1fr)}.administration-grid{grid-template-columns:1fr}.administration-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:48rem){.app-shell{display:block}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:min(20rem,calc(100vw - 3.5rem));max-width:100%;height:100dvh;padding:1.25rem 1rem;border-right:1px solid rgb(255 255 255 / 8%);transform:translate(-105%);transition:transform .18s ease;box-shadow:1rem 0 3rem #031c153d;overflow:hidden;overscroll-behavior:contain}.sidebar.mobile-open{transform:translate(0)}.sidebar-brand{display:flex;flex:0 0 auto;justify-content:flex-start;gap:.55rem}.sidebar-brand .environment-pill{margin-left:auto}.mobile-menu-close{display:grid;flex:0 0 auto;place-items:center;width:2rem;height:2rem;padding:0;color:#dce9e4;background:#ffffff12;border:1px solid rgb(255 255 255 / 12%);border-radius:.6rem}.mobile-menu-close span{font-size:1.45rem;font-weight:300;line-height:1}.environment-pill{display:inline-flex}.context-card{display:grid;flex:0 0 auto;margin-bottom:.3rem}.sidebar-brand .brand>span:last-child{display:inline}.sidebar-footer>div:nth-child(2),.sidebar-footer button{display:grid}.main-navigation{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:.25rem;padding:.15rem .1rem 1rem;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.nav-group{display:grid;gap:.15rem;margin-top:.75rem}.nav-group>span{display:block}.nav-button{display:grid;grid-template-columns:1.25rem minmax(0,1fr) auto;width:100%;min-height:2.75rem;padding:.65rem .7rem;gap:.65rem}.nav-button>span{display:block;font-size:.78rem}.nav-button>small{display:inline-block}.sidebar-footer{display:grid;flex:0 0 auto;margin-top:0}.mobile-menu-backdrop{position:fixed;z-index:35;inset:0;display:block;width:100%;height:100%;padding:0;background:#031c157a;border:0}.topbar{position:static}.mobile-brand{display:flex;align-items:center;gap:.65rem}.mobile-menu-toggle{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;color:#164d3d;background:#eef6f2;border:1px solid #d4e5de;border-radius:.7rem}.mobile-menu-toggle svg{width:1.25rem}.mobile-revision{display:inline-flex;align-items:center;min-height:1.7rem;padding:.25rem .5rem;color:#1c6c51;background:#eaf5f0;border:1px solid #cee4da;border-radius:999px;font-size:.66rem;font-weight:850;letter-spacing:.04em}.global-search,.topbar-user{display:none}.topbar-context>span{display:none}.workspace-content{width:min(100% - 1.5rem,88rem)}.dashboard{padding-top:1.4rem;padding-bottom:6rem}.page-heading{align-items:start;flex-direction:column;gap:1rem}.heading-actions{width:100%}.heading-actions button{flex:1}.metrics-grid,.dashboard-columns,.quick-grid{grid-template-columns:1fr}.metric-card:nth-child(n+3){display:none}.workspace-content .catalog,.students-page{padding-bottom:6rem}.student-toolbar,.student-form{grid-template-columns:1fr}.student-form h2,.student-form-actions,.student-form-section,.student-field-wide{grid-column:auto}.student-drawer{padding:1.1rem}.student-record-modal{min-height:0}.student-profile-tabs{margin-inline:-.25rem;padding-inline:.25rem}.student-edit-heading{align-items:stretch;flex-direction:column}.profile-grid,.student-edit-form,.student-edit-tab-panel{grid-template-columns:1fr}.administration-page{padding-bottom:6rem}.grant-form{grid-template-columns:1fr}.grant-form h3,.grant-form .wide,.grant-form>button{grid-column:auto}.grant-row{grid-template-columns:2.4rem minmax(0,1fr) auto}.grant-row .danger-action,.grant-row .secondary-action{grid-column:2 / -1}.administration-summary{grid-template-columns:1fr}.administration-access-heading{align-items:stretch;flex-direction:column}}.teacher-table-scroll{overflow-x:auto}.teacher-table{min-width:1380px;border:1px solid var(--border);border-radius:1rem;overflow:hidden;background:var(--surface, #fff)}.teacher-table-head,.teacher-row-main{display:grid;grid-template-columns:minmax(220px,1.35fr) 100px minmax(180px,1fr) minmax(205px,1.15fr) minmax(145px,.8fr) 65px minmax(450px,auto);align-items:center;gap:1rem}.teacher-table-head{padding:.75rem 1rem;background:var(--surface-soft);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.teacher-table-record+.teacher-table-record{border-top:1px solid var(--border)}.teacher-row-main{padding:.9rem 1rem}.teacher-cell{display:grid;min-width:0;gap:.18rem}.teacher-cell strong,.teacher-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-cell small,.teacher-assignment small{color:var(--muted)}.teacher-name-line{display:flex;align-items:center;gap:.55rem;min-width:0}.teacher-name-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-class-count{text-align:center}.teacher-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;white-space:nowrap}.teacher-row-actions .secondary,.teacher-row-actions .danger-action{min-height:2.25rem;padding:.45rem .65rem}.teacher-row-details{padding:0 1rem 1rem;background:var(--surface-soft)}.teacher-assignments{display:grid;gap:.6rem;padding-top:.8rem}.teacher-toggle{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}.teacher-assignment{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:.8rem;background:var(--soft);padding:.8rem}.teacher-assignment small{display:block;margin-top:.2rem}@media(max-width:680px){.teacher-table-scroll{margin-inline:-.25rem}}.diary-grid,.attendance-list{display:grid;gap:1rem}.diary-meeting-list{padding:0 1rem 1rem}.academic-entry-guidance{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #e7c785;border-radius:.85rem;background:#fffaf0}.academic-entry-guidance div{display:grid;gap:.25rem}.academic-entry-guidance p{margin:0;color:var(--muted)}.academic-entry-guidance.is-readonly{border-color:var(--border);background:var(--surface-subtle)}.diary-card{overflow:visible;padding:0;border:1px solid var(--border);border-radius:1rem}.diary-card-summary{display:grid;grid-template-columns:minmax(14rem,1.2fr) minmax(24rem,1.6fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem}.diary-card-identity h3,.diary-card-identity p{margin:.25rem 0 0}.diary-card-facts{display:grid;grid-template-columns:1.3fr 1.3fr .55fr .7fr .65fr;gap:.75rem}.diary-card-facts span,.diary-card-facts small,.diary-card-facts strong{display:block;min-width:0}.diary-card-facts small{margin-bottom:.2rem;color:var(--muted);font-size:.68rem}.diary-card-facts strong{overflow-wrap:anywhere;font-size:.78rem}.diary-meeting-period{display:grid!important;gap:.28rem}.diary-meeting-period>span{display:grid!important;grid-template-columns:2.6rem minmax(0,1fr);gap:.35rem;align-items:baseline}.diary-meeting-period em{color:var(--muted);font-size:.65rem;font-style:normal;font-weight:650}.diary-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;min-width:8rem}.meeting-action-icon{display:inline-grid;width:2.35rem;min-width:2.35rem;height:2.35rem;min-height:2.35rem;place-items:center;padding:0;border:1px solid var(--meeting-action-border, #cbd9d3);border-radius:.65rem;background:var(--meeting-action-bg, #f2f6f4);color:var(--meeting-action-color, #47645b)}.meeting-action-icon svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.meeting-action-blue{--meeting-action-color: #155d91;--meeting-action-bg: #e8f3fb;--meeting-action-border: #9fc9e5}.meeting-action-violet{--meeting-action-color: #6c49a8;--meeting-action-bg: #f1ebfb;--meeting-action-border: #c8b5e7}.meeting-action-cyan{--meeting-action-color: #08788a;--meeting-action-bg: #e5f6f8;--meeting-action-border: #96d1d9}.meeting-action-amber{--meeting-action-color: #9a5b08;--meeting-action-bg: #fff3d9;--meeting-action-border: #e8c47b}.meeting-action-orange{--meeting-action-color: #a75012;--meeting-action-bg: #fff0e3;--meeting-action-border: #e8b689}.meeting-action-red{--meeting-action-color: #a33131;--meeting-action-bg: #fff0f0;--meeting-action-border: #e4abab}button.meeting-action-icon:not(:disabled):hover,button.meeting-action-icon:not(:disabled):focus-visible{border-color:var(--meeting-action-color);background:var(--meeting-action-color);color:#fff;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--meeting-action-color) 18%,transparent)}.meeting-action-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.9rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface-subtle);color:var(--muted);font-size:.75rem}.meeting-action-legend>span{display:inline-flex;align-items:center;gap:.4rem}.meeting-action-legend .meeting-action-icon{width:1.65rem;min-width:1.65rem;height:1.65rem;min-height:1.65rem;border-radius:.45rem}.meeting-action-legend .meeting-action-icon svg{width:.9rem;height:.9rem}.diary-card-details{padding:.8rem 1rem;border-top:1px solid var(--border);background:var(--surface-subtle)}.diary-card-details p{margin:.35rem 0;white-space:pre-wrap}.diary-card-details span{color:var(--muted);font-size:.75rem}.attendance-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.diary-card h3{margin:.35rem 0 .2rem}.diary-card>footer{align-items:center;padding-top:.8rem;border-top:1px solid var(--border)}.attendance-row{align-items:center;padding:.85rem;border:1px solid var(--border);border-radius:.85rem}.attendance-row span,.attendance-row small{display:block}.attendance-row select{min-width:220px}.assessment-entry-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,.65fr) minmax(7rem,.35fr);gap:.75rem;align-items:end;padding:.9rem 0;border-bottom:1px solid var(--border)}.assessment-hierarchy,.assessment-class-list,.assessment-instrument-list{display:grid;gap:.8rem}.assessment-group,.assessment-class{overflow:visible;border:1px solid var(--border);border-radius:.9rem;background:#fff}.assessment-group>summary,.assessment-class>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 2.25rem;gap:1rem;align-items:center;padding:1rem;color:var(--primary, #16724d);cursor:pointer;list-style:none}.assessment-group>summary::-webkit-details-marker,.assessment-class>summary::-webkit-details-marker{display:none}.assessment-group>summary>span:first-child,.assessment-class>summary>span:first-child{display:grid;gap:.2rem;min-width:0}.assessment-group>summary small,.assessment-class>summary small{color:var(--muted);font-weight:500}.assessment-group>summary svg,.assessment-class>summary svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;transition:transform .16s ease}.assessment-group[open]>summary svg,.assessment-class[open]>summary svg{transform:rotate(180deg)}.assessment-class-list{padding:0 1rem 1rem}.assessment-class{background:var(--surface-subtle)}.assessment-class>summary{padding:.85rem 1rem}.assessment-instrument-list{padding:0 1rem 1rem}.academic-context-create{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1rem .8rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:#fff;color:var(--muted)}.academic-context-create .compact{min-height:2.35rem;padding:.5rem .8rem;white-space:nowrap}.academic-context-blocker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1rem .8rem;padding:.7rem .8rem;border:1px solid #e7aaa8;border-radius:.7rem;background:#fff1f0;color:#9f2f2b}.academic-context-blocker>span{display:grid;gap:.18rem;line-height:1.4}.academic-context-blocker strong{color:#bd2924}.danger-outline-action{border:1px solid #d75b56;background:#fff;color:#b4231f;font-weight:800}.danger-outline-action:hover:not(:disabled){border-color:#b4231f;background:#ffe3e1}.assessment-card{background:#fff}.assessment-action-legend{margin-bottom:1rem}.assessment-card-compact{padding:.9rem 1rem;gap:.75rem}.assessment-card-summary{display:grid;grid-template-columns:minmax(13rem,1.1fr) minmax(23rem,1.8fr) auto;gap:1.4rem;align-items:center}.assessment-card-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.75rem}.assessment-card-summary h3,.assessment-card-summary p,.assessment-card-details p{margin:.25rem 0 0}.assessment-card-facts{display:grid;grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.75rem;margin:0}.assessment-card-facts div{min-width:0}.assessment-card-facts dt{color:var(--muted);font-size:.75rem}.assessment-card-facts dd{margin:.15rem 0 0;font-weight:700;overflow-wrap:anywhere}.assessment-card-details{display:flex;flex-wrap:wrap;gap:.45rem 1.5rem;padding:.7rem .8rem;border-radius:.7rem;background:#f5f8f6;color:var(--muted)}.assessment-card-details p{flex-basis:100%}@media(max-width:900px){.assessment-card-facts,.assessment-card-summary{grid-template-columns:1fr 1fr}.assessment-card-actions{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:620px){.assessment-card-summary,.assessment-card-facts{grid-template-columns:1fr}.academic-context-create,.academic-context-blocker{align-items:stretch;flex-direction:column}}.assessment-entry-row>span{display:grid;gap:.25rem}.assessment-entry-row small{color:var(--muted)}.coordination-page{padding:2.25rem 0 5rem}.coordination-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.coordination-metrics article{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}.coordination-metrics article.attention{border-color:#e7c785;background:#fffaf0}.coordination-metrics span{color:var(--muted);font-size:.72rem}.coordination-metrics strong{font-size:1.5rem}.coordination-metrics small{color:var(--muted);font-size:.68rem}.coordination-grid{display:grid;gap:.75rem}.coordination-class-card{display:grid;grid-template-columns:minmax(18rem,1.45fr) minmax(22rem,1fr);gap:.85rem 1.25rem;padding:1.1rem 1.2rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.coordination-class-identity{min-width:0}.coordination-class-card h3{margin:.4rem 0 .2rem;font-size:1rem}.coordination-class-card p{margin:0}.coordination-class-card .coordination-teachers{margin-top:.45rem;color:var(--text);font-size:.78rem}.coordination-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:0;padding:0}.coordination-facts>div{display:grid;gap:.15rem;padding:.65rem .7rem;border-radius:.8rem;background:var(--soft)}.coordination-facts dt{color:var(--muted);font-size:.68rem}.coordination-facts dd{margin:0;font-size:.88rem;font-weight:800}.coordination-class-bottom{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid var(--border)}.coordination-alerts{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.coordination-alerts li,.coordination-ready{padding:.5rem .7rem;border-radius:.7rem;font-size:.78rem}.coordination-alerts li.warning{color:#795313;background:#fff3d8}.coordination-alerts li.blocking{color:#8d302b;background:#fde7e4}.coordination-ready{display:inline-flex;align-items:center;gap:.4rem;color:#176548;background:#e6f5ed}.coordination-ready span{display:grid;width:1.2rem;height:1.2rem;place-items:center;border-radius:50%;color:#fff;background:#19835d;font-size:.7rem;font-weight:800}.coordination-card-actions{justify-content:flex-end;flex:0 0 auto}@media(max-width:70rem){.coordination-class-card{grid-template-columns:1fr}.coordination-class-bottom{grid-column:1}}@media(max-width:680px){.academic-entry-guidance{align-items:stretch;flex-direction:column}.academic-entry-guidance button{width:100%}.diary-card-summary,.attendance-row{grid-template-columns:1fr}.diary-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-card-actions{justify-content:flex-start;min-width:0}.attendance-row select,.diary-card .inline-actions,.diary-card .inline-actions button{width:100%}.assessment-entry-row{grid-template-columns:1fr;align-items:stretch}.assessment-group>summary,.assessment-class>summary{grid-template-columns:minmax(0,1fr) 2.25rem;gap:.5rem}.assessment-group>summary>span:nth-child(2),.assessment-class>summary>span:nth-child(2){grid-column:1;grid-row:2}.assessment-group>summary svg,.assessment-class>summary svg{grid-column:2;grid-row:1 / span 2}.coordination-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.coordination-heading,.coordination-class-bottom{align-items:stretch;flex-direction:column}.coordination-heading .inline-actions,.coordination-heading button,.coordination-card-actions,.coordination-card-actions button{width:100%}.coordination-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.enrollment-heading-actions,.enrollment-batch-toolbar,.student-batch-toolbar,.student-row-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.enrollment-batch-toolbar,.student-batch-toolbar{margin:1rem 0;padding:1rem;border:1px solid var(--border-color, #d9e5df);border-radius:.9rem;background:#f4faf7}.enrollment-batch-toolbar>div,.student-batch-toolbar>div{display:grid;gap:.2rem;margin-right:auto}.enrollment-batch-toolbar span,.student-batch-toolbar span{color:var(--muted-color, #65766e)}@media(max-width:720px){.enrollment-heading-actions,.enrollment-batch-toolbar,.student-batch-toolbar{align-items:stretch;flex-direction:column}.enrollment-heading-actions button,.enrollment-batch-toolbar button,.student-batch-toolbar button{width:100%}}
