/* School workspace v1. Scoped: public service pages keep their own design. */
.sui-workspace{--sui-bg:#f3f6f9;--sui-card:#fff;--sui-ink:#213b4b;--sui-muted:#718797;--sui-line:#dce6ef;--sui-brand:#128189;--sui-side:#193d4d;--sui-active:#e1f3ee;background:var(--sui-bg);color:var(--sui-ink);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;--ink:var(--sui-ink);--muted:var(--sui-muted);--line:var(--sui-line);--brand:var(--sui-brand);--bg:var(--sui-bg);--admin-blue:var(--sui-brand);--admin-navy:var(--sui-side);--admin-ink:var(--sui-ink);--admin-muted:var(--sui-muted);--admin-line:var(--sui-line);--admin-card:var(--sui-card)}
.sui-workspace *{box-sizing:border-box}.sui-workspace [hidden]{display:none!important}
.sui-header{height:76px;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--sui-line);background:var(--sui-card);display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:12px 24px;color:var(--sui-ink)}
.sui-brand{display:flex;align-items:center;gap:12px;color:inherit!important;text-decoration:none!important;min-width:0}.sui-brand img{width:42px;height:42px;object-fit:contain;border-radius:9px}.sui-brand strong,.sui-brand small{display:block}.sui-brand strong{font-size:14px;line-height:1.3}.sui-brand small{font-size:11px;color:var(--sui-muted);margin-top:3px}.sui-actions{display:flex;gap:12px;align-items:center;flex-shrink:0;margin-left:auto}.sui-actions form{margin:0}.sui-user{font-size:12px;font-weight:650;color:var(--sui-muted)}
.sui-workspace .sui-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:8px;border:1px solid var(--sui-line);background:var(--sui-card);border-radius:9px;color:var(--sui-muted);cursor:pointer;text-decoration:none;box-shadow:none;font:inherit}.sui-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sui-menu{display:none!important}
.sui-shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:28px;padding:24px;max-width:1920px;margin:0 auto;align-items:start}.sui-sidebar{position:sticky;top:100px;max-height:calc(100dvh - 124px);overflow:auto;background:var(--sui-side);border:1px solid #315665;border-radius:18px;color:#d4e3e9;padding:22px 12px;box-shadow:0 8px 24px #17374d0b;scrollbar-width:thin;scrollbar-color:#638391 transparent}.sui-sidebar-title{font-size:13px;font-weight:700;margin:0 10px 24px;color:#e3edf2}.sui-sidebar-label{display:block;margin:22px 10px 9px;color:#93b0bd;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.sui-sidebar-label:first-child{margin-top:0}
.sui-workspace .sui-sidebar a{display:flex;align-items:center;gap:10px;min-height:39px;padding:9px 12px;margin:3px 0;border:0;border-radius:9px;color:#bfd3dd;background:transparent;text-decoration:none;font-size:12px;font-weight:600;line-height:1.3;box-shadow:none}.sui-workspace .sui-sidebar a:hover{color:#fff;background:#ffffff0d}.sui-workspace .sui-sidebar a[aria-current=page],.sui-workspace .sui-sidebar a.is-active{background:var(--sui-active);color:#155b60;box-shadow:inset 3px 0 #53b8a7}.sui-sidebar a span:not(.sui-icon){min-width:0}.sui-main{min-width:0;padding-bottom:40px}.sui-location{display:flex;gap:9px;color:var(--sui-muted);font-size:11px;margin-bottom:20px}.sui-skip{position:fixed;top:-100px;left:20px;z-index:999;background:var(--sui-card);padding:12px;color:var(--sui-ink)}.sui-skip:focus{top:5px}
.sui-workspace :where(h1){font-size:28px;line-height:1.2;letter-spacing:-.035em}.sui-workspace :where(h2){font-size:19px;line-height:1.35;letter-spacing:-.02em}.sui-workspace :where(.panel,.admin-panel,.admin-section,.card,.module){border-color:var(--sui-line);border-radius:16px;background:var(--sui-card);box-shadow:0 4px 18px #17374d04;color:var(--sui-ink)}
.sui-workspace :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea){color:var(--sui-ink);background-color:var(--sui-card);border:1px solid var(--sui-line);border-radius:9px;min-height:40px;padding:9px 12px;font:inherit;max-width:100%}.sui-workspace :where(input[type=checkbox],input[type=radio]){accent-color:var(--sui-brand)}.sui-workspace :where(input,select,textarea):focus-visible{outline:3px solid #12818925;outline-offset:1px;border-color:var(--sui-brand)}.sui-workspace :where(a,button,summary):focus-visible{outline:3px solid #63b6bc;outline-offset:3px}.sui-workspace :where(.button,.admin-primary-button,.button-primary,.button--primary){border-radius:9px;box-shadow:none}.sui-workspace :where(.button:not(.secondary):not(.danger):not(.button-secondary):not(.button--ghost),.admin-primary-button,.button-primary,.button--primary){background:var(--sui-brand);color:#fff}.sui-workspace :where(.muted,.help,.helptext,.lead){color:var(--sui-muted)}
.sui-workspace :where(table){color:var(--sui-ink)}.sui-workspace :where(th){color:var(--sui-muted)}.sui-workspace :where(th,td){border-color:var(--sui-line)}.sui-workspace .sui-sidebar-close{display:none}.sui-backdrop{display:none}.sui-workspace .sui-footer{color:var(--sui-muted);font-size:11px;margin:20px 0}
/* Adapters preserve each application's markup and behaviour. */
.sui-workspace .admin-content{width:100%;padding:0}.sui-workspace .admin-page-heading h1{font-size:28px}.sui-workspace .admin-workspace{display:block}.sui-workspace .admin-shell{width:100%;margin:0;padding:0}.sui-workspace .admin-heading{padding:0;margin:0 0 24px}.sui-workspace .shell{max-width:100%}.sui-workspace .sui-sidebar .admin-nav{display:block;padding:0;background:transparent;box-shadow:none;border:0}.sui-workspace .sui-sidebar .admin-nav__title,.sui-workspace .sui-sidebar .admin-nav__group{display:block;margin:20px 10px 8px;color:#93b0bd;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.sui-workspace .admin-sidebar-note{color:#bed4df}.sui-workspace .admin-sidebar-note small{color:#93b0bd}.sui-workspace .site-footer{margin-left:300px}.sui-workspace .has-scoring-guide{padding:0}.sui-workspace .scoring-guide{position:static}.sui-workspace .main{max-width:none;width:auto;margin:0;padding:0}.sui-workspace .page-heading h1{font-size:28px}.sui-workspace .detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.sui-workspace .auth-panel{max-width:520px}.sui-workspace .panel{margin-top:0}.sui-workspace .sui-logo-preview{display:block;width:84px;height:84px;object-fit:contain;background:#f3f6f9;border:1px solid var(--sui-line);border-radius:14px;padding:8px;margin-bottom:16px}
.sui-workspace[data-sui-theme=dark]{--sui-bg:#101e28;--sui-card:#192d3b;--sui-ink:#d8e7f0;--sui-muted:#9bb2c2;--sui-line:#314a5d;--sui-side:#142d3b;--sui-brand:#168e96;--sui-active:#224f52;color-scheme:dark}.sui-workspace[data-sui-theme=dark] :where(.admin-section,.admin-panel,.panel,.module,.admin-stat,.admin-task,.admin-list-item,.toggle-card,.filter-option,.stat,.report-card){background:var(--sui-card);color:var(--sui-ink);border-color:var(--sui-line)}.sui-workspace[data-sui-theme=dark] .sui-sidebar a[aria-current=page]{color:#d2f5ee}
@media(max-width:1100px){.sui-shell{grid-template-columns:220px minmax(0,1fr);gap:20px;padding:20px}.sui-workspace .detail-layout{grid-template-columns:1fr}.sui-workspace .admin-dashboard-grid,.sui-workspace .admin-calendar-layout{grid-template-columns:1fr}.sui-workspace .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sui-header{height:68px;padding:10px 16px;gap:10px}.sui-brand strong{font-size:12px}.sui-brand small{font-size:10px}.sui-brand img{width:34px;height:34px}.sui-menu{display:inline-flex!important}.sui-user{display:none}.sui-actions{gap:7px}.sui-shell{display:block;padding:20px 16px}.sui-sidebar{display:none;position:fixed;top:calc(var(--sui-header-bottom,68px) + 12px);left:12px;bottom:12px;width:270px;max-height:calc(100dvh - var(--sui-header-bottom,68px) - 24px);z-index:70}.sui-nav-open .sui-sidebar{display:block}.sui-nav-open .sui-backdrop{display:block;position:fixed;inset:var(--sui-header-bottom,68px) 0 0;background:#10263380;z-index:60;border:0;width:100%;height:auto}.sui-workspace .sui-sidebar-close{display:flex;float:right;background:transparent;color:#e2edf3;border-color:#527581}.sui-workspace .sui-sidebar .admin-nav{display:block!important}.sui-workspace .site-footer{margin-left:0}.sui-workspace .sui-main .shell{width:100%}.sui-workspace .sui-main h1{font-size:26px}.sui-workspace .panel,.sui-workspace .admin-section{padding:20px}.sui-workspace .admin-nav__title{padding-right:26px}}
@media(prefers-reduced-motion:reduce){.sui-workspace *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.sui-header,.sui-sidebar,.sui-backdrop{display:none!important}.sui-shell{display:block;padding:0}.sui-workspace{background:white;color:black}}

.sui-workspace.owner-workspace{--owner-border:var(--sui-line);--owner-surface:var(--sui-card);--owner-ink:var(--sui-ink);--owner-muted:var(--sui-muted)}.sui-workspace.owner-workspace #main-content .page-container{max-width:none;width:100%;padding:0;margin:0}.sui-workspace.owner-workspace .owner{padding:0}.sui-workspace.owner-workspace .sui-sidebar ul{list-style:none;margin:0;padding:0}.sui-workspace.owner-workspace .owner-sidebar-footer{padding:16px 0 0;margin-top:16px;border-top:1px solid #426371}.sui-workspace.owner-workspace .owner-sidebar-footer form{display:none}.sui-workspace.owner-workspace .owner-nav-heading{padding:0;color:#93b0bd}.sui-workspace.owner-workspace .owner-nav-item svg{width:17px;height:17px}.sui-workspace.owner-workspace .owner h1{font-size:28px}.sui-workspace.owner-workspace .owner :is(input,select,textarea){background:var(--sui-card);border-color:var(--sui-line);color:var(--sui-ink)}.sui-workspace.owner-workspace .owner .field>label{color:var(--sui-ink)}.sui-workspace.owner-workspace .owner p,.sui-workspace.owner-workspace .owner .small-note{color:var(--sui-muted)}.sui-workspace.owner-workspace .owner .button:not(.secondary):not(.danger){background:var(--sui-brand);border-color:var(--sui-brand);color:#fff}.sui-workspace.owner-workspace .owner .button.secondary{background:var(--sui-card);border-color:var(--sui-line);color:var(--sui-brand)}.sui-workspace.owner-workspace .owner .button.secondary:hover{background:var(--sui-bg)}.sui-workspace.owner-workspace th{background:var(--sui-bg);color:var(--sui-muted)}.sui-workspace .admin-nav-icon{display:inline-flex}.sui-workspace .admin-nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}

/* Rating's former inline counters must not size the navigation labels. */
.sui-workspace .sui-sidebar .admin-nav{position:static;max-height:none;overflow:visible}
.sui-workspace .sui-sidebar .admin-nav a{justify-content:flex-start}
.sui-workspace .sui-sidebar .admin-nav a>span{display:block;width:auto;height:auto;min-width:0;flex:1;padding:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left}

@media(max-width:800px){.sui-workspace.sui-nav-open{overflow:hidden}}
.sui-brand-placeholder{display:grid;place-items:center;width:42px;height:42px;background:var(--sui-side);border-radius:9px;color:#dff3ef}.sui-brand-placeholder .sui-icon{width:25px;height:25px}

.sui-workspace.admin-page{--navy:var(--sui-brand);--navy-deep:#0e6e75}
.sui-workspace .scoring-guide-wrap{position:static;width:100%;max-width:none;margin:0 0 24px;padding:0}
.sui-workspace .sui-sidebar .admin-nav a>span>span{display:inline-flex;justify-content:center;min-width:20px;margin-left:7px;padding:1px 5px;border-radius:6px;background:#ffffff1a;font-size:10px}
.sui-workspace[data-sui-theme=dark] .scoring-guide{background:var(--sui-card);border-color:var(--sui-line)}
.sui-workspace[data-sui-theme=dark] .scoring-guide summary strong{color:var(--sui-ink)}

/* Keep the school identity next to the menu at every viewport width. */
.sui-brand{text-align:left}.sui-brand>span{min-width:0}.sui-brand img,.sui-brand-placeholder,.sui-header>.sui-menu{flex:none}
.sui-brand strong,.sui-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){.sui-brand-placeholder{width:34px;height:34px}.sui-brand-placeholder .sui-icon{width:22px;height:22px}}
