/* Version 0.5.3 – restrained hierarchy and independently scrolling navigation. */
body,p,li,td,input,select,textarea { font-weight:400; }
input,select,textarea { font-family:inherit; font-size:1rem; line-height:1.5; }
label,legend,th,summary,.button,.text-link { font-weight:500; }
h1,h2,h3,h4 { font-weight:650; }
.help,.muted,.file-meta,.cell-sub { font-weight:400; }
.sidebar { height:100vh; height:100dvh; overflow:hidden; display:flex; flex-direction:column; }
.sidebar-top { flex:0 0 auto; margin-bottom:.75rem; }
.sidebar .sidebar-navigation { display:block; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:.2rem; }
.sidebar .sidebar-navigation>a { display:flex; }
.sidebar-footer { flex:0 0 auto; margin-top:auto; padding-top:.6rem; }
.sidebar-footer .sidebar-note { display:block; margin:0 .25rem .65rem; padding:0; }
.sidebar-footer .sidebar-user { display:flex; padding:.7rem .25rem; margin:0; color:var(--nav-text); }
.sidebar-footer .sidebar-user strong { color:var(--nav-text); font-weight:500; }
.sidebar-footer .account-menu nav { max-height:22vh; overflow:auto; }
.sidebar-footer .button { color:#e7eefb; border-color:#52698a; }
.sidebar-footer .button:hover { background:#223d61; }
.sidebar-footer .pill { font-weight:500; }
.category-grid { grid-template-columns:repeat(var(--category-columns,4),minmax(0,1fr)); }
.category-tile { min-height:4.4rem; box-shadow:0 3px 12px rgb(20 44 76 / 4%); }
.category-tile span,.category-tile strong { font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.category-tile .icon { flex-shrink:0; }
.category-view-list { grid-template-columns:1fr; }
.dashboard53 { display:grid; gap:1.25rem; }
.dashboard53>.card,.dashboard53>.category-grid { margin:0; }
.catalog-head h2 { margin-bottom:.45rem; }
.catalog-head .muted { margin-top:0; }
.settings-nav { display:block; max-height:calc(100dvh - 2rem); overflow:auto; }
.settings-search { position:sticky; top:-1rem; background:var(--surface); z-index:2; padding:.25rem 0 .5rem; }
.settings-search .help:empty { display:none; }
.settings-group { border-top:1px solid var(--line); padding:.3rem 0; }
.settings-group>summary { color:var(--ink); line-height:1.5; padding:.65rem .2rem; }
.settings-group>div { display:grid; gap:.15rem; padding-left:.45rem; }
.settings-group a { font-size:.875rem; }
.settings-layout .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.setting-field { min-width:0; padding:0 0 1rem; border-bottom:1px solid var(--line); }
.setting-field .help { margin:.5rem 0; font-size:.8125rem; line-height:1.55; }
.setting-field .button.small { padding:.3rem .6rem; min-height:2rem; font-size:.8125rem; }
.settings-layout .stack>button.primary { width:fit-content; }
.school-context53 { padding:.8rem 1.5rem; border-bottom:1px solid var(--line); background:var(--soft); }
.school-context53 form { display:flex; gap:.75rem; flex-wrap:wrap; align-items:end; }
.school-context53 label { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.school-context53 select { max-width:100%; width:auto; min-width:12rem; }
.school-context53 .help { flex-basis:100%; margin:0; }
.breadcrumbs53 { display:flex; flex-wrap:wrap; gap:.35rem; padding:0; list-style:none; }
.breadcrumbs53 li+li::before { content:' / '; color:var(--muted); }
.wizard-steps53 { display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; padding:0; }
.wizard-steps53 li { padding:.5rem .65rem; border:1px solid var(--line); border-radius:.5rem; }
.wizard-steps53 li[aria-current] { color:var(--ink); border:2px solid var(--brand); }
.wizard-actions53 { display:flex; flex-wrap:wrap; gap:.7rem; }
.wizard-step53 h3 { margin-top:0; }
.permission-preview53 { max-height:24rem; overflow:auto; }
.permission-preview53 ul { padding-left:1.3rem; }
.bulk53 { border:1px solid var(--line); padding:1rem; border-radius:.6rem; margin:1rem 0; }
.announcement53 { border-left:3px solid var(--brand); }
.announcement53 p { white-space:pre-wrap; overflow-wrap:anywhere; }
.acceptance53 { display:grid; gap:.75rem; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--link); outline-offset:3px; }
[hidden] { display:none!important; }
@media(max-width:1100px) {
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-view-list { grid-template-columns:1fr; }
}
@media(max-width:950px) {
  .settings-nav { position:static; max-height:none; }
  .settings-search { position:static; }
  .settings-layout .form-grid { grid-template-columns:1fr; }
}
@media(max-width:1000px) {
  .sidebar { height:auto; overflow:visible; }
  .js .sidebar { height:100dvh; overflow:hidden; display:flex; }
  .sidebar .sidebar-navigation { grid-row:auto; grid-column:auto; }
  .sidebar-footer .account-menu nav { display:grid; }
}
@media(max-width:600px) {
  .category-grid { grid-template-columns:1fr; }
  .school-context53 { padding:.8rem 1rem; }
  .school-context53 label,.school-context53 select { width:100%; }
  .wizard-steps53 { font-size:.8125rem; }
}
@media(max-height:520px) and (min-width:901px) {
  .sidebar-top { display:none; }
  .sidebar-footer .sidebar-user { padding:.4rem .25rem; }
}
