:root{--green:#1d6d5b;--line:#e2e9e6;--muted:#667773;--soft:#f4f8f6}
.school-switch{margin:8px 14px 22px;padding:13px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);border-radius:12px;display:grid;gap:4px;color:#fff}.school-switch b{font-size:13px;line-height:1.4}.school-switch small{font-size:11px;color:#c3d9d1}.side .group{margin-top:12px}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}.panel-title,.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-title{margin-bottom:12px}.panel-title h3{margin:0}.panel-title .sub{margin:5px 0 0}.quick-work{margin-bottom:18px}.quick-work .toolbar{margin-bottom:0}.work-list{display:grid}.work-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1ef}.work-dot{height:9px;width:9px;border-radius:50%;background:#2a947b;flex:none}.work-dot.red{background:#d94b4b}.work-main{display:grid;gap:3px;min-width:0;flex:1}.work-main b{font-size:13px}.work-main small,.progress-row small,.issue-card small{color:var(--muted);font-size:11px}.date-chip{font-size:11px;color:#405650;background:#f1f5f3;border-radius:99px;padding:6px 9px;white-space:nowrap}.date-chip.late{background:#fff0ef;color:#bd3434}.progress-row{padding:12px 0;border-top:1px solid #edf1ef}.progress-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:7px}.progress-label span{font-weight:700;color:var(--green)}.progress-track,.table-progress{height:7px;border-radius:9px;background:#e9efec;overflow:hidden}.progress-track i,.table-progress i{display:block;height:100%;background:linear-gradient(90deg,#1d6d5b,#53b699);border-radius:9px}.progress-row small{display:block;margin-top:6px}.issue-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.issue-card{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.issue-card .btn{justify-self:start}.compact-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}.mini-stat{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid var(--line);background:#fff;border-radius:12px}.mini-stat b{font-size:21px}.mini-stat span{font-size:12px;color:var(--muted)}.mini-stat.danger-stat b{color:#c73e3e}.search-input{min-width:220px;flex:1}.row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:220px}.done-btn{background:#e8f5ef;color:#176348;border:1px solid #cce8dc}.badge-red{background:#fff0ef!important;color:#b83232!important}.badge-green{background:#eaf6ef!important;color:#176348!important}.table-progress{width:105px;position:relative}.table-progress span{position:absolute;left:0;top:9px;font-size:10px;color:var(--muted)}.work-modal{max-width:820px;width:min(820px,95vw);max-height:90vh;overflow:auto}.work-modal .detail-head{margin-bottom:18px}.work-modal h2{margin:0}.work-modal .form{grid-template-columns:repeat(2,minmax(0,1fr))}.work-modal .field.full{grid-column:1/-1}.work-modal textarea{min-height:76px}.privacy-note{margin:16px 0;padding:14px 16px;border:1px solid #d8e8e1;border-radius:12px;background:#f1f8f4;display:grid;gap:5px}.privacy-note span{font-size:12px;color:#52645d;line-height:1.55}.empty.compact{padding:22px 14px;text-align:center;color:#788681}.activity-list{display:grid}.activity-row{padding:12px 0;border-bottom:1px solid #edf1ef;display:grid;gap:4px}.activity-row:last-child{border:0}.activity-row b{font-size:13px}.activity-row span,.activity-row small{font-size:11px;color:var(--muted)}.auth-brand h1{max-width:440px}.auth-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.auth-points span{font-size:12px;color:#d8ebe4;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:50px}.login-card select{width:100%;padding:12px 13px;border:1px solid #dce4e1;border-radius:9px;background:white;color:#23332e;font:inherit}.auth-switch{margin-top:12px;text-align:center;font-size:13px;color:#65716e}.auth-link{border:0;background:none;color:#176d5a;font-weight:700;cursor:pointer;font:inherit}.auth-error,.auth-success{padding:10px 12px;margin:12px 0;border-radius:9px;font-size:13px}.auth-error{background:#fff0ef;color:#b83232}.auth-success{background:#eaf6ef;color:#176348}.field textarea{min-height:90px}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.side{z-index:20}.issue-strip{grid-template-columns:1fr 1fr}.row-actions{min-width:190px}}
@media(max-width:620px){.page-head{flex-direction:column}.issue-strip{grid-template-columns:1fr}.compact-cards{gap:7px}.mini-stat{padding:11px 8px;display:grid;gap:3px}.mini-stat b{font-size:18px}.mini-stat span{font-size:10px}.work-modal .form{grid-template-columns:1fr}.work-modal .field.full{grid-column:auto}.search-input{min-width:100%}.row-actions{min-width:190px}.tablewrap{overflow-x:auto}}
@media print{.side,.top,.toolbar,.btn{display:none!important}.main,.content{margin:0!important;padding:0!important}.panel,.card{box-shadow:none!important;break-inside:avoid}.page-head{display:block}.shell{display:block}.dashboard-grid,.cards{break-inside:avoid}}
.dash-custom{margin-bottom:18px}.dash-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.dash-module-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 14px;text-align:left;display:grid;gap:5px;cursor:pointer;color:var(--text);transition:transform .15s,border-color .15s}.dash-module-card:hover{transform:translateY(-2px);border-color:#86b8a7}.dash-module-card span{font-size:12px;font-weight:700}.dash-module-card b{font-size:23px;color:var(--green)}.dash-module-card small{font-size:10px;color:var(--muted)}.side-custom{padding:7px 12px 20px}.side-custom .nav{width:100%;color:#dcebe6;border:1px dashed rgba(255,255,255,.25);justify-content:flex-start}.side-custom .nav:hover{background:rgba(255,255,255,.08)}.dash-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-row{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;cursor:pointer}.check-row input{margin-top:3px;accent-color:var(--green)}.check-row span{display:grid;gap:4px}.check-row b{font-size:12px}.check-row small{font-size:10px;line-height:1.4;color:var(--muted)}.custom-field-list{display:grid;gap:7px;margin:14px 0 20px}.custom-field-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.custom-field-row div{display:grid;gap:3px}.custom-field-row b{font-size:12px}.custom-field-row small{font-size:10px;color:var(--muted)}.module-options{display:block}.tablewrap table{min-width:900px}
@media(max-width:620px){.dash-checks{grid-template-columns:1fr}.dash-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-module-card{padding:11px}}
/* Product finish: clearer navigation, rounded controls and responsive density. */
:root{--radius:12px}.side .group{margin:19px 12px 8px;padding:0 10px 7px;border-bottom:1px solid rgba(226,241,235,.19);font-size:11px;font-weight:800;letter-spacing:.09em;color:#eff9f4;line-height:1.5}.side .nav{border-radius:9px;font-weight:600}.side .nav.active{font-weight:750}.panel,.card,.dash-module-card,.mini-stat,.issue-card,.custom-field-row,.check-row,.school-switch{border-radius:var(--radius)}input:not([type=checkbox]):not([type=color]):not([type=range]),select,textarea,.search-input{border-radius:9px}.btn{border-radius:9px}.tablewrap{border-radius:12px;overflow:auto}.tablewrap table{border-collapse:separate;border-spacing:0 5px}.tablewrap tbody tr{background:var(--surface,#fff)}.tablewrap tbody td:first-child{border-radius:8px 0 0 8px}.tablewrap tbody td:last-child{border-radius:0 8px 8px 0}.tablewrap tbody td{border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef}.sync-badge{font-size:11px;font-weight:700;padding:7px 10px;border-radius:99px;background:#eef2f0;color:#50625a;white-space:nowrap}.sync-badge.ok{background:#e8f5ee;color:#176348}.sync-badge.wait{background:#fff5df;color:#835b14}.sync-badge.busy{background:#eaf2fc;color:#275e91}.recovery-code{font:700 17px ui-monospace,monospace;letter-spacing:.08em;padding:14px;border-radius:10px;background:#f3f6f5;border:1px dashed #aabcb4;word-break:break-all;margin:12px 0}.attachments-box{display:grid;gap:8px}.attachments-box>span{font-size:12px;font-weight:700}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}.attachment-item{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:9px;font-size:12px}.attachment-item img{width:42px;height:42px;object-fit:cover;border-radius:7px}.attachment-item a{color:var(--blue);font-weight:650}.preset-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.theme-preset{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:8px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text);font-weight:700}.theme-preset i{width:18px;height:18px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #ccd5d1}.appearance-form{margin-top:10px}.color-field{grid-template-columns:1fr auto auto;align-items:center}.color-field input{width:42px;height:32px;padding:2px;border-radius:8px;border:1px solid var(--line);background:white}.color-field code{font-size:11px;color:var(--muted)}.field input[type=range]{width:100%;accent-color:var(--blue)}html[data-layout="wide"] .content{max-width:1600px}html[data-layout="standard"] .content{max-width:1280px}html[data-density="compact"] .panel{padding:15px}html[data-density="compact"] .nav{padding-top:8px;padding-bottom:8px}html[data-density="compact"] .tablewrap tbody td{padding:8px 10px}.top{flex-wrap:wrap}
@media(max-width:600px){.sync-badge{margin-left:auto}.color-field{grid-template-columns:1fr auto auto}.attachment-item{max-width:100%;flex-wrap:wrap}}
html[data-dashboard="compact"] .dash-module-card{padding:9px 11px;gap:3px}html[data-dashboard="compact"] .dash-attention{gap:9px}html[data-dashboard="focus"] .dash-attention{grid-template-columns:1fr 1fr}html[data-dashboard="focus"] .dash-custom{border-color:color-mix(in srgb,var(--blue) 34%,white)}

/* Refined navigation typography and section hierarchy. */
:root{--ui-font:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
body,button,input,select,textarea{font-family:var(--ui-font)}
.side{font-family:var(--ui-font);padding:20px 12px 18px;scrollbar-width:thin;scrollbar-color:#ffffff35 transparent;overscroll-behavior:contain}
.side::-webkit-scrollbar{width:8px}.side::-webkit-scrollbar-track{background:transparent}.side::-webkit-scrollbar-thumb{background:#ffffff30;border:2px solid transparent;background-clip:padding-box;border-radius:99px}
.side-head{padding:3px 10px 17px;gap:11px}.side-head .brandmark.small{background:#27866b;color:#fff;border:0;border-radius:10px;width:36px;height:36px;font-size:12px;letter-spacing:.02em}.side-head .brand{font-family:var(--ui-font);font-size:18px;line-height:1.1;font-weight:650;letter-spacing:-.45px;color:#f6faf8}.side-head .brand b{font-weight:760;color:#b9e5d5}
.school-switch{margin:7px 6px 20px;padding:12px 13px;gap:3px;border-radius:11px;background:#ffffff0b;border-color:#ffffff12}.school-switch b{font-size:12.5px;font-weight:650;letter-spacing:-.1px}.school-switch small{font-size:11px;letter-spacing:.01em;color:#b7c8c2}
.side .group{margin:18px 7px 6px;padding:0 9px 8px;border-bottom:1px solid #ffffff16;color:#b6c8c1;font-family:var(--ui-font);font-size:10px;font-weight:750;line-height:1.35;letter-spacing:.075em}
.side .nav{display:flex;align-items:center;min-height:38px;margin:2px 0;padding:9px 11px;border:1px solid transparent;border-left:3px solid transparent;border-radius:9px;color:#dce7e3;font-size:12.5px;font-weight:520;line-height:1.35;letter-spacing:-.05px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.side .nav:hover{background:#ffffff0d;color:#fff}.side .nav.active{background:#ffffff14;border-color:#ffffff0c;border-left-color:#75c9a8;color:#fff;font-weight:650;box-shadow:none}
.side-custom{padding:10px 3px 18px}.side-custom .nav{min-height:38px;border:1px dashed #ffffff31;border-radius:9px;color:#d9e8e2;font-size:12px;font-weight:600}.side-custom .nav:hover{border-color:#ffffff58;background:#ffffff0b}
.side :focus-visible{outline:2px solid #a9e2cc;outline-offset:2px}
@media(max-width:850px){.side{padding-top:18px}.side .nav{min-height:40px;font-size:13px}}
