.admin-app{grid-template-columns:var(--sidebar-width-collapsed) minmax(0, 1fr);background:var(--sis-bg-canvas);min-height:100vh;transition:grid-template-columns var(--sidebar-transition);display:grid}.admin-app:has(.admin-sidebar.is-open){grid-template-columns:var(--sidebar-width-expanded) minmax(0, 1fr)}.admin-sidebar{background:var(--surface-sidebar);border-right:1px solid var(--border-sidebar);height:100vh;transition:width var(--sidebar-transition);width:var(--sidebar-width-collapsed);z-index:40;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.admin-sidebar.is-open{width:var(--sidebar-width-expanded)}.admin-brand{border-bottom:1px solid var(--border-sidebar);flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:1.25rem .875rem 1rem;text-decoration:none;display:flex;overflow:hidden}.admin-brand-mark{background:linear-gradient(145deg, var(--brand-accent), var(--brand-primary));width:2.25rem;height:2.25rem;color:var(--color-surface);box-shadow:0 2px 8px color-mix(in srgb, var(--color-accent) 35%, transparent);border-radius:.625rem;flex-shrink:0;place-items:center;display:grid}.admin-brand-name{color:var(--text-inverse);letter-spacing:.01em;white-space:nowrap;opacity:0;transition:opacity var(--sidebar-transition);font-size:.78rem;font-weight:700;line-height:1.3}.admin-sidebar.is-open .admin-brand-name{opacity:1}.admin-nav{flex-direction:column;flex:1;gap:.125rem;padding:0 .5rem;display:flex;overflow:hidden auto}.admin-nav-section{flex-direction:column;display:flex}.admin-nav-trigger{width:100%;color:var(--text-sidebar);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:.625rem;align-items:center;gap:.75rem;padding:.625rem;transition:background .15s,color .15s;display:flex;overflow:hidden}.admin-nav-trigger:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.admin-nav-trigger.is-active{background:var(--surface-sidebar-active);color:var(--text-sidebar-active);box-shadow:inset 2px 0 0 var(--color-accent)}.admin-nav-icon{background:#ffffff0f;border-radius:.5rem;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:grid}.admin-nav-trigger.is-active .admin-nav-icon{background:#ffffff24}.admin-nav-label{opacity:0;transition:opacity var(--sidebar-transition);flex:1;font-size:.82rem;font-weight:600}.admin-sidebar.is-open .admin-nav-label{opacity:1}.admin-nav-chevron{opacity:0;transition:opacity var(--sidebar-transition), transform .2s ease;flex-shrink:0;align-items:center;display:flex}.admin-sidebar.is-open .admin-nav-chevron{opacity:1}.admin-nav-chevron.is-open{transform:rotate(90deg)}.admin-nav-items{flex-direction:column;gap:1px;padding:.25rem 0 .25rem 2.5rem;display:flex;overflow:hidden}.admin-nav-item{color:color-mix(in srgb, var(--color-text) 80%, transparent);white-space:nowrap;border-radius:.5rem;padding:.5rem .625rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.admin-nav-item:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.admin-nav-item.is-active{background:color-mix(in srgb, var(--color-accent) 25%, transparent);color:var(--color-accent-200);font-weight:600}.admin-sidebar-footer{border-top:1px solid var(--border-sidebar);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem .5rem;display:flex;overflow:hidden}.admin-user{align-items:center;gap:.75rem;padding:.375rem .25rem;display:flex;overflow:hidden}.admin-user-avatar{background:color-mix(in srgb, var(--color-accent) 35%, transparent);width:2rem;height:2rem;color:var(--color-accent-200);letter-spacing:.04em;border-radius:999px;flex-shrink:0;place-items:center;font-size:.7rem;font-weight:800;display:grid}.admin-user-info{opacity:0;min-width:0;transition:opacity var(--sidebar-transition);flex-direction:column;display:flex}.admin-sidebar.is-open .admin-user-info{opacity:1}.admin-user-info strong{color:var(--text-inverse);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;display:block;overflow:hidden}.admin-user-info small{color:color-mix(in srgb, var(--color-text) 65%, transparent);margin-top:.1rem;font-size:.7rem;display:block}.admin-signout{border:1px solid var(--border-sidebar);width:100%;color:color-mix(in srgb, var(--color-text) 65%, transparent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.78rem;font-weight:500;transition:background .15s,color .15s;display:flex;overflow:hidden}.admin-signout:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.admin-signout-label{opacity:0;transition:opacity var(--sidebar-transition)}.admin-sidebar.is-open .admin-signout-label{opacity:1}.admin-main{background:var(--sis-bg-canvas);flex-direction:column;min-width:0;min-height:100vh;display:flex}.admin-topbar{z-index:20;background:color-mix(in srgb, var(--sis-bg-canvas) 92%, transparent);border-bottom:1px solid var(--sis-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:1.5rem;padding:.875rem 2rem;display:flex;position:sticky;top:0}.admin-topbar-left{min-width:0}.admin-eyebrow{color:var(--sis-primary);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.admin-title{color:var(--sis-text-primary);letter-spacing:-.025em;margin:.2rem 0 0;font-size:1.35rem;font-weight:760;line-height:1.2}.admin-topbar-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.admin-topbar-with-controls,.admin-topbar-with-controls .admin-topbar-right{align-items:flex-end}.admin-search{border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--surface-card);height:2.25rem;color:var(--text-muted);box-shadow:var(--shadow-card);align-items:center;gap:.5rem;padding:0 .75rem;display:flex}.admin-search input{color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;width:14rem;font-size:.82rem}.admin-search input::placeholder{color:var(--text-muted)}.admin-search kbd{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-muted);border-radius:.35rem;align-items:center;padding:.1rem .35rem;font-family:inherit;font-size:.68rem;display:inline-flex}.admin-search svg{flex-shrink:0}.admin-search-wrapper{position:relative}.admin-search-dropdown{z-index:50;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);width:22rem;box-shadow:var(--shadow-popover);padding:.375rem;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.admin-search-result{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;transition:background .12s;display:flex}.admin-search-result:hover,.admin-search-result.is-active{background:var(--status-info-bg)}.admin-search-result-avatar{background:linear-gradient(145deg, var(--color-accent-800), var(--color-accent-700));width:2rem;height:2rem;color:var(--color-accent-100);border-radius:999px;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.admin-search-result-info{flex:1;min-width:0}.admin-search-result-info strong{color:var(--text-primary);font-size:.85rem;font-weight:600;display:block}.admin-search-result-info small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.75rem;display:block;overflow:hidden}.admin-search-result-status{border-radius:var(--radius-chip);background:var(--status-info-bg);color:var(--status-info);text-transform:capitalize;flex-shrink:0;padding:.2rem .55rem;font-size:.7rem;font-weight:600}.admin-context-banner{background:linear-gradient(90deg, var(--color-accent-900), var(--color-accent-800));border-bottom:1px solid var(--color-accent-700);align-items:center;gap:.875rem;padding:.625rem 2rem;display:flex}.admin-context-avatar{background:var(--brand-accent);width:2rem;height:2rem;color:var(--color-surface);border-radius:999px;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.admin-context-info{color:var(--brand-primary);flex:1;font-size:.85rem;font-weight:600}.admin-context-info span{color:var(--color-accent);font-weight:400}.admin-context-status{opacity:.75}.admin-context-clear{border:1px solid var(--color-accent-700);width:1.75rem;height:1.75rem;color:var(--color-accent);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;place-items:center;transition:background .12s;display:grid}.admin-context-clear:hover{background:var(--color-accent-800)}.admin-nav-item-context{opacity:.6;font-size:.72rem;font-weight:400}.admin-title-context{color:var(--brand-accent);font-weight:500}.admin-page-header{padding:1rem 2rem 0}.admin-subtitle{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.admin-greeting{color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.5}.admin-greeting strong{color:var(--text-primary);font-weight:700}.admin-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.admin-quick-action{border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-card);border-radius:.875rem;align-items:center;gap:.875rem;padding:.875rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.admin-quick-action:hover{border-color:var(--brand-accent);box-shadow:0 4px 16px -4px color-mix(in srgb, var(--color-accent) 20%, transparent);transform:translateY(-1px)}.admin-quick-action-icon{background:linear-gradient(145deg, var(--color-accent-900), var(--color-accent-800));width:2.25rem;height:2.25rem;color:var(--brand-primary);border-radius:.625rem;flex-shrink:0;place-items:center;display:grid}.admin-quick-action-icon svg{width:1.1rem;height:1.1rem}.admin-quick-action span:last-child{color:var(--text-muted);margin-top:.1rem;font-size:.75rem;font-weight:400;display:block}.admin-dashboard-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.admin-panel{border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card);padding:1.25rem}.admin-panel-heading{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.admin-panel-heading h2{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.admin-panel-heading a{color:var(--brand-accent);font-size:.8rem;font-weight:600;text-decoration:none}.admin-panel-heading a:hover{text-decoration:underline}.admin-signal-list{flex-direction:column;gap:.625rem;display:flex}.admin-signal-row{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:.75rem;align-items:center;gap:.75rem;padding:.75rem;display:flex}.admin-signal-urgency{background:var(--text-muted);border-radius:999px;flex-shrink:0;width:.5rem;height:.5rem}.admin-signal-urgency[data-level=high],.admin-signal-urgency[data-level=critical]{background:var(--status-danger)}.admin-signal-urgency[data-level=medium]{background:var(--status-warning)}.admin-signal-urgency[data-level=low]{background:var(--status-success)}.admin-signal-name{color:var(--text-primary);flex:1;font-size:.85rem;font-weight:500}.admin-signal-badge{border-radius:var(--radius-chip);text-transform:capitalize;flex-shrink:0;padding:.2rem .55rem;font-size:.7rem;font-weight:600}.admin-signal-badge[data-level=high],.admin-signal-badge[data-level=critical]{background:var(--status-danger-bg);color:var(--status-danger)}.admin-signal-badge[data-level=medium]{background:var(--status-warning-bg);color:var(--status-warning)}.admin-signal-badge[data-level=low]{background:var(--status-success-bg);color:var(--status-success)}.admin-signal-empty{color:var(--text-muted);margin:0;font-size:.88rem}.admin-quick-action-groups{flex-direction:column;gap:1.5rem;display:flex}.admin-quick-action-group-label{flex-direction:column;gap:.15rem;margin-bottom:.625rem;display:flex}.admin-quick-action-group-label>span:first-child{color:var(--text-primary);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:700}.admin-quick-action-group-desc{color:var(--text-muted);font-size:.78rem;font-weight:400}.admin-rec-summary{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.admin-rec-count{color:var(--text-primary);font-size:2.25rem;font-weight:800;line-height:1}.admin-rec-label{color:var(--text-muted);font-size:.875rem;font-weight:400}.admin-rec-breakdown{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.admin-rec-category{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);border-radius:.75rem;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.admin-rec-category:hover{border-color:var(--brand-accent);background:var(--surface-card)}.admin-rec-category-count{min-width:1.75rem;color:var(--text-primary);font-size:1rem;font-weight:700}.admin-rec-category>span:nth-child(2){flex:1}.admin-rec-category svg{color:var(--text-muted);flex-shrink:0}.admin-rec-cta{background:var(--brand-primary);width:100%;color:var(--color-surface);border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:flex}.admin-rec-cta:hover{opacity:.88}.faculty-stat{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.5rem 1rem;display:flex}.faculty-stat-icon{color:var(--brand-accent);justify-content:center;align-items:center;display:flex}.faculty-stat-icon svg{width:1.4rem;height:1.4rem}.faculty-stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1}.faculty-stat-label{color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;font-weight:500}.faculty-section-list{flex-direction:column;gap:0;display:flex}.faculty-section-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:5rem 1fr auto auto;align-items:center;gap:.75rem;padding:.65rem 0;font-size:.875rem;display:grid}.faculty-section-row:last-child{border-bottom:none}.faculty-section-code{color:var(--brand-accent);background:color-mix(in srgb, var(--color-accent) 8%, transparent);white-space:nowrap;border-radius:.35rem;padding:.15rem .4rem;font-family:ui-monospace,monospace;font-size:.78rem;font-weight:600}.faculty-section-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.faculty-section-roster{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.faculty-section-alert{color:var(--status-warning);align-items:center;display:flex}.faculty-grade-link{color:var(--brand-accent);white-space:nowrap;font-size:.8rem;font-weight:600;text-decoration:none}.faculty-grade-link:hover{text-decoration:underline}.faculty-switch-link{color:var(--text-sidebar);border:1px solid var(--border-sidebar);border-radius:var(--radius-button);padding:.4rem .75rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.faculty-switch-link:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.sections-list{flex-direction:column;gap:1rem;display:flex}.sections-panel-title{color:var(--text-primary);align-items:center;gap:.4rem;margin:0;font-size:1rem;font-weight:600;display:flex}.sections-roster-count{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.8rem;display:flex}.sections-alert-list{color:var(--status-warning);margin:0 0 .75rem;padding:0 0 0 1.2rem;font-size:.82rem}.sections-id-label{color:var(--text-muted);margin:0;font-size:.82rem}.sections-id-code{font-family:ui-monospace,monospace;font-size:.8em}.sections-actions{margin-top:.75rem}.sections-registration-review{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.sections-registration-row{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.sections-registration-student{color:var(--text-primary);font-size:.92rem;font-weight:700;text-decoration:none}.sections-registration-student:hover{color:var(--brand-accent)}.sections-registration-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.sections-registration-status{white-space:nowrap;border:1px solid var(--border-subtle);color:var(--text-muted);text-transform:capitalize;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .55rem;font-size:.74rem;font-weight:700;display:inline-flex}.sections-registration-status.is-registered{border-color:color-mix(in srgb, var(--status-success) 34%, transparent);color:var(--status-success)}.sections-registration-status.is-waitlisted,.sections-registration-status.is-pending_confirmation{border-color:color-mix(in srgb, var(--status-warning) 34%, transparent);color:var(--status-warning)}.transcript-student-number{min-width:6rem;font-size:.75rem}.transcript-info-panel{margin-bottom:1rem}.attendance-roster-panel{margin-top:1rem}.attendance-date-input{border:1px solid var(--border-subtle);border-radius:var(--radius-input);width:12rem;color:var(--text-primary);background:var(--surface-card);outline:none;padding:.45rem .75rem;font-size:.875rem}.attendance-date-input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 15%, transparent)}.attendance-roster{flex-direction:column;gap:0;display:flex}.attendance-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.attendance-row:last-child{border-bottom:none}.attendance-student-name{color:var(--text-primary);min-width:10rem;font-size:.875rem;font-weight:500}.attendance-status-group{flex-wrap:wrap;gap:.375rem;display:flex}.attendance-status-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-chip);background:var(--surface-base);color:var(--text-muted);cursor:pointer;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.78rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:flex}.attendance-status-btn:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent);border-color:var(--brand-accent);color:var(--brand-accent)}.attendance-status-btn.is-selected.is-present{background:var(--status-success-bg);border-color:var(--status-success);color:var(--status-success)}.attendance-status-btn.is-selected.is-absent{background:var(--status-danger-bg);border-color:var(--status-danger);color:var(--status-danger)}.attendance-status-btn.is-selected.is-late{background:var(--status-warning-bg);border-color:var(--status-warning);color:var(--status-warning)}.attendance-status-btn.is-selected.is-excused{background:var(--status-info-bg);border-color:var(--status-info);color:var(--status-info)}.attendance-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:1rem;margin-top:.5rem;padding-top:1rem;display:flex}.attendance-saved-badge{color:var(--status-success);align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}.attendance-error-badge{color:var(--status-danger);align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}.attendance-submit-btn{background:var(--brand-primary);color:var(--color-surface);border-radius:var(--radius-button);cursor:pointer;border:none;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.attendance-submit-btn:disabled{opacity:.6;cursor:not-allowed}.attendance-submit-btn:hover:not(:disabled){opacity:.88}.admin-content{flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem 2rem 3rem;display:flex}.academy-app{background:var(--sis-bg-canvas);grid-template-columns:23.75rem minmax(0,1fr);min-height:100vh;display:grid}.academy-sidebar{border-right:1px solid var(--border-sidebar);background:var(--surface-sidebar);height:100vh;box-shadow:inset -1px 0 0 var(--border-sidebar);grid-template-rows:auto auto auto 1fr auto;padding:1.65rem 1.4rem;display:grid;position:sticky;top:0;overflow:hidden}.sidebar-heading h1,.academy-titlebar h2{color:var(--text-inverse);letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:760}.sidebar-heading p,.academy-titlebar p,.sidebar-product span,.sidebar-context span,.sidebar-user span,.tenant-left span{color:var(--text-sidebar);margin:.2rem 0 0;font-size:1rem}.sidebar-product{align-items:center;gap:1rem;margin-top:2.8rem;display:flex}.sidebar-product-icon,.sidebar-user-icon{background:var(--surface-sidebar-active);width:3.25rem;height:3.25rem;color:var(--text-sidebar-active);box-shadow:inset 0 1px 0 var(--border-sidebar);border-radius:999px;place-items:center;display:grid}.sidebar-product-icon svg,.sidebar-user-icon svg,.sidebar-link svg,.tenant-badge svg{width:1.15rem;height:1.15rem}.sidebar-product strong,.sidebar-context strong,.sidebar-user strong{color:var(--text-inverse);font-size:1.05rem;display:block}.sidebar-context{border:1px solid var(--border-sidebar);border-radius:var(--sis-radius-md);background:var(--surface-sidebar-active);margin-top:1.45rem;padding:1.25rem 1.15rem}.sidebar-nav{border-top:1px solid var(--border-sidebar);margin-top:1.15rem;padding-top:1.1rem;overflow:auto}.sidebar-section-label{color:var(--text-sidebar);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.9rem;font-weight:750;display:flex}.sidebar-section-label svg{width:1rem;height:1rem}.sidebar-link{border-radius:var(--sis-radius-md);color:var(--text-sidebar-active);border:1px solid #0000;align-items:center;gap:1rem;margin-top:.65rem;padding:1rem 1.05rem;transition:border-color .18s,background .18s;display:flex}.sidebar-link svg{color:var(--text-sidebar)}.sidebar-link strong,.sidebar-link small{display:block}.sidebar-link strong{font-size:1rem;font-weight:560}.sidebar-link small{color:var(--text-sidebar);margin-top:.2rem;font-size:.86rem}.sidebar-link.is-active{border-color:var(--border-sidebar);background:var(--surface-sidebar-active);color:var(--text-inverse)}.sidebar-footer{border-top:1px solid var(--border-sidebar);flex-direction:column;gap:.75rem;padding-top:1.15rem;display:flex}.sidebar-user{border:1px solid var(--border-sidebar);border-radius:var(--sis-radius-md);background:var(--surface-sidebar-active);align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.sidebar-footer form{width:100%;display:flex}.sidebar-footer button{border:1px solid var(--border-sidebar);border-radius:var(--sis-radius-md);background:var(--surface-sidebar-active);width:100%;color:var(--text-sidebar);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-weight:500;transition:all .2s;display:flex}.sidebar-footer button:hover{background:var(--surface-sidebar-hover);color:var(--text-inverse);border-color:var(--border-sidebar)}.academy-main{min-width:0}.academy-titlebar{border-bottom:1px solid var(--border-sidebar);background:var(--surface-topbar);min-height:5.9rem;padding:1.45rem 2rem}.tenant-toolbar,.page-shell{width:min(100%,100vw - 23.75rem);margin:0}.tenant-toolbar{border:1px solid var(--sis-border);border-radius:var(--sis-radius-md);background:var(--sis-surface);width:calc(100% - 4rem);box-shadow:var(--sis-shadow-elev);justify-content:space-between;align-items:center;gap:1rem;margin:1.85rem auto 0;padding:1.5rem 1.55rem;display:flex}.tenant-left{align-items:center;gap:1.15rem;min-width:0;display:flex}.tenant-badge{border-radius:var(--sis-radius-sm);border:1px solid var(--sis-border);background:var(--sis-secondary-light);height:1.8rem;color:var(--sis-primary);font-weight:750}.brand-lockup{align-items:center;gap:1rem;display:flex}.brand-seal{background:linear-gradient(140deg, var(--primary), #2f5c95);color:#fff;letter-spacing:.08em;border-radius:999px;place-items:center;width:3rem;height:3rem;font-size:.86rem;font-weight:800;display:grid}.brand-heading{letter-spacing:.04em;text-transform:uppercase;font-size:1rem;font-weight:700}.brand-caption{color:var(--muted-foreground);font-size:.9rem}.token,.pill{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:999px;padding:.48rem .85rem;font-size:.84rem}.page-shell{gap:1.25rem;width:calc(100% - 4rem);padding:1.75rem 0 2.5rem;display:grid}.panel,.workflow-card{border:1px solid color-mix(in srgb, var(--color-text) 26%, transparent);background:var(--color-surface);border-radius:2rem;box-shadow:0 22px 42px -34px #0000006b,inset 0 1px #ffffff14}.panel{padding:1.35rem}.eyebrow{color:var(--muted-foreground);letter-spacing:.16em;text-transform:uppercase;font-size:.82rem}.page-hero h1,.hero-panel h2{letter-spacing:-.03em;margin:.75rem 0 0;font-size:clamp(2rem,3vw,3rem);line-height:1}.page-hero p,.hero-panel p,.workflow-card p,.muted-text,.stat-detail,.list-block li,.draft-box pre,.explanation-list dd{color:var(--muted-foreground);line-height:1.7}.page-hero p{max-width:44rem;font-size:1.08rem}.boundary-title,.hero-kicker,.section-heading h2,.list-block strong,.draft-box strong,.explanation-list dt{font-family:Gill Sans,Avenir Next,Trebuchet MS,sans-serif}.boundary-title,.hero-kicker{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:.86rem;font-weight:700}.hero-grid,.content-grid,.stats-grid,.three-column{gap:1.25rem;display:grid}.hero-grid,.content-grid{grid-template-columns:1.25fr .9fr}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{gap:1.25rem;display:grid}.status-panel,.workflow-list{gap:.9rem;display:grid}.status-row{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:1rem;padding:.9rem 1rem}.status-label,.stat-label,.confidence,.muted-inline{color:var(--muted-foreground);font-size:.88rem}.status-value,.stat-value{margin-top:.25rem;font-size:1.5rem;font-weight:700}.status-good{color:var(--success)}.status-warn{color:var(--warning)}.stat-card{border-radius:2rem;min-height:8.9rem;padding:1.7rem}.tone-gold,.tone-alert{background:var(--color-surface)}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h2{margin:0;font-size:1.2rem}.list-block ul{margin:.75rem 0 0;padding-left:1.2rem}.workflow-card{background:var(--color-surface);padding:1.1rem 1.15rem}.workflow-card h3{margin:.7rem 0 0;font-size:1.15rem}.workflow-card-top,.pill-row,.action-row,.token-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.workflow-card-top{justify-content:space-between}.pill{padding:.3rem .7rem;font-size:.8rem}.urgency-high{color:#fff;background:var(--danger);border-color:#0000}.urgency-medium{background:color-mix(in srgb, var(--status-warning) 18%, transparent);color:var(--status-warning)}.urgency-low{background:color-mix(in srgb, var(--status-success) 14%, transparent);color:var(--success)}.action-row{margin-top:1rem}.action-link{color:var(--primary);font-weight:700}.detail-card{background:var(--color-surface)}.explanation-list{gap:.75rem;margin-top:1rem;display:grid}.explanation-list dt{letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;font-weight:700}.explanation-list dd{margin:.15rem 0 0}.draft-box{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:1rem}.draft-box pre{white-space:pre-wrap;margin:.75rem 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:.88rem}.compact-list .workflow-card{min-height:100%}.filter-panel{background:var(--color-surface)}.workflow-board{gap:1.25rem;display:grid}.control-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.control-grid label,.feedback-row{gap:.45rem;display:grid}.control-grid span{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-family:Gill Sans,Avenir Next,Trebuchet MS,sans-serif;font-size:.82rem;font-weight:700}.filter-label{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.sis-route-stats-grid,.ops-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.sis-route-content-grid,.ops-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.sis-route-card,.sis-route-metric,.ops-panel,.ops-metric{border-color:var(--sis-border);border-radius:var(--sis-radius-md);box-shadow:var(--sis-shadow-elev);background:var(--sis-surface)}.sis-route-metric,.ops-metric{min-height:10.5rem}.ops-metric-link{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:inherit;background:0 0;border:0;padding:0;text-decoration:none;display:block}.ops-metric-link .ops-metric{transition:transform .18s,box-shadow .18s}.ops-metric-link:hover .ops-metric,.ops-metric-link:focus-visible .ops-metric{box-shadow:var(--shadow-card);transform:translateY(-2px)}.ops-metric-link:focus-visible{outline:2px solid var(--sis-warning);outline-offset:3px;border-radius:var(--sis-radius-md)}.sis-route-metric [data-slot=card-content],.ops-metric [data-slot=card-content]{height:100%;padding:1.65rem 1.75rem}.ops-metric-inner{text-align:center;grid-template-rows:auto auto 1fr auto;height:100%;display:grid}.sis-route-metric-label,.ops-metric-label{color:var(--sis-text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:760}.sis-route-metric-value,.ops-metric-value{color:var(--sis-text-primary);letter-spacing:-.02em;margin-top:.75rem;font-size:2.25rem;font-weight:800;line-height:1}.sis-route-metric-detail,.ops-metric-detail{color:var(--sis-text-secondary);justify-content:center;align-items:center;gap:.4rem;margin-top:.65rem;font-size:.82rem;display:flex}.ops-metric-bars{align-items:flex-end;gap:3px;height:2.6rem;margin-top:1rem;padding-top:.25rem;display:flex}.ops-metric-bar{min-height:3px;height:var(--bar-h,20%);background:color-mix(in srgb, var(--color-accent) 45%, transparent);border-radius:3px 3px 0 0;flex:1;transition:height .3s}.ops-metric-bars[data-accent=danger] .ops-metric-bar{background:color-mix(in srgb, var(--status-danger) 38%, transparent)}.ops-metric-bars[data-accent=warn] .ops-metric-bar{background:color-mix(in srgb, var(--status-warning) 38%, transparent)}.ops-metric-bars .ops-metric-bar:last-child{background:color-mix(in srgb, var(--color-accent) 72%, transparent)}.ops-metric-bars[data-accent=danger] .ops-metric-bar:last-child{background:color-mix(in srgb, var(--status-danger) 80%, transparent)}.ops-metric-bars[data-accent=warn] .ops-metric-bar:last-child{background:color-mix(in srgb, var(--status-warning) 75%, transparent)}.ops-recommendation-preview{grid-column:1/-1}.ops-empty-state{margin-top:1.5rem}.ops-empty-card [data-slot=card-content]{padding:1.75rem 2rem}.ops-empty-header{align-items:center;gap:.95rem;display:flex}.ops-empty-icon{width:2rem;height:2rem;color:var(--status-warning);background:color-mix(in srgb, var(--status-warning) 16%, transparent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.ops-empty-icon svg{width:1.1rem;height:1.1rem}.ops-empty-eyebrow{color:var(--status-warning);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:760}.ops-empty-header h3{color:var(--color-text);margin:.2rem 0 0;font-size:1.18rem}.ops-empty-copy{color:var(--color-text-muted);margin:.9rem 0 0;font-size:.92rem;line-height:1.5}.ops-empty-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.1rem;display:flex}.sis-route-metric-detail svg,.ops-metric-detail svg,.ops-list-icon svg{width:1rem;height:1rem}.sis-route-card-header,.ops-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.sis-route-action-link,.academy-action-link{border:1px solid var(--sis-border);border-radius:var(--sis-radius-md);min-height:2.25rem;color:var(--sis-primary);justify-content:center;align-items:center;gap:.5rem;padding:.5rem .8rem;font-size:.88rem;font-weight:720;text-decoration:none;transition:border-color .16s,background .16s;display:inline-flex}.sis-route-action-link:hover,.academy-action-link:hover{border-color:var(--sis-primary);background:var(--sis-secondary-light)}.sis-route-action-link svg,.academy-action-link svg{width:1rem;height:1rem}.sis-route-heading,.ops-heading{align-items:center;gap:1rem;display:flex}.sis-route-icon,.ops-icon,.ops-list-icon{background:var(--sis-secondary-light);width:3rem;height:3rem;color:var(--sis-primary);border-radius:999px;flex:none;place-items:center;display:grid}.ops-list{gap:1rem;display:grid}.ops-list-item{align-items:flex-start;gap:.95rem;display:flex}.ops-list-item strong,.ops-readiness-row span{color:var(--sis-text-primary);font-weight:700;display:block}.ops-list-item span{color:var(--sis-text-secondary);margin-top:.2rem;font-size:.92rem;line-height:1.45;display:block}.ops-readiness-row{border-bottom:1px solid var(--sis-border);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.ops-readiness-row:last-child{border-bottom:0}.ops-readiness-row strong{min-width:0;color:var(--sis-text-primary);text-align:right;font-size:.92rem;font-weight:720}.institution-metric-value{font-size:1.55rem;line-height:1.15}.institution-chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.institution-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.institution-review-tile{border:1px solid var(--sis-border);border-radius:var(--sis-radius-md);align-content:space-between;gap:.85rem;min-height:5.25rem;padding:.9rem;display:grid}.institution-review-tile span{color:var(--sis-text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;font-weight:760}.institution-review-tile strong{color:var(--sis-text-primary);font-size:.98rem;font-weight:760}.institution-review-secondary{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.institution-validation-panel{min-height:100%}.institution-people-icon{width:1.5rem;height:1.5rem}.calendar-review-primary{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.25fr)}.calendar-review-secondary{grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr) minmax(0,.9fr)}.calendar-review-stack,.calendar-window-grid,.calendar-subdivision-grid{gap:.85rem;display:grid}.calendar-window-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.calendar-subdivision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-review-card,.calendar-subdivision-tile,.calendar-window-group{border:1px solid var(--border-subtle);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.calendar-review-card strong,.calendar-subdivision-tile strong,.calendar-window-row strong{color:var(--color-text);font-size:.96rem;font-weight:760;display:block}.calendar-review-card span,.calendar-subdivision-tile span,.calendar-window-row span,.calendar-window-row small,.calendar-empty-state{color:var(--color-text-muted);font-size:.86rem;line-height:1.35;display:block}.calendar-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.calendar-window-heading{color:var(--color-text);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:780}.calendar-window-row{border-top:1px solid var(--border-subtle);gap:.18rem;padding-top:.7rem;display:grid}.calendar-validation-panel{min-height:100%}.course-review-primary{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.45fr)}.course-review-secondary{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr)}.course-review-stack,.course-card-grid,.course-coverage-grid{gap:.85rem;display:grid}.course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.course-review-card,.course-coverage-group{border:1px solid var(--border-subtle);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.course-review-card strong{color:var(--color-text);font-size:.96rem;font-weight:760;display:block}.course-review-card span,.course-empty-state{color:var(--color-text-muted);font-size:.86rem;line-height:1.35;display:block}.course-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.course-section-heading{color:var(--color-text);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:780}.course-coverage-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.65rem;display:flex}.course-coverage-row span{color:var(--color-text-muted);font-size:.88rem;font-weight:690}.course-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.course-detail-item{background:var(--surface-card-muted);border-radius:.45rem;min-width:0;padding:.65rem}.course-detail-item span{color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:760}.course-detail-item strong{overflow-wrap:anywhere;margin-top:.2rem;font-size:.86rem}.course-validation-panel{min-height:100%}.grading-review-primary{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.2fr)}.grading-review-secondary{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr)}.grading-review-stack,.grading-card-grid,.grading-coverage-grid,.grading-band-list{gap:.85rem;display:grid}.grading-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grading-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.grading-review-card,.grading-coverage-group{border:1px solid var(--border-subtle);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.grading-review-card strong{color:var(--color-text);font-size:.96rem;font-weight:760;display:block}.grading-review-card span{color:var(--color-text-muted);font-size:.86rem;line-height:1.35;display:block}.grading-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.grading-section-heading{color:var(--color-text);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:780}.grading-coverage-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.65rem;display:flex}.grading-coverage-row span,.grading-band-list span{color:var(--color-text-muted);font-size:.88rem;font-weight:690}.grading-band-list span{background:var(--surface-card-muted);border-radius:.45rem;padding:.55rem .65rem}.grading-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.grading-detail-item{background:var(--surface-card-muted);border-radius:.45rem;min-width:0;padding:.65rem}.grading-detail-item span{color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:760}.grading-detail-item strong{overflow-wrap:anywhere;margin-top:.2rem;font-size:.86rem}.grading-validation-panel{min-height:100%}.people-review-primary{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.25fr)}.people-review-secondary{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr)}.people-review-stack,.people-card-grid,.people-coverage-grid{gap:.85rem;display:grid}.people-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.people-review-card,.people-coverage-group{border:1px solid var(--border-subtle);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.people-review-card strong{color:var(--color-text);font-size:.96rem;font-weight:760;display:block}.people-review-card span{color:var(--color-text-muted);font-size:.86rem;line-height:1.35;display:block}.people-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.people-section-heading{color:var(--color-text);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:780}.people-coverage-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.65rem;display:flex}.people-coverage-row span{color:var(--color-text-muted);font-size:.88rem;font-weight:690}.people-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.people-detail-item{background:var(--surface-card-muted);border-radius:.45rem;min-width:0;padding:.65rem}.people-detail-item span{color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:760}.people-detail-item strong{overflow-wrap:anywhere;margin-top:.2rem;font-size:.86rem}.people-validation-panel{min-height:100%}.student-identity-card [data-slot=card-content]{padding:1.5rem}.student-identity-layout{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.2rem;display:grid}.student-avatar{background:var(--color-accent-800);width:4.5rem;height:4.5rem;color:var(--color-accent-100);border-radius:999px;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.student-identity-kicker{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:760}.student-identity-main h2{color:var(--color-text);letter-spacing:-.03em;margin:.2rem 0 0;font-size:1.75rem;font-weight:760}.student-identity-main p{color:var(--color-text-muted);margin:.25rem 0 0}.student-badge-row,.student-chip-list,.student-insight-badges{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.student-tabs{gap:1rem}.student-tabs-list{background:var(--surface-card-muted);width:fit-content}.student-insight-list{gap:1rem;display:grid}.student-insight-card{border:1px solid var(--border-subtle);border-radius:1.25rem;gap:1rem;padding:1rem;display:grid}.student-insight-top{grid-template-columns:minmax(0,1fr) auto;gap:1rem;display:grid}.student-insight-top h3{color:var(--color-text);margin:0;font-size:1rem;font-weight:750}.student-insight-top p{color:var(--color-text-muted);margin:.25rem 0 0;line-height:1.55}.student-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.student-insight-block{background:var(--surface-card-muted);border-radius:1rem;padding:.9rem}.student-insight-block-title{color:var(--color-text);align-items:center;gap:.45rem;font-weight:750;display:flex}.student-insight-block-title svg{width:1rem;height:1rem}.student-insight-block ul{margin:.65rem 0 0;padding-left:1rem}.student-insight-block li{color:var(--color-text-muted);line-height:1.5}.student-field-list{gap:.75rem;display:grid}.student-field-row,.sis-route-empty,.student-empty-state{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.student-field-row:last-child{border-bottom:0}.student-field-row span,.sis-route-empty,.student-empty-state{color:var(--color-text-muted)}.student-field-row strong{color:var(--color-text);text-align:right}.sis-route-empty,.student-empty-state{border-bottom:0;justify-content:flex-start}.sis-route-empty svg,.student-empty-state svg{width:1.1rem;height:1.1rem;color:var(--sis-primary)}.button-row,.feedback-row{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.85rem;display:flex}.feedback-row{border-top:1px solid var(--border-subtle);padding-top:.85rem}.feedback-row select{width:min(14rem,100%)}.feedback-row input{flex:16rem}.token-row{margin-top:.85rem}.token{padding:.35rem .75rem}@media (max-width:1080px){.academy-app{grid-template-columns:1fr}.academy-sidebar{height:auto;position:relative}.tenant-toolbar,.page-shell{width:calc(100% - 2rem)}.hero-grid,.content-grid,.stats-grid,.three-column,.control-grid,.ops-stats-grid,.ops-content-grid,.admin-dashboard-grid,.admin-quick-actions,.student-identity-layout,.student-insight-top,.student-insight-grid,.institution-review-secondary,.institution-review-grid,.calendar-review-primary,.calendar-review-secondary,.calendar-window-grid,.calendar-subdivision-grid,.course-review-primary,.course-review-secondary,.course-card-grid,.course-coverage-grid,.course-detail-grid,.grading-review-primary,.grading-review-secondary,.grading-card-grid,.grading-coverage-grid,.grading-detail-grid,.people-review-primary,.people-review-secondary,.people-card-grid,.people-coverage-grid,.people-detail-grid{grid-template-columns:1fr}.student-identity-actions,.student-field-row strong{text-align:left}}@media (max-width:720px){.tenant-toolbar,.tenant-left{border-radius:1.5rem;flex-direction:column;align-items:flex-start}}.ops-form{flex-direction:column;gap:1rem;display:flex}.ops-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ops-field{color:var(--muted-foreground,#6b7280);flex-direction:column;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.ops-input{border:1px solid var(--border,#e5e7eb);background:var(--background,#fff);height:2.25rem;color:var(--foreground,#111);border-radius:.375rem;outline:none;padding:0 .75rem;font-size:.875rem;transition:border-color .15s}.ops-input:focus{border-color:var(--primary,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary,#2563eb) 20%, transparent)}.custom-report-column-group{border:1px solid var(--border,#e5e7eb);background:var(--background,#fff);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.custom-report-column-list{flex-direction:column;gap:.35rem;display:flex}.custom-report-column-option{color:var(--foreground,#111);align-items:center;gap:.45rem;font-size:.875rem;font-weight:400;display:flex}.ops-form-actions{justify-content:flex-end;padding-top:.5rem;display:flex}.ops-alert{border-radius:.5rem;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.ops-alert-success{background:color-mix(in srgb, var(--status-success) 12%, transparent);border:1px solid var(--status-success);color:var(--status-success)}.ops-alert-error{background:color-mix(in srgb, var(--status-danger) 12%, transparent);border:1px solid var(--status-danger);color:var(--status-danger)}.sis-route-page-action,.ops-page-action-link{margin-bottom:1rem;font-size:.875rem}@media (max-width:640px){.ops-form-row{grid-template-columns:1fr}}.ops-error-boundary{background:var(--color-surface,#f5f7fb);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.ops-error-content{text-align:center;width:100%;max-width:28rem}.ops-error-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted,#6b7280);margin-bottom:.75rem;font-size:.7rem;font-weight:600}.ops-error-title{color:var(--color-text,#111827);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.ops-error-copy{color:var(--color-text-muted,#6b7280);margin-bottom:2rem;font-size:.875rem;line-height:1.6}.ops-error-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.ops-error-retry{border:1px solid var(--border-subtle);background:var(--color-surface);cursor:pointer;color:var(--color-text-muted);border-radius:.5rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem}.ops-error-retry:hover{background:var(--surface-card-muted)}.ops-error-home{background:var(--color-accent-700);color:var(--color-neutral-100);border-radius:.5rem;padding:.5rem 1.25rem;font-size:.875rem;text-decoration:none;display:inline-block}.ops-error-home:hover{background:var(--color-accent-600)}.ops-error-digest{color:var(--color-text-muted);margin-top:2rem;font-size:.7rem}@keyframes ops-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ops-skeleton{background:var(--surface-card-muted);border-radius:.5rem;position:relative;overflow:hidden}.ops-skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-neutral-700) 50%, transparent 100%);animation:1.4s linear infinite ops-shimmer;position:absolute;inset:0}.ops-loading-shell{background:var(--color-surface,#f5f7fb);min-height:100vh;display:flex}.ops-loading-sidebar{border-right:1px solid var(--border-subtle);background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:1.5rem;width:220px;padding:1.5rem 1rem;display:flex}.ops-loading-logo{width:80%;height:2.5rem}.ops-loading-nav-group{flex-direction:column;gap:.5rem;display:flex}.ops-loading-nav-label{width:50%;height:.65rem;margin-bottom:.25rem}.ops-loading-nav-item{width:100%;height:2rem}.ops-loading-main{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex}.ops-loading-header{flex-direction:column;gap:.5rem;display:flex}.ops-loading-eyebrow{width:5rem;height:.65rem}.ops-loading-title{width:16rem;height:2rem}.ops-loading-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.ops-loading-stat{border-radius:1.5rem;height:7rem}.ops-loading-table{border-radius:1rem;height:20rem}.ops-empty-icon-inline{opacity:.4;margin:0 auto .75rem;display:block}.ops-transcript-form{max-width:28rem;padding:0 0 1rem}.ops-transcript-issued-time{color:var(--ops-text-secondary,#6b7280)}.ops-transcript-issue-btn{cursor:pointer;background:0 0;border:none;padding:0}.ops-form-field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.ops-form-label{color:var(--ops-text,#111827);font-size:.8125rem;font-weight:500}.ops-form-select,.ops-form-input{border:1px solid var(--ops-border,#e5e7eb);background:var(--color-surface);width:100%;color:var(--ops-text,#111827);border-radius:.5rem;outline:none;padding:.5rem .75rem;font-size:.875rem}.ops-form-select:focus,.ops-form-input:focus{border-color:var(--ops-accent,#6366f1);box-shadow:0 0 0 3px color-mix(in srgb, var(--ops-accent) 10%, transparent)}.ops-form-error{color:var(--status-danger);margin-bottom:.75rem;font-size:.8125rem}.ops-form-success{color:var(--status-success);margin-bottom:.75rem;font-size:.8125rem}.ops-btn-primary{background:var(--ops-accent,#6366f1);color:var(--color-surface);cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.375rem;padding:.5rem 1.125rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.ops-btn-primary:hover:not(:disabled){background:var(--color-accent-600)}.ops-btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.ops-loading-sidebar{display:none}.ops-loading-stats{grid-template-columns:repeat(2,1fr)}}.admin-mobile-menu-toggle{width:2.25rem;height:2.25rem;color:var(--ops-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;margin-right:.5rem;display:none}.admin-mobile-menu-toggle:hover{background:var(--ops-surface-2,#f3f4f6);color:var(--ops-text,#111827)}@media (max-width:1080px){.admin-mobile-menu-toggle{display:flex}.admin-app{grid-template-columns:1fr}.admin-sidebar{z-index:50;width:15rem;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.admin-app:before{content:"";z-index:49;background:#0006;display:none;position:fixed;inset:0}.sidebar-mobile-open .admin-sidebar{transform:translate(0)}.sidebar-mobile-open:before{display:block}.admin-main{width:100%;min-width:0}}@media print{.admin-sidebar,.admin-topbar,.admin-mobile-menu-toggle,.admin-search-wrapper,.admin-context-banner,.admin-page-action-link,.ops-page-action-link,.ops-btn-primary,.admin-signout,[class*=-retry],[class*=-home],[class*=-actions]{display:none!important}.admin-app{display:block!important}.admin-main{width:100%!important;padding:0!important}.admin-content{padding:0!important}.admin-page-header{padding:0 0 .5rem!important}table{border-collapse:collapse;width:100%;font-size:11pt}th,td{border:1px solid var(--border-subtle);padding:4px 8px}tr{page-break-inside:avoid}@page{margin:1.5cm}}.ops-ghost-page{text-align:center;min-height:40vh;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.ops-ghost-icon{opacity:.4;width:2.5rem;height:2.5rem}.ops-ghost-title{font-size:1.125rem;font-weight:600}.ops-ghost-detail{max-width:28rem;font-size:.875rem}.ops-ghost-link{color:var(--primary);font-size:.875rem;text-decoration:underline}.covenant-record-container{flex-direction:column;gap:1rem;display:flex}.covenant-record-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.covenant-field{gap:.25rem;display:grid}
.student-pwa{min-height:100vh;color:var(--text-primary);background:var(--color-surface)}.student-pwa-header{z-index:20;border-bottom:1px solid var(--border-subtle);background:var(--color-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;min-height:4.75rem;padding:.75rem 2rem;display:flex;position:sticky;top:0}.student-pwa-brand,.student-pwa-status,.student-pwa-summary-card,.student-pwa-panel-heading,.student-pwa-safe-state,.student-pwa-privacy-banner{align-items:center;display:flex}.student-pwa-learning-status{border:1px solid var(--border-subtle);color:var(--text-muted);background:var(--surface-soft-gradient);border-radius:1rem;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem 1.15rem;display:flex;box-shadow:inset 0 1px #ffffff13}.student-pwa-learning-status svg{width:1.15rem;height:1.15rem;color:var(--color-text-muted);flex:none}.student-pwa-learning-status strong,.student-pwa-learning-status span{display:block}.student-pwa-learning-status strong{color:var(--text-primary);font-size:.86rem}.student-pwa-learning-status span{margin-top:.2rem;font-size:.78rem}.student-pwa-record-list{gap:.65rem;margin-top:1rem;display:grid}.student-pwa-record-row{border-top:1px solid color-mix(in srgb, var(--color-text) 26%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.student-pwa-record-row:first-child{border-top:0;padding-top:0}.student-pwa-record-row strong,.student-pwa-record-row span{display:block}.student-pwa-record-row strong{font-size:.88rem}.student-pwa-record-row span,.student-pwa-record-row small{color:var(--text-muted);margin-top:.2rem;font-size:.75rem}.student-pwa-record-row small{text-align:right;flex:none;max-width:10rem}.student-pwa-surface{border:1px solid var(--border-subtle);background:var(--surface-gradient);border-radius:1rem;padding:1.25rem;box-shadow:0 14px 32px -24px #0000006b,inset 0 1px #ffffff14}.student-pwa-surface-heading{justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.student-pwa-surface-heading p{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:750}.student-pwa-surface-heading h2{margin:.3rem 0 0;font-size:1.2rem}.student-pwa-surface-heading>svg{width:1.25rem;height:1.25rem;color:var(--color-text-muted)}.student-pwa-surface-list{border-top:1px solid color-mix(in srgb, var(--color-text) 24%, transparent);display:grid}.student-pwa-surface-row{border-bottom:1px solid color-mix(in srgb, var(--color-text) 24%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem 0;display:grid}.student-pwa-surface-icon{width:2.5rem;height:2.5rem;color:var(--color-text-muted);background:var(--color-surface);border-radius:.75rem;place-items:center;display:grid}.student-pwa-surface-icon svg{width:1.1rem;height:1.1rem}.student-pwa-surface-row strong,.student-pwa-surface-row span{display:block}.student-pwa-surface-row strong{font-size:.9rem}.student-pwa-surface-row span{color:var(--text-muted);margin-top:.2rem;font-size:.76rem}.student-pwa-surface-row small{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:999px;padding:.4rem .6rem;font-size:.72rem;font-weight:650}.student-pwa-surface>.student-pwa-safe-state{width:fit-content}.student-pwa-action{border:1px solid var(--color-accent-700);color:var(--color-neutral-100);background:var(--color-accent-700);cursor:pointer;border-radius:.6rem;align-items:center;gap:.35rem;padding:.55rem .9rem;font-size:.84rem;font-weight:650;text-decoration:none;display:inline-flex}.student-pwa-action:disabled{opacity:.6;cursor:not-allowed}.student-pwa-action-secondary{border:1px solid var(--border-subtle);color:var(--color-text-muted);background:var(--surface-card-muted);cursor:pointer;border-radius:.6rem;align-items:center;gap:.35rem;padding:.55rem .9rem;font-size:.84rem;font-weight:600;display:inline-flex}.student-pwa-action-secondary:disabled{opacity:.6;cursor:not-allowed}.student-pwa-alert{color:var(--status-danger);background:var(--status-danger-bg);border:1px solid var(--status-danger);border-radius:.5rem;margin:.5rem 0 0;padding:.6rem .85rem;font-size:.82rem}.student-pwa-form{border:1px solid color-mix(in srgb, var(--color-text) 28%, transparent);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:.75rem;gap:.85rem;padding:1rem;display:grid}.student-pwa-form-row{gap:.35rem;display:grid}.student-pwa-label{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.student-pwa-label span{color:var(--color-text-muted);font-weight:400}.student-pwa-input{border:1px solid var(--border-subtle);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:.6rem;width:100%;padding:.55rem .65rem;font-size:.85rem}.student-pwa-input:disabled{opacity:.6}.student-pwa-form-actions{flex-wrap:wrap;gap:.65rem;padding-top:.25rem;display:flex}.student-pwa-surface-row-meta{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.student-pwa-download-link{border:1px solid var(--color-accent-700);color:var(--color-neutral-100);background:var(--color-accent-700);border-radius:.6rem;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.student-lms-launch-panel{gap:1rem;display:grid}.student-lms-launch-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.student-lms-launch-controls label{color:var(--color-text-muted);gap:.35rem;font-size:.8rem;display:grid}.student-lms-launch-controls input{border:1px solid var(--border-subtle);border-radius:.6rem;padding:.55rem .65rem;font-size:.85rem}.student-lms-launch-actions{justify-content:flex-start;display:flex}.student-lms-launch-button,.student-lms-launch-link{border:1px solid var(--color-accent-700);color:var(--color-neutral-100);background:var(--color-accent-700);border-radius:.6rem;padding:.55rem .9rem;font-size:.84rem;font-weight:650;text-decoration:none}.student-lms-launch-button:disabled{opacity:.6}.student-lms-launch-error{color:var(--status-danger);margin:0;font-size:.82rem}.student-lms-launch-result{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:.8rem;gap:.45rem;padding:.9rem;display:grid}.student-lms-launch-result p,.student-lms-launch-result small{margin:0}.student-lms-launch-result small{color:var(--color-text-muted)}.student-pwa-progress-grid{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding-top:1rem;display:grid}.student-pwa-progress-card{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:.9rem;padding:1rem}.student-pwa-progress-label{color:var(--status-success);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:flex}.student-pwa-progress-label svg{width:.95rem;height:.95rem}.student-pwa-progress-card h3{margin:.75rem 0 0;font-size:1rem}.student-pwa-progress-card p{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.82rem;line-height:1.5}.student-pwa-brand{gap:.75rem}.student-pwa-brand strong,.student-pwa-brand small{display:block}.student-pwa-brand strong{font-size:1rem}.student-pwa-brand small{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.1rem;font-size:.78rem;font-weight:650}.student-pwa-mark{width:2.75rem;height:2.75rem;color:var(--surface-card-muted);background:linear-gradient(165deg, var(--color-neutral-600), var(--color-neutral-800));border-radius:.9rem;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff09}.student-pwa-mark svg,.student-pwa-status svg,.student-pwa-alert-button svg,.student-pwa-summary-icon svg,.student-pwa-summary-card>svg,.student-pwa-panel-heading>svg,.student-pwa-safe-state svg,.student-pwa-privacy-banner svg{width:1.15rem;height:1.15rem}.student-pwa-status{border:1px solid var(--border-subtle);color:var(--color-text-muted);background:var(--color-surface);border-radius:999px;gap:.45rem;padding:.55rem .8rem;font-size:.82rem;font-weight:650}.student-pwa-frame{grid-template-columns:15.5rem minmax(0,1fr);min-height:calc(100vh - 4.75rem);display:grid}.student-pwa-sidebar{border-right:1px solid var(--border-subtle);background:var(--color-surface);flex-direction:column;height:calc(100vh - 4.75rem);padding:1.5rem 1rem;display:flex;position:sticky;top:4.75rem}.student-pwa-nav-label,.student-pwa-page-heading p,.student-pwa-panel-heading p,.student-pwa-placeholder>p{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:750}.student-pwa-nav{gap:.3rem;margin-top:.75rem;display:grid}.student-pwa-nav-link{color:var(--color-text-muted);border:1px solid #0000;border-radius:.8rem;align-items:center;gap:.75rem;padding:.75rem;font-size:.9rem;font-weight:650;display:flex}.student-pwa-nav-link svg{width:1.15rem;height:1.15rem}.student-pwa-nav-link.is-active{color:var(--color-text);border-color:var(--border-subtle);background:var(--color-surface)}.student-pwa-sidebar-note{border:1px solid color-mix(in srgb, var(--color-text) 30%, transparent);color:var(--color-text-muted);background:var(--color-surface);border-radius:.9rem;gap:.65rem;margin-top:auto;padding:.9rem;display:flex}.student-pwa-sidebar-note svg{width:1rem;height:1rem;color:var(--color-text-muted);flex:none}.student-pwa-sidebar-note strong,.student-pwa-sidebar-note span{display:block}.student-pwa-sidebar-note strong{color:var(--color-text-muted);font-size:.82rem}.student-pwa-sidebar-note span{margin-top:.25rem;font-size:.75rem;line-height:1.45}.student-pwa-main{width:min(100%,78rem);margin:0 auto;padding:2rem}.student-pwa-page-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.student-pwa-page-heading h1{color:var(--color-text);letter-spacing:-.04em;margin:.35rem 0 0;font-size:clamp(1.75rem,4vw,2.5rem)}.student-pwa-page-heading span{max-width:48rem;color:var(--color-text-muted);margin-top:.45rem;line-height:1.5;display:block}.student-pwa-alert-button{border:1px solid color-mix(in srgb, var(--color-text) 35%, transparent);color:var(--color-text-muted);background:var(--color-surface);font:inherit;border-radius:.75rem;align-items:center;gap:.45rem;padding:.7rem .85rem;font-size:.82rem;font-weight:650;display:flex}.student-pwa-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.student-pwa-summary-card{border:1px solid var(--border-subtle);background:var(--surface-gradient);border-radius:1rem;gap:.75rem;min-width:0;padding:1rem;box-shadow:0 14px 30px -24px #0006,inset 0 1px #ffffff13}.student-pwa-summary-card span:nth-child(2){min-width:0}.student-pwa-summary-card strong,.student-pwa-summary-card small{display:block}.student-pwa-summary-card strong{font-size:.9rem}.student-pwa-summary-card small{color:var(--text-muted);text-overflow:ellipsis;margin-top:.2rem;font-size:.72rem;line-height:1.35;overflow:hidden}.student-pwa-summary-card>svg{color:var(--color-text-muted);flex:none;margin-left:auto}.student-pwa-summary-icon,.student-pwa-placeholder-icon{color:var(--color-text-muted);background:var(--color-surface);place-items:center;display:grid}.student-pwa-summary-icon{border-radius:.75rem;flex:none;width:2.4rem;height:2.4rem}.student-pwa-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.student-pwa-panel,.student-pwa-placeholder{border:1px solid var(--border-subtle);background:var(--surface-gradient);border-radius:1rem;box-shadow:0 14px 32px -24px #0000006b,inset 0 1px #ffffff14}.student-pwa-panel{padding:1.15rem}.student-lms-launch-controls{grid-template-columns:1fr}.student-pwa-panel-heading{justify-content:space-between}.student-pwa-panel-heading h2{margin:.25rem 0 0;font-size:1.1rem}.student-pwa-panel-heading>svg{color:var(--color-text-muted)}.student-pwa-empty{border:1px dashed var(--border-subtle);color:var(--text-muted);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:.8rem;margin-top:1rem;padding:1.25rem}.student-pwa-empty strong,.student-pwa-empty span{display:block}.student-pwa-empty strong{color:var(--color-text-muted);font-size:.9rem}.student-pwa-empty span{margin-top:.35rem;font-size:.8rem;line-height:1.5}.student-pwa-privacy-banner{border:1px solid var(--border-subtle);color:var(--color-text-muted);background:var(--color-surface);border-radius:1rem;gap:.75rem;margin-top:1rem;padding:1rem 1.15rem}.student-pwa-privacy-banner svg{flex:none}.student-pwa-privacy-banner strong,.student-pwa-privacy-banner span{display:block}.student-pwa-privacy-banner strong{font-size:.86rem}.student-pwa-privacy-banner span{margin-top:.2rem;font-size:.78rem;line-height:1.45}.student-pwa-placeholder{text-align:center;align-content:center;place-items:center;min-height:27rem;padding:2rem;display:grid}.student-pwa-placeholder-icon{border-radius:1.2rem;width:4rem;height:4rem}.student-pwa-placeholder-icon svg{width:1.6rem;height:1.6rem}.student-pwa-placeholder>p{margin-top:1.2rem}.student-pwa-placeholder h2{margin:.65rem 0 0;font-size:1.35rem}.student-pwa-placeholder>span{max-width:34rem;color:var(--color-text-muted);margin-top:.55rem;line-height:1.55}.student-pwa-safe-state{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-radius:999px;gap:.45rem;margin-top:1.25rem;padding:.55rem .8rem;font-size:.75rem}.student-pwa-bottom-nav{display:none}.student-consent{gap:1rem;display:grid}.student-consent-intro,.student-consent form,.student-consent-revoke,.student-consent-history{border:1px solid var(--border-subtle);background:var(--color-surface);border-radius:1rem;padding:1.2rem}.student-consent-intro{color:var(--status-success);background:var(--status-success-bg);gap:.85rem;display:flex}.student-consent-intro svg,.student-consent-history svg{flex:none;width:1.2rem;height:1.2rem}.student-consent-intro p,.student-consent-intro h2,.student-consent-intro span,.student-consent-revoke h3,.student-consent-revoke p,.student-consent-history h3,.student-consent-history p{margin:0}.student-consent-intro p{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:750}.student-consent-intro h2{color:var(--status-success);margin-top:.3rem}.student-consent-intro span,.student-consent-revoke p,.student-consent-history p{color:var(--color-text-muted);margin-top:.35rem;font-size:.82rem;line-height:1.5;display:block}.student-consent-options{gap:.65rem;display:grid}.student-consent-option{border:1px solid var(--border-subtle);border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.student-consent-option strong,.student-consent-option small{display:block}.student-consent-option strong{color:var(--color-text-muted);font-size:.9rem}.student-consent-option small{color:var(--color-text-muted);margin-top:.25rem;line-height:1.45}.student-consent-option input{flex:none;width:1.15rem;height:1.15rem}.student-consent-actions{align-items:center;gap:.8rem;margin-top:1rem;display:flex}.student-consent-actions span{color:var(--color-text-muted);font-size:.8rem}.student-consent-revoke{gap:.8rem;display:grid}.student-consent-revoke textarea{resize:vertical;border:1px solid var(--border-subtle);min-height:6rem;font:inherit;border-radius:.75rem;padding:.75rem}.student-consent-history>div{align-items:center;gap:.5rem;display:flex}.student-consent-history ul{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.student-consent-history li{border-top:1px solid var(--border-subtle);color:var(--color-text-muted);justify-content:space-between;gap:1rem;padding-top:.7rem;font-size:.82rem;display:flex}.student-offline-page{min-height:100vh;color:var(--color-text);background:var(--color-bg);place-items:center;padding:1.5rem;display:grid}.student-offline-card{border:1px solid var(--border-subtle);background:var(--color-surface);text-align:center;border-radius:1.25rem;width:min(100%,34rem);padding:clamp(1.5rem,6vw,3rem);box-shadow:0 1.25rem 3rem #0000001f}.student-offline-mark{width:4rem;height:4rem;color:var(--color-neutral-100);background:var(--color-accent-700);border-radius:1.1rem;place-items:center;margin:0 auto;display:grid}.student-offline-mark svg{width:1.6rem;height:1.6rem}.student-offline-status{color:var(--status-warning);background:var(--status-warning-bg);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.4rem;margin-top:1.25rem;padding:.45rem .7rem;font-size:.75rem;font-weight:750;display:inline-flex}.student-offline-status svg,.student-offline-privacy svg,.student-offline-retry svg{flex:none;width:1rem;height:1rem}.student-offline-card h1{letter-spacing:-.04em;margin:1.25rem 0 0;font-size:clamp(1.65rem,7vw,2.3rem)}.student-offline-card>p{color:var(--color-text-muted);margin:.8rem 0 0;line-height:1.6}.student-offline-privacy{border:1px solid var(--status-success);color:var(--status-success);background:var(--status-success-bg);text-align:left;border-radius:.85rem;align-items:flex-start;gap:.55rem;margin-top:1.25rem;padding:.85rem;font-size:.78rem;line-height:1.5;display:flex}.student-offline-retry{color:var(--color-neutral-100);background:var(--color-accent-700);border-radius:.75rem;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:700;display:inline-flex}@media (max-width:960px){.student-pwa-frame{display:block}.student-pwa-sidebar{display:none}.student-pwa-main{padding-bottom:6.5rem}.student-pwa-bottom-nav{z-index:30;border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1rem;grid-auto-columns:minmax(4rem,1fr);grid-auto-flow:column;padding:.35rem;display:grid;position:fixed;bottom:.75rem;left:.75rem;right:.75rem;overflow-x:auto;box-shadow:0 .75rem 2rem #00000029}.student-pwa-nav-link.is-compact{justify-items:center;gap:.25rem;padding:.55rem .25rem;font-size:.65rem;display:grid}}@media (max-width:760px){.student-pwa-header{padding:.65rem 1rem}.student-pwa-status span,.student-pwa-alert-button span{display:none}.student-pwa-main{padding:1.2rem 1rem 6.5rem}.student-pwa-page-heading{gap:.75rem}.student-pwa-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-pwa-dashboard-grid,.student-pwa-progress-grid{grid-template-columns:1fr}.student-pwa-summary-card{align-items:flex-start}.student-pwa-summary-card>svg{display:none}.student-pwa-placeholder{min-height:23rem;padding:1.5rem}.student-pwa-safe-state{border-radius:.8rem}.student-pwa-surface-row{grid-template-columns:auto minmax(0,1fr)}.student-pwa-surface-row small{grid-column:2;width:fit-content}.student-pwa-record-row{align-items:flex-start}}.student-pwa-whats-next{background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent-700) 6%, transparent), color-mix(in srgb, var(--color-accent) 4%, transparent));border:1px solid color-mix(in srgb, var(--color-accent) 18%, transparent);border-radius:var(--radius-panel);padding:1.25rem 1.5rem}.student-pwa-whats-next-heading{align-items:center;gap:.5rem;margin-bottom:.875rem;display:flex}.student-pwa-whats-next-heading svg{width:1rem;height:1rem;color:var(--brand-accent)}.student-pwa-whats-next-heading h2{color:var(--brand-accent);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.9rem;font-weight:700}.student-pwa-whats-next-items{flex-direction:column;gap:.5rem;display:flex}.student-pwa-next-item{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-card);color:var(--text-primary);align-items:center;gap:.875rem;padding:.75rem 1rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.student-pwa-next-item:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.student-pwa-next-item>span:nth-child(2){flex:1}.student-pwa-next-item strong{font-size:.875rem;font-weight:600;display:block}.student-pwa-next-item small{color:var(--text-muted);margin-top:.15rem;font-size:.78rem;display:block}.student-pwa-next-item svg:last-child{width:1rem;height:1rem;color:var(--text-muted);flex-shrink:0}.student-pwa-next-item-icon{background:color-mix(in srgb, var(--color-accent) 10%, transparent);width:2rem;height:2rem;color:var(--brand-accent);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.student-pwa-next-item-icon svg{width:1rem;height:1rem}.student-pwa-empty-state{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.student-pwa-empty-icon{background:color-mix(in srgb, var(--color-accent) 8%, transparent);width:2.5rem;height:2.5rem;color:var(--brand-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.student-pwa-empty-icon svg{width:1.1rem;height:1.1rem}.student-pwa-empty-state p{color:var(--text-muted);max-width:22rem;margin:0;font-size:.82rem}.student-pwa-empty-link{color:var(--brand-accent);font-size:.82rem;font-weight:600;text-decoration:none}.student-pwa-empty-link:hover{text-decoration:underline}.student-pwa-learning-snapshot{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem}.student-pwa-learning-snapshot-heading{align-items:center;gap:.5rem;margin-bottom:.875rem;display:flex}.student-pwa-learning-snapshot-heading svg{width:1.1rem;height:1.1rem;color:var(--brand-accent)}.student-pwa-learning-snapshot-heading h2{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.student-pwa-learning-snapshot-body{align-items:center;gap:1rem;display:flex}.student-pwa-learning-snapshot-body p{color:var(--text-primary);flex:1;margin:0;font-size:.875rem}.student-pwa-learning-pending{color:var(--text-muted)!important;font-size:.82rem!important}.student-pwa-learning-launch{color:var(--brand-accent);white-space:nowrap;font-size:.875rem;font-weight:600;text-decoration:none}.student-pwa-learning-launch:hover{text-decoration:underline}.student-pwa-progress-snapshot{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.student-pwa-progress-badge{color:var(--brand-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);border-radius:var(--radius-chip);white-space:nowrap;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.student-pwa-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.student-pwa-stat{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.student-pwa-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.student-pwa-stat-label{color:var(--text-muted);font-size:.75rem}@media (max-width:640px){.student-pwa-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-pwa-error-boundary{background:var(--color-surface,#f5f7fb);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.student-pwa-error-content{text-align:center;width:100%;max-width:22rem}.student-pwa-error-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.75rem;font-size:.7rem;font-weight:600}.student-pwa-error-title{color:var(--color-text);margin-bottom:.5rem;font-size:1.375rem;font-weight:700}.student-pwa-error-copy{color:var(--color-text-muted);margin-bottom:2rem;font-size:.875rem;line-height:1.6}.student-pwa-error-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.student-pwa-error-retry{border:1px solid var(--border-subtle);background:var(--color-surface);cursor:pointer;color:var(--color-text-muted);border-radius:.5rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem}.student-pwa-error-home{background:var(--color-accent-700);color:var(--color-neutral-100);border-radius:.5rem;padding:.5rem 1.25rem;font-size:.875rem;text-decoration:none;display:inline-block}.student-pwa-error-digest{color:var(--color-text-muted);margin-top:2rem;font-size:.7rem}.student-pwa-loading-shell{background:var(--color-surface,#f5f7fb);flex-direction:column;min-height:100vh;display:flex}.student-pwa-loading-nav{border-radius:0;flex-shrink:0;height:3.5rem}.student-pwa-loading-main{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem;display:flex}.student-pwa-loading-hero{border-radius:1rem;height:6rem}.student-pwa-loading-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.student-pwa-loading-card{border-radius:1rem;height:7rem}@media print{.student-pwa-nav,.student-pwa-bottom-nav,.student-pwa-topbar,.student-pwa-header,[class*=-actions],button{display:none!important}.student-pwa-shell{display:block!important}.student-pwa-main{width:100%!important;padding:0!important}table{border-collapse:collapse;width:100%;font-size:11pt}th,td{border:1px solid var(--border-subtle);padding:4px 8px}tr{page-break-inside:avoid}@page{margin:1.5cm}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b2991b2-module__9mH_6q__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b2991b2-module__9mH_6q__variable{--font-sans:"Inter", "Inter Fallback"}
