/* School Master UI/UX Final Polish v2 — Batch 1
   ERP-only visual polish. Public marketing/print surfaces are intentionally untouched. */

.sm-app-shell .sm-svg-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sm-app-shell .sm-nav-icon .sm-svg-icon{width:18px;height:18px}.sm-app-shell .sm-kpi-icon .sm-svg-icon{width:22px;height:22px}.sm-app-shell .sm-search-hit-icon .sm-svg-icon{width:17px;height:17px}.sm-app-shell .sm-quick-grid .sm-svg-icon{width:21px;height:21px}

/* Grouped navigation */
.sm-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 10px}.sm-sidebar-scroll::-webkit-scrollbar{width:6px}.sm-sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border:1px solid transparent;background-clip:padding-box}
.sm-nav-pinned{padding:0 0 7px}.sm-nav-group{margin:3px 0}.sm-nav-group-toggle{width:100%;min-height:38px;border:0;border-radius:10px;padding:7px 9px;background:transparent;color:#c9cfee;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;font-weight:800;font-size:11px;letter-spacing:.025em;transition:.18s ease}.sm-nav-group-toggle:hover{background:rgba(255,255,255,.075);color:#fff}.sm-nav-group-toggle .sm-svg-icon{width:17px;height:17px;color:#ffcf4a}.sm-nav-group-toggle>span{flex:1}.sm-nav-group-toggle .sm-group-chevron{width:16px;height:16px;transition:transform .18s ease}.sm-nav-group.open .sm-group-chevron{transform:rotate(180deg)}.sm-nav-group-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.sm-nav-group-items>div{overflow:hidden;display:flex;flex-direction:column;gap:4px}.sm-nav-group.open .sm-nav-group-items{grid-template-rows:1fr}.sm-nav-group .sm-nav{padding:3px 0 5px}
.sm-premium-pill{margin-left:auto;flex:0 0 auto;border:1px solid rgba(255,202,60,.32);background:rgba(255,195,45,.09);color:#ffd66a;border-radius:999px;padding:2px 5px;font-size:7px;line-height:1.2;font-weight:900;letter-spacing:.06em}
.sm-nav-item{min-height:40px}.sm-nav-icon{color:#ffd86b;background:rgba(255,255,255,.055)}

/* Cleaner topbar information hierarchy */
.sm-topbar{min-height:68px;padding-inline:16px;gap:12px}.sm-topbar-left{flex:1 1 360px}.sm-search-wrap{max-width:440px}.sm-topbar-right{gap:7px}.sm-topbar-status,.sm-topbar-actions{display:flex;align-items:center;gap:7px}.sm-user-chip{min-width:160px;max-width:205px;height:42px}.sm-user-chip .sm-svg-icon{width:18px;height:18px;color:#ffdc57}.sm-user-chip strong{overflow:hidden;text-overflow:ellipsis}.sm-sync-chip{width:auto;min-width:42px;padding:0 9px;display:flex;align-items:center;justify-content:center;gap:5px}.sm-sync-chip .sm-svg-icon{width:18px;height:18px}.sm-sync-chip>strong{position:static;min-width:auto;height:auto;border:0;background:transparent;color:inherit;font-size:10px;padding:0}.sm-sync-chip.has-pending{border-color:#f5c56e;background:color-mix(in srgb,#fff7df 74%,var(--sm-surface));color:#a45c00}.sm-notify>span{top:-4px;right:-3px}.sm-notify.no-count>span{display:none}.sm-icon-btn .sm-svg-icon{width:19px;height:19px}.sm-edition-badge{height:34px}.sm-year-btn{height:40px}

/* Stronger form readability and consistent controls */
.sm-app-shell label{color:color-mix(in srgb,var(--sm-text) 88%,#1f2937);font-weight:700}.sm-app-shell .form-control,.sm-app-shell .form-select,.sm-app-shell input:not([type="checkbox"]):not([type="radio"]),.sm-app-shell textarea,.sm-app-shell select{border-color:color-mix(in srgb,var(--sm-border) 75%,#8993ae);background:var(--sm-surface);color:var(--sm-text)}.sm-app-shell .form-control:focus,.sm-app-shell .form-select:focus,.sm-app-shell input:focus,.sm-app-shell textarea:focus,.sm-app-shell select:focus{border-color:#7b55df;box-shadow:0 0 0 3px rgba(105,61,226,.11);outline:0}.sm-app-shell small,.sm-app-shell .form-text{color:color-mix(in srgb,var(--sm-muted) 88%,#374151)}

/* Dashboard data truthfulness */
.sm-donut{--attendance:0;background:conic-gradient(#2fbf77 calc(var(--attendance) * 1%),#e7ebf4 0)!important}.sm-donut::before{background:var(--sm-surface)!important}.sm-donut.sm-donut-empty{background:#edf0f6!important;box-shadow:inset 0 0 0 1px var(--sm-border)}.sm-donut.sm-donut-empty span strong{font-size:14px}.sm-donut.sm-donut-empty span small{max-width:82px;text-align:center;line-height:1.25}.sm-attendance-empty-note{margin-top:10px;padding:8px 10px;border-radius:10px;background:var(--sm-surface-2);border:1px dashed var(--sm-border);color:var(--sm-muted);font-size:11px;text-align:center}
.sm-kpi-icon,.sm-quick-grid button>span{display:grid;place-items:center}.sm-kpi-icon .sm-svg-icon{color:inherit}

/* Purchase state polish */
.checkout-order.paid .checkout-status{background:#d1fae5;color:#047857}.checkout-success{box-shadow:0 8px 20px rgba(16,185,129,.08)}.sm-purchase-refresh-note{font-size:11px;color:var(--sm-muted);margin-top:6px}

/* Mobile: three essential controls + drawer, no crowded header */
@media(max-width:1040px){
  .sm-sidebar-scroll{padding:7px 10px 12px}.sm-nav-group-toggle{min-height:42px;padding:8px 10px;font-size:12px}.sm-nav-group .sm-nav{padding-inline:0!important}.sm-topbar::before{order:2}.sm-topbar-left{order:1}.sm-topbar-right{order:3}.sm-topbar-status,.sm-user-chip,.sm-edition-badge{display:none!important}.sm-topbar-actions{gap:5px}.sm-topbar-actions .sm-icon-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}.sm-notify{display:grid!important}.sm-footer span:nth-child(2),.sm-footer span:nth-child(4){display:none}.sm-footer{justify-content:center!important;text-align:center}
}
@media(max-width:560px){
  .sm-topbar-actions .sm-icon-btn[data-secondary="true"]{display:none!important}.sm-topbar::before{width:108px!important;flex-basis:108px!important}.sm-topbar-right{flex:0 0 auto!important}.sm-sidebar{width:min(90vw,340px)!important}.sm-premium-pill{font-size:6px}.sm-kpi-icon .sm-svg-icon{width:20px;height:20px}.sm-donut-wrap{align-items:center}
}
@media(max-width:380px){.sm-topbar::before{width:90px!important;flex-basis:90px!important}.sm-topbar-actions{gap:3px}.sm-topbar-actions .sm-icon-btn{width:38px!important;height:38px!important;flex-basis:38px!important}}

html[data-sm-theme="dark"] .sm-sync-chip.has-pending{background:#2d2617;color:#ffd077;border-color:#725828}html[data-sm-theme="dark"] .sm-donut.sm-donut-empty{background:#242d48!important}
