/*
 * NANO STUDENT — CANONICAL DESIGN SYSTEM
 * True SaaS Production Release
 * Visual direction: Calm Premium Educational SaaS
 *
 * Architecture contract:
 *   - All new product tokens use the --ns-* namespace.
 *   - Portal identity changes accent only; components remain shared.
 *   - Legacy selectors live in nanostudent-compat.css and are migration-only.
 *   - New UI fixes belong here, not in another override layer.
 */
:root{
  --ns-bg:#f6f8fc;
  --ns-bg-alt:#f9fbfd;
  --ns-surface:#ffffff;
  --ns-surface-subtle:#f8fafc;
  --ns-surface-brand:#f2f5ff;
  --ns-text:#101828;
  --ns-text-secondary:#475467;
  --ns-text-muted:#667085;
  --ns-border:#e4e7ec;
  --ns-border-strong:#d0d5dd;
  --ns-primary:#2f5bea;
  --ns-primary-hover:#244ed4;
  --ns-primary-active:#1f43b8;
  --ns-secondary:#6957e8;
  --ns-accent-violet:#7c5ce7;
  --ns-info:#2588e8;
  --ns-success:#168f68;
  --ns-warning:#d97706;
  --ns-danger:#d94f63;
  --ns-primary-soft:#eef3ff;
  --ns-violet-soft:#f3f0ff;
  --ns-info-soft:#eef7ff;
  --ns-success-soft:#edf8f3;
  --ns-warning-soft:#fff7ed;
  --ns-danger-soft:#fff1f3;
  --ns-school-accent:var(--ns-primary);
  --ns-hr-accent:#7651e8;
  --ns-finance-accent:#138c7e;
  --ns-admin-accent:#3156f5;
  --ns-portal-accent:var(--ns-school-accent);
  --ns-shadow-xs:0 1px 2px rgba(16,24,40,.04);
  --ns-shadow-sm:0 8px 24px rgba(16,24,40,.07);
  --ns-shadow-md:0 20px 50px rgba(16,24,40,.10);
  --ns-shadow-primary:0 12px 28px rgba(47,91,234,.20);
  --ns-radius-sm:10px;
  --ns-radius-md:14px;
  --ns-radius-lg:18px;
  --ns-radius-xl:24px;
  --ns-space-1:4px;
  --ns-space-2:8px;
  --ns-space-3:12px;
  --ns-space-4:16px;
  --ns-space-5:24px;
  --ns-space-6:32px;
  --ns-space-7:48px;
  --ns-space-8:64px;
  --ns-space-9:80px;
  --ns-space-10:96px;
  --ns-control-sm:40px;
  --ns-control:44px;
  --ns-control-lg:52px;
  --ns-content-max:1360px;
  --ns-z-header:70;
  --ns-z-drawer:90;
  --ns-z-modal:120;
  --ns-transition-fast:160ms ease;
  --ns-transition:220ms ease;
  --ns-brand-gradient:linear-gradient(135deg,#2f5bea 0%,#465ddf 56%,#6957e8 100%);
  --ns-brand-gradient-soft:linear-gradient(135deg,rgba(47,91,234,.09),rgba(105,87,232,.055));
  --ns-font-ui:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --ns-font-ar:"Segoe UI",Tahoma,Arial,sans-serif;
  --ns-font-size-xs:.75rem;
  --ns-font-size-sm:.875rem;
  --ns-font-size-md:1rem;
  --ns-font-size-lg:1.125rem;
  --ns-line-body:1.65;
  --ns-line-ar:1.78;

  /* Compatibility aliases. New CSS must use --ns-* tokens above. */
  --bg:var(--ns-bg);
  --surface:var(--ns-surface);
  --surface-2:var(--ns-surface-subtle);
  --soft:var(--ns-surface-subtle);
  --border:var(--ns-border);
  --text:var(--ns-text);
  --muted:var(--ns-text-secondary);
  --line:var(--ns-border);
  --primary:var(--ns-primary);
  --primary-2:var(--ns-secondary);
  --primary-soft:var(--ns-primary-soft);
  --shadow:var(--ns-shadow-sm);
  --radius:var(--ns-radius-lg);
}
html.ns-theme-dark,body.dark{
  --ns-bg:#0b1220;
  --ns-bg-alt:#0d1525;
  --ns-surface:#111827;
  --ns-surface-subtle:#172033;
  --ns-surface-brand:#141f36;
  --ns-text:#f8fafc;
  --ns-text-secondary:#cbd5e1;
  --ns-text-muted:#94a3b8;
  --ns-border:rgba(148,163,184,.20);
  --ns-border-strong:rgba(148,163,184,.34);
  --ns-primary:#7ca2ff;
  --ns-primary-hover:#93b4ff;
  --ns-primary-active:#b3c9ff;
  --ns-secondary:#9a88f4;
  --ns-accent-violet:#a78bfa;
  --ns-info:#5ca9f3;
  --ns-success:#4bc393;
  --ns-warning:#f3a84b;
  --ns-danger:#f27688;
  --ns-success-soft:rgba(59,198,120,.12);
  --ns-warning-soft:rgba(255,157,62,.12);
  --ns-danger-soft:rgba(255,92,117,.12);
  --ns-violet-soft:rgba(139,92,246,.14);
  --ns-primary-soft:rgba(73,130,255,.14);
  --ns-info-soft:rgba(34,211,238,.12);
  --ns-shadow-xs:0 1px 2px rgba(0,0,0,.20);
  --ns-shadow-sm:0 10px 28px rgba(0,0,0,.24);
  --ns-shadow-md:0 24px 60px rgba(0,0,0,.34);
  --ns-shadow-primary:0 14px 34px rgba(77,111,240,.28);
  --ns-brand-gradient:linear-gradient(135deg,#5f88f7 0%,#7588f8 54%,#9178ed 100%);
  --ns-brand-gradient-soft:linear-gradient(135deg,rgba(95,136,247,.15),rgba(145,120,237,.11));
  --bg:var(--ns-bg);--surface:var(--ns-surface);--surface-2:var(--ns-surface-subtle);--soft:var(--ns-surface-subtle);
  --border:var(--ns-border);--text:var(--ns-text);--muted:var(--ns-text-secondary);--line:var(--ns-border);
  --primary:var(--ns-primary);--primary-2:var(--ns-secondary);--primary-soft:var(--ns-primary-soft);
}

html,body{font-family:var(--ns-font-ui)!important}
body{font-size:var(--ns-font-size-md);line-height:var(--ns-line-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html[dir="rtl"] body{font-family:var(--ns-font-ar)!important;line-height:var(--ns-line-ar)}
html[dir="rtl"] :is(h1,h2,h3,h4,h5,h6,.brand,.brand-text,.page-title,.section-title,.metric,.stat-value,.primary-btn,.secondary-btn,.ghost-btn,.danger-btn){letter-spacing:0!important}

/* Portal identity: one ecosystem, accent only. */
body[class*="page-hr-"],body.role-employee{--ns-portal-accent:var(--ns-hr-accent)}
body[class*="page-accountant-"],body[class*="page-finance-"]{--ns-portal-accent:var(--ns-finance-accent)}
body[class*="page-admin-"]{--ns-portal-accent:var(--ns-admin-accent)}
body[class*="page-school-manager-"]{--ns-portal-accent:var(--ns-school-accent)}
body[class*="page-hr-"] :is(.ns-dashboard-kicker,.ns-section-kicker,.eyebrow),
body[class*="page-accountant-"] :is(.ns-dashboard-kicker,.ns-section-kicker,.eyebrow),
body[class*="page-admin-"] :is(.ns-dashboard-kicker,.ns-section-kicker,.eyebrow),
body[class*="page-school-manager-"] :is(.ns-dashboard-kicker,.ns-section-kicker,.eyebrow){color:var(--ns-portal-accent)!important}

html{background:var(--ns-bg);scroll-padding-top:88px}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 0 0,rgba(47,91,234,.045),transparent 24rem),
    radial-gradient(circle at 100% 0,rgba(105,87,232,.035),transparent 28rem),
    var(--ns-bg);
  color:var(--ns-text);
}
body.dark{
  background:
    radial-gradient(circle at 8% -5%,rgba(95,136,247,.075),transparent 30rem),
    radial-gradient(circle at 100% 5%,rgba(145,120,237,.055),transparent 34rem),
    var(--ns-bg);
}
body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(.2px)}
body:before{width:220px;height:220px;inset-inline-start:-125px;top:9vh;background:rgba(89,105,255,.055)}
body:after{width:280px;height:280px;inset-inline-end:-160px;bottom:6vh;background:rgba(126,73,239,.05)}
body.dark:before{background:rgba(95,136,247,.035)}body.dark:after{background:rgba(145,120,237,.035)}

/* Brand and header */
.topbar{
  position:sticky;top:0;z-index:70;
  background:color-mix(in srgb,var(--ns-surface) 82%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--ns-border) 88%,transparent)!important;
  backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 8px 28px rgba(25,38,82,.035)!important;
}
body.dark .topbar{background:rgba(11,18,32,.86)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
.topbar-inner{min-height:68px!important;gap:12px!important}
.brand{gap:11px!important;font-weight:900!important;letter-spacing:-.02em}
.brand-mark{
  position:relative;isolation:isolate;overflow:hidden;
  width:38px!important;height:38px!important;border-radius:11px!important;
  background:var(--ns-brand-gradient)!important;color:white!important;
  box-shadow:0 8px 20px rgba(47,91,234,.20)!important;
  border:1px solid rgba(255,255,255,.34)!important;
}
.brand-mark:before{content:"";position:absolute;inset:-30% 42% 30% -20%;z-index:-1;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0));transform:rotate(15deg)}
.brand-mark:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;right:-8px;bottom:-7px;background:rgba(236,72,255,.28);filter:blur(2px);z-index:-1}
.brand-text{font-size:1.08rem!important;color:var(--ns-text)!important;letter-spacing:-.025em}
.desktop-nav{gap:5px!important}
.top-link{border-radius:13px!important;color:var(--ns-text-secondary)!important}
.top-link:hover,.top-link.active{background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.role-home-pill,.student-dashboard-pill{background:var(--ns-primary-soft)!important;border-color:color-mix(in srgb,var(--ns-primary) 25%,var(--ns-border))!important;color:var(--ns-primary)!important;border-radius:14px!important}
.topbar-icon-btn,.credit-chip,.topbar-lang-menu summary,.theme-btn,.menu-toggle,.topbar-account-avatar{
  background:color-mix(in srgb,var(--ns-surface) 92%,transparent)!important;
  border-color:var(--ns-border)!important;border-radius:13px!important;color:var(--ns-text)!important;
  box-shadow:var(--ns-shadow-xs)!important;
}
.credit-chip{background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.topbar-icon-btn:hover,.credit-chip:hover,.topbar-lang-menu summary:hover,.theme-btn:hover,.menu-toggle:hover{background:var(--ns-surface-brand)!important;border-color:var(--ns-border-strong)!important}
.topbar-logout-btn{color:var(--ns-danger)!important;background:var(--ns-danger-soft)!important;border-color:color-mix(in srgb,var(--ns-danger) 20%,var(--ns-border))!important}
.topbar-logout-btn:hover{background:color-mix(in srgb,var(--ns-danger-soft) 78%,var(--ns-danger) 22%)!important}

/* Drawer */
.side-drawer{background:color-mix(in srgb,var(--ns-surface) 96%,transparent)!important;border-color:var(--ns-border)!important;border-radius:26px!important;box-shadow:0 30px 88px rgba(24,32,70,.18)!important;backdrop-filter:blur(22px)}
body.dark .side-drawer{background:rgba(17,24,39,.97)!important;box-shadow:0 30px 80px rgba(0,0,0,.40)!important}
.side-drawer-head{background:transparent!important;border-color:var(--ns-border)!important}
.side-link{border-radius:14px!important;color:var(--ns-text)!important;min-height:46px!important}
.side-link:hover{background:var(--ns-surface-brand)!important;border-color:var(--ns-border)!important}
.side-link.active{background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important;border-color:color-mix(in srgb,var(--ns-primary) 22%,var(--ns-border))!important}
.side-group-label,.side-section-title{color:var(--ns-text-muted)!important;letter-spacing:.04em!important}
.side-icon{color:var(--ns-text-secondary)}.side-link.active .side-icon{color:var(--ns-primary)}
.drawer-backdrop{background:rgba(10,18,52,.32)!important;backdrop-filter:blur(5px)!important}

/* Page surface and typography */
.container{width:min(100% - 40px,1360px)!important;max-width:1360px!important}
.page-shell{padding-block:24px 48px!important}
h1,h2,h3,h4,h5,h6{color:var(--ns-text)!important;letter-spacing:-.024em!important;line-height:1.2}
h1{font-size:clamp(2rem,3.5vw,3.25rem)}
h2{font-size:clamp(1.5rem,2.5vw,2.25rem)}
h3{font-size:clamp(1.1rem,1.8vw,1.35rem)}
.page-title{font-size:clamp(1.8rem,2.8vw,2.45rem)!important;line-height:1.16!important}
.section-title{font-size:clamp(1.45rem,2.2vw,1.95rem)!important;line-height:1.22!important}
p{line-height:var(--ns-line-body)}
html[dir="rtl"] p{line-height:var(--ns-line-ar)}
.page-subtitle,.muted,.form-note{color:var(--ns-text-secondary)!important}
.eyebrow,.marketing-eyebrow,.ns-dashboard-kicker,.ns-section-kicker{color:var(--ns-primary)!important}

/* Shared surfaces */
.card,.panel,.stat-card,.question-card,.auth-card,.hero-card,.role-card,.step-card,.timeline-card,.feature-group-card,.faq-item,.public-hero-copy,.public-hero-panel,.page-hero,
.finance-kpi,.hr-stat,.hr-kpi,.student-list-card,.metric-card,.mastery-card,.golden-summary-grid>*,.ns-person-card,.ns-list-item,.ns-message-item{
  border-color:var(--ns-border)!important;
  background:color-mix(in srgb,var(--ns-surface) 97%,transparent)!important;
  border-radius:var(--ns-radius-lg)!important;
  box-shadow:var(--ns-shadow-xs)!important;
}
.card,.panel,.question-card,.auth-card,.public-hero-copy,.public-hero-panel{overflow:hidden}
.card:hover,.panel:hover,.role-card:hover,.step-card:hover{border-color:color-mix(in srgb,var(--ns-primary) 20%,var(--ns-border))!important}
body.dark .card,body.dark .panel,body.dark .stat-card,body.dark .question-card,body.dark .auth-card,body.dark .hero-card,body.dark .role-card,body.dark .step-card,body.dark .timeline-card,body.dark .feature-group-card,body.dark .faq-item,body.dark .public-hero-copy,body.dark .public-hero-panel,body.dark .page-hero,
body.dark .finance-kpi,body.dark .hr-stat,body.dark .hr-kpi,body.dark .student-list-card,body.dark .metric-card,body.dark .mastery-card,body.dark .golden-summary-grid>*{
  background:color-mix(in srgb,var(--ns-surface) 96%,transparent)!important;
  box-shadow:var(--ns-shadow-xs)!important;
}

/* Buttons — one global control contract */
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,button.primary-btn,input.primary-btn,button[type="submit"].primary-btn{
  min-height:var(--ns-control)!important;
  padding:0 16px!important;
  border-radius:12px!important;
  font-size:.94rem!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.primary-btn,button.primary-btn,input.primary-btn,button[type="submit"].primary-btn{
  background:var(--ns-brand-gradient)!important;color:#fff!important;border:1px solid transparent!important;
  box-shadow:var(--ns-shadow-primary)!important;
}
.primary-btn:hover,button.primary-btn:hover,input.primary-btn:hover{filter:saturate(1.08) brightness(1.025);transform:translateY(-1px)!important;box-shadow:0 18px 42px rgba(69,69,234,.28)!important}
.secondary-btn{background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important;border-color:color-mix(in srgb,var(--ns-primary) 22%,var(--ns-border))!important;border-radius:14px!important}
.ghost-btn{background:color-mix(in srgb,var(--ns-surface) 82%,transparent)!important;color:var(--ns-text-secondary)!important;border-color:var(--ns-border)!important;border-radius:14px!important}
.secondary-btn:hover,.ghost-btn:hover{transform:translateY(-1px)!important}
.danger-btn{background:var(--ns-danger-soft)!important;color:var(--ns-danger)!important;border-color:color-mix(in srgb,var(--ns-danger) 24%,var(--ns-border))!important;border-radius:14px!important}

/* Forms and controls */
.field{gap:8px!important}.field label,.field>span{color:var(--ns-text)!important;font-weight:800!important}
.field input,.field select,.field textarea,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="search"],select,textarea{
  min-height:46px!important;background:var(--ns-surface)!important;color:var(--ns-text)!important;border-color:var(--ns-border)!important;border-radius:12px!important;box-shadow:var(--ns-shadow-xs)!important;
}
body.dark .field input,body.dark .field select,body.dark .field textarea,body.dark input[type="text"],body.dark input[type="email"],body.dark input[type="password"],body.dark input[type="number"],body.dark input[type="date"],body.dark input[type="datetime-local"],body.dark input[type="search"],body.dark select,body.dark textarea{background:var(--ns-surface-subtle)!important}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--ns-primary)!important;box-shadow:0 0 0 4px rgba(49,86,245,.13)!important}
.upload-dropzone,.ns-file-control,.ns-date-control,.ns-select-control{border-radius:18px!important;border-color:var(--ns-border)!important;background:linear-gradient(180deg,var(--ns-surface),var(--ns-surface-subtle))!important}
.upload-dropzone:hover{border-color:color-mix(in srgb,var(--ns-primary) 46%,var(--ns-border))!important;background:linear-gradient(180deg,var(--ns-surface),var(--ns-primary-soft))!important}
.upload-dropzone .upload-icon{background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important}

/* Tables */
.table-wrap,.responsive-table{border-color:var(--ns-border)!important;border-radius:18px!important;background:var(--ns-surface)!important;box-shadow:var(--ns-shadow-xs)!important}
.table th{background:var(--ns-surface-brand)!important;color:var(--ns-text-secondary)!important;border-color:var(--ns-border)!important}
.table td{border-color:var(--ns-border)!important;color:var(--ns-text)!important}
.table tbody tr:hover{background:color-mix(in srgb,var(--ns-primary-soft) 55%,transparent)!important}
body.dark .table-wrap,body.dark .responsive-table{background:var(--ns-surface)!important}
body.dark .table th{background:#111f51!important}

/* Tags and status */
.badge,.tag,.status-badge{border-radius:999px!important;border:1px solid color-mix(in srgb,var(--ns-primary) 16%,var(--ns-border));background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.tag-success,.status-success{background:var(--ns-success-soft)!important;color:var(--ns-success)!important;border-color:color-mix(in srgb,var(--ns-success) 22%,var(--ns-border))!important}
.tag-warn,.status-warning{background:var(--ns-warning-soft)!important;color:var(--ns-warning)!important;border-color:color-mix(in srgb,var(--ns-warning) 22%,var(--ns-border))!important}
.tag-danger,.status-danger{background:var(--ns-danger-soft)!important;color:var(--ns-danger)!important;border-color:color-mix(in srgb,var(--ns-danger) 22%,var(--ns-border))!important}

/* Shared role dashboards */
.ns-role-dashboard{gap:16px!important}
.ns-dashboard-head{
  position:relative;overflow:hidden;align-items:center!important;
  padding:24px 26px!important;border-radius:var(--ns-radius-xl)!important;border:1px solid var(--ns-border)!important;
  background:linear-gradient(135deg,var(--ns-surface) 0%,var(--ns-surface) 48%,var(--ns-surface-brand) 100%)!important;
  box-shadow:var(--ns-shadow-sm)!important;
}
.ns-dashboard-head:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;inset-inline-end:-90px;top:-105px;background:linear-gradient(135deg,rgba(49,86,245,.10),rgba(139,92,246,.08));pointer-events:none}
body.dark .ns-dashboard-head{background:linear-gradient(135deg,rgba(11,27,75,.96),rgba(14,28,76,.96) 55%,rgba(43,28,104,.72))!important;box-shadow:0 20px 55px rgba(0,0,0,.20)!important}
body.dark .ns-dashboard-head:after{background:linear-gradient(135deg,rgba(34,211,238,.16),rgba(168,35,255,.18))}
.ns-dashboard-kicker{display:inline-flex!important;padding:7px 10px;border-radius:999px;background:var(--ns-primary-soft);letter-spacing:0!important;text-transform:none!important;font-size:.78rem!important}
.ns-dashboard-copy h1{font-size:clamp(1.75rem,3vw,2.5rem)!important;margin:8px 0 5px!important}
.ns-dashboard-copy p{font-size:.95rem!important;color:var(--ns-text-secondary)!important}
.ns-dashboard-actions{position:relative;z-index:2}

.ns-metric-grid{gap:12px!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.ns-metric-card{
  min-height:112px!important;border-radius:20px!important;border-color:var(--ns-border)!important;
  background:linear-gradient(155deg,var(--ns-surface),var(--ns-surface-subtle))!important;
  box-shadow:var(--ns-shadow-xs)!important;padding:16px!important;
}
.ns-metric-card:before{content:"";position:absolute;inset-inline-start:0;top:18px;bottom:18px;width:3px;border-radius:9px;background:var(--ns-border)}
.ns-metric-card.tone-primary:before{background:var(--ns-primary)}.ns-metric-card.tone-success:before{background:var(--ns-success)}.ns-metric-card.tone-warning:before{background:var(--ns-warning)}.ns-metric-card.tone-danger:before{background:var(--ns-danger)}
body.rtl .ns-metric-card:before{inset-inline-start:0}
.ns-metric-icon{width:46px!important;height:46px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important}
.ns-metric-card.tone-success .ns-metric-icon{background:var(--ns-success-soft)!important;color:var(--ns-success)!important}.ns-metric-card.tone-warning .ns-metric-icon{background:var(--ns-warning-soft)!important;color:var(--ns-warning)!important}.ns-metric-card.tone-danger .ns-metric-icon{background:var(--ns-danger-soft)!important;color:var(--ns-danger)!important}
.ns-metric-label{color:var(--ns-text-secondary)!important}.ns-metric-body strong{color:var(--ns-text)!important}
.ns-quick-grid{gap:11px!important}
.ns-quick-card{min-height:82px!important;border-radius:18px!important;border-color:var(--ns-border)!important;background:linear-gradient(150deg,var(--ns-surface),var(--ns-surface-subtle))!important;box-shadow:var(--ns-shadow-xs)!important}
.ns-quick-card:hover{background:linear-gradient(150deg,var(--ns-surface),var(--ns-primary-soft))!important;border-color:color-mix(in srgb,var(--ns-primary) 25%,var(--ns-border))!important}
.ns-quick-icon,.ns-list-icon,.ns-alert-icon{border-radius:14px!important;background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important}
.ns-dashboard-panel{border-radius:22px!important;background:var(--ns-surface)!important;padding:18px!important}
.ns-list-item,.ns-message-item{border-radius:16px!important;background:var(--ns-surface-subtle)!important}
.ns-empty-state,.empty-state-smart,.finance-empty,.hr-empty{border-radius:18px!important;background:var(--ns-surface-subtle)!important;border-color:var(--ns-border-strong)!important}

/* Student visual language */
body.role-student .ns-dashboard-head,body.role-student .page-hero{
  background:linear-gradient(135deg,var(--ns-surface) 0%,var(--ns-surface) 56%,rgba(99,69,238,.075) 100%)!important;
}
body.role-student.dark .ns-dashboard-head,body.role-student.dark .page-hero{background:linear-gradient(135deg,var(--ns-surface),var(--ns-surface-brand))!important}
body.role-student .primary-btn{background:var(--ns-brand-gradient)!important}

/* Student home 2.0 */
.ns-student-home-v2{display:grid;gap:18px}
.ns-student-welcome-v2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:16px;padding:24px;border:1px solid var(--ns-border);border-radius:28px;background:linear-gradient(135deg,var(--ns-surface),var(--ns-surface) 55%,var(--ns-surface-brand));box-shadow:var(--ns-shadow-sm);overflow:hidden;position:relative}
.ns-student-welcome-v2:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;inset-inline-end:-110px;top:-125px;background:linear-gradient(135deg,rgba(49,86,245,.12),rgba(139,92,246,.10))}
body.dark .ns-student-welcome-v2{background:linear-gradient(135deg,var(--ns-surface),var(--ns-surface-brand));box-shadow:var(--ns-shadow-sm)}
.ns-student-welcome-copy{position:relative;z-index:1;display:grid;align-content:center;gap:8px}.ns-student-welcome-copy .eyebrow{width:max-content}.ns-student-welcome-copy h1{margin:0;font-size:clamp(1.9rem,3.7vw,3rem);line-height:1.12}.ns-student-welcome-copy h1 span{background:var(--ns-brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.ns-student-welcome-copy p{margin:0;max-width:720px;color:var(--ns-text-secondary);font-size:1rem}
.ns-student-level-card{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px;padding:18px;border-radius:22px;border:1px solid var(--ns-border);background:color-mix(in srgb,var(--ns-surface) 86%,transparent);backdrop-filter:blur(10px)}
body.dark .ns-student-level-card{background:rgba(10,24,66,.72)}
.ns-progress-ring{--p:0;--ring-color:var(--ns-primary);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring-color) calc(var(--p)*1%),color-mix(in srgb,var(--ns-border) 80%,transparent) 0);position:relative}.ns-progress-ring:before{content:"";position:absolute;width:67px;height:67px;border-radius:50%;background:var(--ns-surface)}body.dark .ns-progress-ring:before{background:var(--ns-surface)}.ns-progress-ring strong{position:relative;z-index:1;font-size:1.2rem}.ns-level-copy{display:grid;gap:3px}.ns-level-copy small{color:var(--ns-text-muted)}.ns-level-copy strong{font-size:1.1rem}
.ns-student-section-card{padding:20px;border:1px solid var(--ns-border);border-radius:26px;background:var(--ns-surface);box-shadow:var(--ns-shadow-xs)}body.dark .ns-student-section-card{background:var(--ns-surface)}
.ns-student-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.ns-student-section-head h2{margin:0;font-size:1.12rem}.ns-student-section-head p{margin:2px 0 0;color:var(--ns-text-muted);font-size:.78rem}.ns-student-section-head a{color:var(--ns-primary);font-weight:800;font-size:.82rem}
.ns-subject-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ns-subject-card-v2{--subject:#3156f5;--subject-soft:#eef4ff;display:grid;gap:13px;padding:16px;border-radius:21px;border:1px solid color-mix(in srgb,var(--subject) 18%,var(--ns-border));background:linear-gradient(150deg,var(--ns-surface),color-mix(in srgb,var(--subject-soft) 65%,var(--ns-surface)));min-width:0}
.ns-subject-card-v2:nth-child(2){--subject:#28a868;--subject-soft:#eef9f2}.ns-subject-card-v2:nth-child(3){--subject:#6951e8;--subject-soft:#f2efff}.ns-subject-card-v2:nth-child(4){--subject:#f28b2e;--subject-soft:#fff5e9}
body.dark .ns-subject-card-v2{background:linear-gradient(150deg,var(--ns-surface),color-mix(in srgb,var(--subject) 8%,var(--ns-surface-subtle)));border-color:color-mix(in srgb,var(--subject) 30%,var(--ns-border))}
.ns-subject-top{display:flex;align-items:center;gap:10px}.ns-subject-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--subject-soft) 88%,white);color:var(--subject);border:1px solid color-mix(in srgb,var(--subject) 12%,var(--ns-border))}.ns-subject-icon .ns-icon{width:23px;height:23px}.ns-subject-top strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-subject-score{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.ns-subject-score small{color:var(--ns-text-muted)}.ns-subject-score b{font-size:1.45rem}.ns-subject-progress{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ns-border) 70%,transparent);overflow:hidden}.ns-subject-progress span{display:block;height:100%;border-radius:inherit;background:var(--subject)}.ns-subject-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.72rem}.ns-subject-foot span{color:var(--subject);font-weight:800}.ns-subject-foot a{color:var(--ns-text-secondary);font-weight:800}
.ns-student-summary-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ns-student-summary-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:17px 18px;border:1px solid var(--ns-border);border-radius:21px;background:var(--ns-surface)}body.dark .ns-student-summary-card{background:var(--ns-surface)}.ns-student-summary-card small{color:var(--ns-text-muted)}.ns-student-summary-card strong{display:block;font-size:1.65rem;line-height:1.15}.ns-student-summary-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--ns-violet-soft);color:var(--ns-secondary)}.ns-student-summary-card:nth-child(2) .ns-student-summary-icon{background:var(--ns-success-soft);color:var(--ns-success)}.ns-student-summary-card:nth-child(3) .ns-student-summary-icon{background:var(--ns-warning-soft);color:var(--ns-warning)}
.ns-student-cta-v2{display:flex;justify-content:center;margin-top:2px}.ns-student-cta-v2 .primary-btn{min-width:min(100%,520px);min-height:58px;border-radius:20px!important;font-size:1.1rem!important}

/* Smart practice 2.0 */
.ns-practice-steps-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.ns-practice-step-v2{position:relative;display:grid;grid-template-columns:36px 48px minmax(0,1fr);align-items:center;gap:10px;padding:14px;border:1px solid var(--ns-border);border-radius:19px;background:var(--ns-surface)}body.dark .ns-practice-step-v2{background:var(--ns-surface)}.ns-practice-step-no{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--ns-brand-gradient);color:#fff;font-weight:900;font-size:.8rem}.ns-practice-step-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft));color:var(--ns-primary)}.ns-practice-step-copy{display:grid;gap:2px}.ns-practice-step-copy strong{font-size:.88rem}.ns-practice-step-copy small{color:var(--ns-text-muted);font-size:.7rem}.ns-practice-step-v2:not(:last-child):after{content:"→";position:absolute;inset-inline-end:-14px;top:50%;transform:translateY(-50%);z-index:2;color:var(--ns-primary);font-weight:900}.rtl .ns-practice-step-v2:not(:last-child):after{content:"←"}
.ns-practice-builder-v2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px;align-items:start}.ns-practice-source-card,.ns-practice-settings-card{padding:20px!important;border-radius:24px!important}.ns-practice-source-tabs{display:flex;gap:8px;margin-bottom:13px}.ns-practice-source-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--ns-surface-subtle);border:1px solid var(--ns-border);font-size:.78rem;font-weight:800}.ns-practice-source-tab.is-active{background:var(--ns-primary-soft);color:var(--ns-primary);border-color:color-mix(in srgb,var(--ns-primary) 25%,var(--ns-border))}.ns-practice-settings-card{position:sticky;top:92px}.ns-practice-preview-v2{display:grid;gap:10px;margin-top:12px;padding:15px;border:1px solid var(--ns-border);border-radius:18px;background:linear-gradient(145deg,var(--ns-surface-subtle),var(--ns-surface))}.ns-practice-preview-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.ns-practice-preview-title strong{font-size:1rem}.ns-practice-preview-title .ns-icon{color:var(--ns-success)}.ns-practice-preview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ns-practice-preview-stats div{padding:10px;border-radius:14px;text-align:center;background:var(--ns-surface);border:1px solid var(--ns-border)}.ns-practice-preview-stats strong{display:block;font-size:1.18rem}.ns-practice-preview-stats small{color:var(--ns-text-muted);font-size:.68rem}.ns-practice-big-cta{width:100%;min-height:54px!important;border-radius:18px!important;font-size:1rem!important}

/* Mastery / analytics 2.0 */
.ns-mastery-overview-v2{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:14px}.ns-mastery-score-panel,.ns-mastery-trend-panel{padding:20px;border:1px solid var(--ns-border);border-radius:24px;background:var(--ns-surface);box-shadow:var(--ns-shadow-xs)}body.dark .ns-mastery-score-panel,body.dark .ns-mastery-trend-panel{background:var(--ns-surface)}.ns-mastery-score-panel{display:grid;place-items:center;text-align:center;gap:10px}.ns-mastery-ring-large{--p:0;width:152px;height:152px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ns-success) calc(var(--p)*1%),color-mix(in srgb,var(--ns-border) 70%,transparent) 0);position:relative}.ns-mastery-ring-large:before{content:"";position:absolute;width:118px;height:118px;border-radius:50%;background:var(--ns-surface)}body.dark .ns-mastery-ring-large:before{background:var(--ns-surface)}.ns-mastery-ring-large div{position:relative;z-index:1}.ns-mastery-ring-large strong{display:block;font-size:2rem}.ns-mastery-ring-large small{color:var(--ns-text-muted)}.ns-mastery-trend-panel{display:grid;gap:14px}.ns-mastery-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ns-mastery-trend-head strong{font-size:1.65rem}.ns-mastery-bars-v2{display:flex;align-items:end;gap:9px;min-height:160px;padding-top:12px}.ns-mastery-bar-v2{flex:1;display:grid;align-content:end;gap:6px;height:145px}.ns-mastery-bar-v2 span{display:block;width:100%;min-height:10px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--ns-primary),var(--ns-info));box-shadow:0 7px 18px rgba(49,86,245,.12)}.ns-mastery-bar-v2 small{text-align:center;color:var(--ns-text-muted);font-size:.64rem}.ns-mastery-side-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ns-mastery-signal{padding:14px;border-radius:18px;border:1px solid var(--ns-border);background:var(--ns-success-soft)}.ns-mastery-signal.warning{background:var(--ns-warning-soft)}.ns-mastery-signal strong{display:block;font-size:1.35rem}.ns-mastery-signal small{color:var(--ns-text-secondary)}
.mastery-grid{gap:12px!important}.mastery-card{border-radius:20px!important}.mastery-card progress{accent-color:var(--ns-primary);height:9px;border-radius:999px;overflow:hidden}

/* Finance / HR / admin: same system, calmer visual treatment */
.finance-shell,.hr-shell{gap:15px!important}.finance-module-nav,.hr-nav,.ns-grouped-module-nav{border-radius:18px!important;border-color:var(--ns-border)!important;background:color-mix(in srgb,var(--ns-surface) 94%,transparent)!important;box-shadow:var(--ns-shadow-xs)!important;backdrop-filter:blur(12px)}
.finance-module-link,.hr-nav-link{border-radius:12px!important;color:var(--ns-text-secondary)!important}.finance-module-link:hover,.finance-module-link.active,.hr-nav-link:hover,.hr-nav-link.active{background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.finance-grid,.hr-grid{gap:13px!important}.finance-kpi,.hr-kpi,.hr-stat{border-radius:20px!important;background:linear-gradient(155deg,var(--ns-surface),var(--ns-surface-subtle))!important;box-shadow:var(--ns-shadow-xs)!important}.finance-kpi strong,.hr-kpi strong,.hr-stat strong{color:var(--ns-text)!important}.finance-positive{color:var(--ns-success)!important}.finance-negative{color:var(--ns-danger)!important}.finance-warning{color:var(--ns-warning)!important}
.finance-integrity-ok{background:var(--ns-success-soft)!important;border-color:color-mix(in srgb,var(--ns-success) 28%,var(--ns-border))!important}.finance-integrity-bad{background:var(--ns-danger-soft)!important;border-color:color-mix(in srgb,var(--ns-danger) 28%,var(--ns-border))!important}
body.dark .finance-integrity-ok{background:rgba(42,168,104,.11)!important}body.dark .finance-integrity-bad{background:rgba(232,92,105,.11)!important}

/* Manager portals */
.manager-portals-hero{border-radius:28px!important;border-color:var(--ns-border)!important;background:linear-gradient(135deg,var(--ns-surface),var(--ns-surface-brand))!important;box-shadow:var(--ns-shadow-sm)!important}.manager-portals-eyebrow,.manager-portal-kicker{color:var(--ns-primary)!important}.manager-portal-card{min-height:350px!important;border-radius:26px!important;border-color:var(--ns-border)!important;background:linear-gradient(150deg,var(--ns-surface),var(--ns-surface-subtle))!important;box-shadow:var(--ns-shadow-sm)!important}.manager-portal-card:before{height:4px!important;background:var(--ns-brand-gradient)!important}.manager-portal-card.portal-finance:before{background:linear-gradient(90deg,#20a875,#45d093)!important}.manager-portal-card.portal-hr:before{background:linear-gradient(90deg,#6951e8,#a45bf4)!important}.manager-portal-icon{border-radius:16px!important;background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}.manager-portal-stats>div,.manager-portal-features li{border-color:var(--ns-border)!important;background:var(--ns-surface-brand)!important}.manager-portals-note{background:var(--ns-primary-soft)!important;border-color:color-mix(in srgb,var(--ns-primary) 20%,var(--ns-border))!important;color:var(--ns-text)!important}
body.dark .manager-portals-hero,body.dark .manager-portal-card{background:linear-gradient(145deg,var(--ns-surface),var(--ns-surface-subtle))!important}

/* Public marketing */
.public-hero-copy,.public-hero-panel,.page-hero{border-radius:28px!important;background:linear-gradient(145deg,var(--ns-surface),var(--ns-surface-brand))!important;box-shadow:var(--ns-shadow-sm)!important}.public-hero-copy h1,.page-hero h1{letter-spacing:-.045em!important}.public-hero-copy h1 strong,.public-hero-copy h1 em,.marketing-gradient-text{background:var(--ns-brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important}.role-icon,.step-icon{background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important}.final-cta{border-radius:30px!important;background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;border-color:color-mix(in srgb,var(--ns-primary) 18%,var(--ns-border))!important}
body.dark .public-hero-copy,body.dark .public-hero-panel,body.dark .page-hero{background:linear-gradient(145deg,var(--ns-surface),var(--ns-surface-brand))!important}

/* Authentication */
body.page-auth-login .auth-card,body.page-auth-register .auth-card,body.page-auth-forgot-password .auth-card,body.page-auth-reset-password .auth-card{border-radius:26px!important;box-shadow:var(--ns-shadow-md)!important;background:linear-gradient(160deg,var(--ns-surface),var(--ns-surface-subtle))!important}.role-option{border-radius:16px!important;background:var(--ns-surface)!important;border-color:var(--ns-border)!important}.role-option:has(input:checked){background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;border-color:color-mix(in srgb,var(--ns-primary) 35%,var(--ns-border))!important}

/* Exam and practice taking */
.question-nav{border-radius:18px!important;background:color-mix(in srgb,var(--ns-surface) 94%,transparent)!important;backdrop-filter:blur(14px);border-color:var(--ns-border)!important}.question-nav a{border-radius:12px!important;background:var(--ns-surface)!important;border-color:var(--ns-border)!important}.question-card{border-radius:24px!important}.option-tile{border-radius:17px!important;background:var(--ns-surface-subtle)!important;border-color:var(--ns-border)!important;min-height:52px}.option-tile:hover{background:var(--ns-primary-soft)!important;border-color:color-mix(in srgb,var(--ns-primary) 32%,var(--ns-border))!important}.option-tile:has(input:checked){background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;border-color:var(--ns-primary)!important;box-shadow:0 0 0 3px rgba(49,86,245,.10)}

/* Progress */
progress{appearance:none;border:0;border-radius:999px;overflow:hidden;background:var(--ns-border)}progress::-webkit-progress-bar{background:var(--ns-border);border-radius:999px}progress::-webkit-progress-value{background:var(--ns-brand-gradient);border-radius:999px}progress::-moz-progress-bar{background:var(--ns-brand-gradient);border-radius:999px}

/* Footer */
.site-footer{background:color-mix(in srgb,var(--ns-surface) 92%,transparent)!important;border-color:var(--ns-border)!important}.authenticated-footer{margin-top:12px}.footer-col a,.authenticated-footer-links a{color:var(--ns-text-secondary)!important}.footer-col a:hover,.authenticated-footer-links a:hover{color:var(--ns-primary)!important}
.public-footer{padding:24px 0 22px!important;border-top:1px solid var(--ns-border)!important;background:var(--ns-surface)!important}
.pro-footer-grid{grid-template-columns:1.35fr .82fr .95fr;gap:clamp(28px,4vw,58px);align-items:start}
.footer-brand-block{max-width:500px}.footer-brand{font-size:1.05rem;display:flex;align-items:center;gap:9px}.footer-brand .brand-mark.small{width:34px!important;height:34px!important;border-radius:10px!important}.footer-brand-block p{font-size:.88rem;line-height:1.7;margin:12px 0 0}
.footer-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:5px;align-content:start}.footer-col h4{grid-column:1/-1;margin:0 0 5px;font-size:.92rem}.footer-col a,.footer-cookie-link{min-height:0;padding:2px 0;font-size:.84rem;line-height:1.45;font-weight:650}
.footer-bottom{margin-top:18px;padding-top:14px;font-size:.76rem;line-height:1.5}
body.dark .public-footer{background:var(--ns-surface)!important}
@media(max-width:1120px){.pro-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:26px}}
@media(max-width:900px){.pro-footer-grid{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1;max-width:680px}}
@media(max-width:760px){.pro-footer-grid{grid-template-columns:1fr;gap:22px}.footer-brand-block{grid-column:auto}.footer-col{grid-template-columns:1fr 1fr}.public-footer{padding:22px 0 20px!important}}
@media(max-width:480px){.footer-col{grid-template-columns:1fr}.footer-col h4{grid-column:auto}}

/* Mobile role navigation */
.ns-mobile-nav{display:none}
@media(max-width:760px){
  body.has-mobile-nav .page-shell{padding-bottom:108px!important}
  body.has-mobile-nav .site-footer{padding-bottom:96px!important}
  .ns-mobile-nav{position:fixed;z-index:64;display:grid;grid-template-columns:repeat(var(--mobile-nav-count,5),minmax(0,1fr));inset-inline:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:7px;border:1px solid color-mix(in srgb,var(--ns-border) 90%,transparent);border-radius:22px;background:color-mix(in srgb,var(--ns-surface) 88%,transparent);box-shadow:0 18px 48px rgba(22,34,82,.18);backdrop-filter:blur(20px) saturate(150%)}
  body.dark .ns-mobile-nav{background:rgba(17,24,39,.92);box-shadow:0 18px 52px rgba(0,0,0,.34)}
  .ns-mobile-nav a,.ns-mobile-nav button{appearance:none;border:0;background:transparent;color:var(--ns-text-muted);display:grid;justify-items:center;align-content:center;gap:3px;min-height:55px;padding:5px 3px;border-radius:16px;font:inherit;cursor:pointer}
  .ns-mobile-nav a.active,.ns-mobile-nav button.active{background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft));color:var(--ns-primary)}
  .ns-mobile-nav .ns-icon{width:21px;height:21px}.ns-mobile-nav span{font-size:.62rem;font-weight:800;line-height:1.15;text-align:center}
}

/* Responsive */
@media(max-width:1120px){
  .ns-subject-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns-practice-builder-v2{grid-template-columns:1fr}.ns-practice-settings-card{position:static}
}
@media(max-width:900px){
  .container{width:min(100% - 28px,1360px)!important}
  .ns-student-welcome-v2{grid-template-columns:1fr}.ns-student-level-card{max-width:420px}
  .ns-mastery-overview-v2{grid-template-columns:1fr}
  .ns-dashboard-head{align-items:flex-start!important;flex-direction:column!important}.ns-dashboard-actions{justify-content:flex-start!important}
}
@media(max-width:760px){
  .topbar-inner{min-height:62px!important}.brand-mark{width:36px!important;height:36px!important;border-radius:10px!important}.brand-text{display:none!important}
  .page-shell{padding-block:18px 36px!important}
  .ns-dashboard-head{padding:18px!important;border-radius:22px!important}.ns-dashboard-copy h1{font-size:1.65rem!important}
  .ns-dashboard-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.ns-dashboard-actions>*{width:100%}
  .ns-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ns-metric-card{min-height:96px!important;padding:12px!important;grid-template-columns:39px minmax(0,1fr)!important}.ns-metric-card[href] .ns-metric-arrow{display:none!important}.ns-metric-icon{width:39px!important;height:39px!important;border-radius:13px!important}.ns-metric-body strong{font-size:1.25rem!important}
  .ns-dashboard-grid,.ns-dashboard-grid-main{grid-template-columns:1fr!important}
  .ns-student-welcome-v2{padding:19px;border-radius:24px}.ns-student-welcome-copy h1{font-size:2rem}.ns-student-section-card{padding:16px;border-radius:22px}.ns-student-summary-grid-v2{grid-template-columns:1fr}.ns-practice-steps-v2{grid-template-columns:1fr}.ns-practice-step-v2:not(:last-child):after{display:none}.ns-practice-preview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .finance-module-nav,.hr-nav{top:64px!important}
}
@media(max-width:540px){
  .container{width:min(100% - 18px,1360px)!important}
  .compact-topbar-actions{gap:5px!important}.topbar-logout-form .topbar-logout-btn span{display:none}.credit-chip{font-size:.72rem!important}
  .ns-subject-grid-v2{grid-template-columns:1fr}.ns-subject-card-v2{grid-template-columns:1fr}
  .ns-metric-grid{grid-template-columns:1fr!important}.ns-dashboard-actions{grid-template-columns:1fr}.ns-practice-preview-stats{grid-template-columns:1fr 1fr}.ns-practice-preview-stats div:last-child{grid-column:1/-1}
  .ns-mastery-side-v2{grid-template-columns:1fr}.ns-mastery-bars-v2{min-height:130px}.ns-mastery-bar-v2{height:115px}
  .card,.panel,.question-card{border-radius:20px!important}.table-wrap,.responsive-table{border-radius:16px!important}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* --------------------------------------------------------------------------
   Full-project compatibility layer
   Keeps legacy role/public/account components inside the UI 2.0 design system.
   -------------------------------------------------------------------------- */
.auth-shell{padding-block:clamp(28px,6vw,72px)!important}
.auth-card,.account-settings-card,.privacy-export-card,.privacy-actions-card,.security-result-card,.subscription-request-card,
.public-card,.pricing-card,.feature-item,.security-card,.school-report-card,.parent-practice-card,.parent-test-card,.result-admin-card,
.admin-list-item,.kpi,.print-box,.compliance-item,.notice-card-unread,.credit-help-grid>div,.daily-steps>div{
  border-color:var(--ns-border)!important;
  background:color-mix(in srgb,var(--ns-surface) 97%,transparent)!important;
  border-radius:var(--ns-radius-lg)!important;
  box-shadow:var(--ns-shadow-xs)!important;
}
body.dark .auth-card,body.dark .account-settings-card,body.dark .privacy-export-card,body.dark .privacy-actions-card,body.dark .security-result-card,
body.dark .subscription-request-card,body.dark .public-card,body.dark .pricing-card,body.dark .feature-item,body.dark .security-card,
body.dark .school-report-card,body.dark .parent-practice-card,body.dark .parent-test-card,body.dark .result-admin-card,
body.dark .admin-list-item,body.dark .kpi,body.dark .print-box,body.dark .compliance-item,body.dark .notice-card-unread,
body.dark .credit-help-grid>div,body.dark .daily-steps>div{
  background:color-mix(in srgb,var(--ns-surface) 96%,transparent)!important;
  border-color:var(--ns-border)!important;
}
.stat-card,.kpi{position:relative;overflow:hidden}
.stat-card:after,.kpi:after{content:"";position:absolute;inline-size:90px;block-size:90px;border-radius:50%;inset-inline-end:-48px;bottom:-54px;background:linear-gradient(135deg,rgba(49,86,245,.09),rgba(117,70,237,.06));pointer-events:none}
.stat-value,.kpi strong{color:var(--ns-text)!important}
.admin-list-item{background:linear-gradient(150deg,var(--ns-surface),var(--ns-surface-subtle))!important}
.admin-list-item:hover{border-color:color-mix(in srgb,var(--ns-primary) 24%,var(--ns-border))!important;background:linear-gradient(150deg,var(--ns-surface),var(--ns-primary-soft))!important}

/* Marketing/public page internals that used fixed light colors in the legacy skin. */
.trust-row span,.hero-stat-grid>div,.demo-card,.check-grid>div,.soft-section,.pilot-module,.pilot-preview-card,
.profile-status-strip>div,.profile-info-grid>div,.public-profile-stats>div,.public-achievement-card{
  color:var(--ns-text)!important;background:var(--ns-surface-subtle)!important;border-color:var(--ns-border)!important;
}
.hero-stat-grid strong,.demo-card strong,.public-card strong,.pricing-card strong{color:var(--ns-text)!important}
.demo-card,.accent-card,.soft-section,.final-cta{background:linear-gradient(135deg,var(--ns-surface-subtle),var(--ns-surface-brand))!important}
.marketing-eyebrow{background:var(--ns-primary-soft)!important;border-color:color-mix(in srgb,var(--ns-primary) 22%,var(--ns-border))!important;color:var(--ns-primary)!important}
.role-card,.step-card,.timeline-card,.feature-group-card,.faq-item,.public-card,.pricing-card,.feature-item{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.role-card:hover,.step-card:hover,.timeline-card:hover,.feature-group-card:hover,.public-card:hover,.pricing-card:hover,.feature-item:hover{transform:translateY(-2px);box-shadow:var(--ns-shadow-sm)!important}
body.dark .trust-row span,body.dark .hero-stat-grid>div,body.dark .demo-card,body.dark .check-grid>div,body.dark .soft-section,
body.dark .pilot-module,body.dark .pilot-preview-card,body.dark .profile-status-strip>div,body.dark .profile-info-grid>div,
body.dark .public-profile-stats>div,body.dark .public-achievement-card{background:var(--ns-surface-subtle)!important;color:var(--ns-text)!important}

/* Account/profile/setting areas */
.profile-settings-grid,.privacy-grid{gap:16px!important}
.profile-status-strip,.profile-info-grid,.public-profile-stats{gap:10px!important}
.public-profile-sidebar{top:90px!important}
.profile-record-avatar,.public-profile-avatar{border-color:color-mix(in srgb,var(--ns-surface) 84%,transparent)!important;box-shadow:var(--ns-shadow-sm)!important}

/* School, teacher and parent operational cards */
.student-card-list,.admin-card-list,.reward-feed,.msg-list{gap:11px!important}
.student-list-card,.parent-practice-card,.parent-test-card,.result-admin-card,.reward-feed-item,.msg{
  border-color:var(--ns-border)!important;background:linear-gradient(150deg,var(--ns-surface),var(--ns-surface-subtle))!important;
  border-radius:18px!important;box-shadow:var(--ns-shadow-xs)!important;
}
body.dark .student-list-card,body.dark .parent-practice-card,body.dark .parent-test-card,body.dark .result-admin-card,body.dark .reward-feed-item,body.dark .msg{
  background:linear-gradient(150deg,var(--ns-surface),var(--ns-surface-subtle))!important;
}
.school-report-card{min-height:0!important}

/* Finance and HR stay professional while sharing the same product identity. */
.finance-module-nav,.hr-nav{
  border-color:var(--ns-border)!important;background:color-mix(in srgb,var(--ns-surface) 90%,transparent)!important;
  border-radius:18px!important;box-shadow:0 10px 28px rgba(32,44,88,.06)!important;backdrop-filter:blur(16px);
}
body.dark .finance-module-nav,body.dark .hr-nav{background:color-mix(in srgb,var(--ns-surface) 94%,transparent)!important;box-shadow:var(--ns-shadow-xs)!important}
.finance-module-link,.hr-nav-link{border-radius:12px!important;color:var(--ns-text-secondary)!important}
.finance-module-link:hover,.finance-module-link.active,.hr-nav-link:hover,.hr-nav-link.active{
  background:linear-gradient(135deg,var(--ns-primary-soft),var(--ns-violet-soft))!important;color:var(--ns-primary)!important;
}
.finance-line-grid,.finance-document-totals,.finance-note,.hr-payroll-summary>div,.hr-tabs a{
  background:var(--ns-surface-subtle)!important;border-color:var(--ns-border)!important;border-radius:15px!important;color:var(--ns-text)!important;
}
.finance-integrity-warning{background:var(--ns-warning-soft)!important;border-color:color-mix(in srgb,var(--ns-warning) 30%,var(--ns-border))!important}
.hr-avatar{background:var(--ns-brand-gradient)!important;box-shadow:var(--ns-shadow-primary)!important}

/* Notices/alerts: clear but calm. */
.alert,.notice{border-radius:16px!important;border-color:var(--ns-border)!important;box-shadow:none!important}
.alert.info,.notice.info,.soft-notice{background:var(--ns-primary-soft)!important;color:var(--ns-text)!important}
.alert.success,.notice.success{background:var(--ns-success-soft)!important;color:var(--ns-text)!important}
.alert.warning,.notice.warning{background:var(--ns-warning-soft)!important;color:var(--ns-text)!important}
.alert.danger,.notice.danger,.alert.error{background:var(--ns-danger-soft)!important;color:var(--ns-text)!important}

/* Accessibility and keyboard focus are consistent in every module. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--ns-primary) 34%,transparent)!important;outline-offset:2px!important}
::selection{background:color-mix(in srgb,var(--ns-primary) 24%,transparent);color:var(--ns-text)}

@media(max-width:760px){
  .public-hero{min-height:0!important;padding-top:16px!important}
  .public-hero-copy{padding:24px!important}.public-hero-copy h1{font-size:clamp(2rem,11vw,3.1rem)!important}
  .page-hero{padding:25px 18px!important}.page-hero h1{font-size:clamp(1.9rem,9vw,2.8rem)!important}
  .auth-shell{padding-block:20px 72px!important}.auth-card{padding:20px!important}
  .finance-module-nav,.hr-nav{border-radius:16px!important}
}

@media print{
  body,body.dark{background:#fff!important;color:#000!important}
  .ns-mobile-nav,.topbar,.side-drawer,.drawer-backdrop{display:none!important}
  .card,.panel,.finance-document,.print-box{box-shadow:none!important;background:#fff!important;color:#000!important;border-color:#ddd!important}
}

/* ===== Responsive data contract =====
 * stack   : simple records -> stacked labels on small screens
 * dense   : accounting/HR/admin data -> controlled horizontal scroll
 * records : explicit summary-list mode; add data-priority on cells when a page needs it
 */
.table-wrap.ns-table-mode-dense,.table-wrap.ns-table-mode-stack,.table-wrap.ns-table-mode-records{max-width:100%}
.table-wrap.ns-table-mode-dense{overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap.ns-table-mode-dense table{min-width:max(100%,720px)}
.table-wrap.ns-table-mode-dense[data-sticky-first="1"] :is(th,td):first-child{position:sticky;inset-inline-start:0;z-index:1;background:var(--ns-surface)}
.table-wrap.ns-table-mode-dense[data-sticky-first="1"] thead th:first-child{z-index:2;background:var(--ns-surface-brand)}
@media(max-width:768px){
  .table-wrap.ns-table-mode-stack{overflow:visible;border:0!important;background:transparent!important;box-shadow:none!important}
  .table-wrap.ns-table-mode-stack table,.table-wrap.ns-table-mode-stack tbody,.table-wrap.ns-table-mode-stack tr,.table-wrap.ns-table-mode-stack td{display:block;width:100%}
  .table-wrap.ns-table-mode-stack thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .table-wrap.ns-table-mode-stack tr{margin-block:0 12px;padding:8px 12px;border:1px solid var(--ns-border);border-radius:var(--ns-radius-md);background:var(--ns-surface);box-shadow:var(--ns-shadow-xs)}
  .table-wrap.ns-table-mode-stack td{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--ns-border);text-align:start!important}
  .table-wrap.ns-table-mode-stack td:last-child{border-bottom:0}
  .table-wrap.ns-table-mode-stack td::before{content:attr(data-label);font-weight:800;color:var(--ns-text-muted);overflow-wrap:anywhere}
  .table-wrap.ns-table-mode-stack td[data-label=""]::before{display:none}
  .table-wrap.ns-table-mode-stack td[data-label=""]{grid-template-columns:1fr}

  .table-wrap.ns-table-mode-records{overflow:visible;border:0!important;background:transparent!important;box-shadow:none!important}
  .table-wrap.ns-table-mode-records table,.table-wrap.ns-table-mode-records tbody{display:block;width:100%}
  .table-wrap.ns-table-mode-records thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .table-wrap.ns-table-mode-records tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:14px 16px;margin-block:0 10px;border:1px solid var(--ns-border);border-radius:var(--ns-radius-md);background:var(--ns-surface)}
  .table-wrap.ns-table-mode-records td{display:block;padding:0;border:0!important;text-align:start!important;color:var(--ns-text-secondary)}
  .table-wrap.ns-table-mode-records td[data-priority="primary"],.table-wrap.ns-table-mode-records td:first-child{font-weight:850;color:var(--ns-text);font-size:1rem}
  .table-wrap.ns-table-mode-records td[data-priority="actions"],.table-wrap.ns-table-mode-records td:last-child{grid-column:2;grid-row:1/-1;align-self:center}
}
@media(max-width:480px){
  .table-wrap.ns-table-mode-stack td{grid-template-columns:1fr;gap:4px}
  .table-wrap.ns-table-mode-dense table{min-width:680px}
}
@media(max-width:360px){
  .container{width:min(calc(100% - 16px),var(--ns-content-max))!important}
  :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,button){min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Excel import journey: clear to non-technical school managers. */
.ns-import-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}
.ns-import-stepper li{position:relative;display:grid;justify-items:center;gap:7px;min-width:0;color:var(--ns-text-muted);font-size:.78rem;text-align:center}
.ns-import-stepper li:not(:last-child)::after{content:"";position:absolute;top:18px;inset-inline-start:calc(50% + 24px);width:calc(100% - 48px);height:2px;background:var(--ns-border)}
.ns-import-stepper li>span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ns-border);border-radius:50%;background:var(--ns-surface);font-weight:850;color:var(--ns-text-muted)}
.ns-import-stepper li.is-active>span{border-color:var(--ns-portal-accent);background:var(--ns-primary-soft);color:var(--ns-portal-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ns-portal-accent) 10%,transparent)}
.ns-import-stepper li.is-active strong{color:var(--ns-text)}
.ns-import-stepper li.is-done>span{border-color:var(--ns-success);background:var(--ns-success);color:#fff}
.ns-import-stepper li.is-done:not(:last-child)::after{background:color-mix(in srgb,var(--ns-success) 48%,var(--ns-border))}
.ns-import-result{border-color:color-mix(in srgb,var(--ns-success) 28%,var(--ns-border))!important}
@media(max-width:768px){.ns-import-stepper{grid-template-columns:repeat(3,1fr);row-gap:18px}.ns-import-stepper li::after{display:none}}
@media(max-width:480px){.ns-import-stepper{grid-template-columns:repeat(2,1fr)}}

/* ========================================================================== 
   UI/UX PHASE 1 — GLOBAL VISUAL CONTRACT (6.6.1)
   Applied across public, student, teacher, manager, HR, finance and admin UI.
   ========================================================================== */

/* Brand asset */
.brand-mark{
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-mark:before,.brand-mark:after{display:none!important}
.brand-mark img{display:block;width:100%;height:100%;border-radius:inherit;box-shadow:0 8px 20px rgba(47,91,234,.20)}

/* Header: compact, legible and intentional. Public desktop navigation does not
   show a redundant drawer trigger while the full navigation is visible. */
.topbar{box-shadow:0 1px 0 rgba(16,24,40,.025)!important}
.topbar-inner{padding-block:0!important}
.top-link{min-height:42px!important;padding:0 11px!important;border-radius:10px!important;font-size:.91rem!important;font-weight:700!important}
.compact-topbar-actions{gap:7px!important}
.topbar-icon-btn,.credit-chip,.topbar-lang-menu summary,.theme-btn,.menu-toggle,.topbar-account-avatar{
  min-height:40px!important;min-width:40px!important;padding:0 10px!important;border-radius:11px!important;
}
.topbar-lang-menu summary{gap:6px!important}
.topbar-lang-globe{display:inline-grid;place-items:center;color:var(--ns-text-secondary)}
.topbar-lang-globe .ns-icon{width:17px;height:17px}
.topbar-lang-code{font-size:.76rem;font-weight:800;letter-spacing:.02em}
.theme-btn{display:inline-grid!important;place-items:center!important;padding:0!important}
.theme-btn .theme-icon{grid-area:1/1;display:inline-grid;place-items:center}
.theme-btn .theme-icon .ns-icon{width:18px;height:18px}
.theme-btn .theme-icon-sun{display:none}
.theme-btn[aria-pressed="true"] .theme-icon-moon{display:none}
.theme-btn[aria-pressed="true"] .theme-icon-sun{display:inline-grid}
.menu-toggle .ns-icon{width:20px;height:20px}
@media(min-width:1181px){.public-menu-toggle{display:none!important}}

/* Shared typography and content rhythm */
.page-subtitle{font-size:1rem!important;line-height:1.7!important;max-width:820px!important}
.small{font-size:var(--ns-font-size-sm)!important}
.muted{color:var(--ns-text-secondary)!important}
.eyebrow,.marketing-eyebrow,.pilot-kicker,.ns-dashboard-kicker,.ns-section-kicker{
  font-size:.78rem!important;font-weight:800!important;letter-spacing:.01em!important;
}
html[dir="rtl"] .eyebrow,html[dir="rtl"] .marketing-eyebrow,html[dir="rtl"] .pilot-kicker,
html[dir="rtl"] .ns-dashboard-kicker,html[dir="rtl"] .ns-section-kicker{letter-spacing:0!important}

/* Shared control density */
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{gap:7px!important;white-space:normal;text-align:center}
.primary-btn .ns-icon,.secondary-btn .ns-icon,.ghost-btn .ns-icon,.danger-btn .ns-icon{width:18px;height:18px}
.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.danger-btn:hover{transform:translateY(-1px)!important}
.primary-btn:focus-visible,.secondary-btn:focus-visible,.ghost-btn:focus-visible,.danger-btn:focus-visible,
.theme-btn:focus-visible,.menu-toggle:focus-visible,.top-link:focus-visible,.topbar-lang-menu summary:focus-visible{
  outline:3px solid color-mix(in srgb,var(--ns-primary) 26%,transparent)!important;outline-offset:2px!important;
}
.primary-btn.large,.secondary-btn.large,.ghost-btn.large{min-height:var(--ns-control-lg)!important;padding-inline:20px!important;font-size:1rem!important}

/* Shared surfaces: less decorative, more data-first. */
.card,.panel,.stat-card,.question-card,.auth-card,.hero-card,.role-card,.step-card,.timeline-card,.feature-group-card,.faq-item,
.public-hero-copy,.public-hero-panel,.page-hero,.finance-kpi,.hr-stat,.hr-kpi,.student-list-card,.metric-card,.mastery-card{
  border-radius:var(--ns-radius-lg)!important;
}
.card:hover,.panel:hover,.role-card:hover,.step-card:hover{box-shadow:var(--ns-shadow-sm)!important}

/* Public marketing pages: tighter first fold and consistent vertical rhythm. */
body.guest .page-shell{padding-top:14px!important;padding-bottom:26px!important}
.pilot-hero{
  grid-template-columns:minmax(0,.98fr) minmax(420px,1.02fr)!important;
  gap:clamp(30px,3.4vw,50px)!important;
  padding:clamp(24px,3.4vw,46px) 0 clamp(24px,3vw,42px)!important;
}
.pilot-hero>div:first-child{min-width:0}
.pilot-hero h1{
  font-size:clamp(2.3rem,3.65vw,3.7rem)!important;
  line-height:1.12!important;
  max-width:17ch!important;
  margin:10px 0 12px!important;
  letter-spacing:-.032em!important;
}
html[dir="rtl"] .pilot-hero h1{letter-spacing:0!important;max-width:18ch!important;line-height:1.18!important}
.pilot-hero p{font-size:clamp(.98rem,1.08vw,1.08rem)!important;line-height:1.72!important;max-width:58ch!important;margin-block:0}
html[dir="rtl"] .pilot-hero p{line-height:1.86!important}
.pilot-kicker{padding:7px 11px!important;border-radius:999px!important;background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.pilot-actions{gap:10px!important;margin-top:18px!important}
.pilot-actions .primary-btn,.pilot-actions .secondary-btn{min-height:48px!important;padding-inline:18px!important}
.pilot-dashboard-preview{max-width:720px;justify-self:stretch;border-radius:20px!important;box-shadow:0 18px 50px rgba(16,24,40,.10)!important}
.pilot-preview-top{padding:13px 16px!important}
.pilot-preview-body{grid-template-columns:72px 1fr!important;min-height:292px!important}
.pilot-preview-main{padding:14px!important;gap:10px!important}
.pilot-preview-card,.pilot-preview-chart,.pilot-preview-task{padding:13px!important;border-radius:13px!important}
.pilot-preview-chart{min-height:100px!important}
.pilot-proof{gap:12px!important;margin:2px 0 34px!important}
.pilot-proof article{min-height:104px;display:flex;flex-direction:column;justify-content:center;padding:15px 17px!important;border-radius:14px!important;border-color:var(--ns-border)!important;background:var(--ns-surface)!important;color:var(--ns-text)!important;box-shadow:var(--ns-shadow-xs)!important}
.pilot-proof strong{color:var(--ns-text)!important;font-size:1rem;line-height:1.4;margin-bottom:5px!important}
.pilot-proof span{font-size:.86rem!important;line-height:1.55!important;color:var(--ns-text-secondary)!important}
.pilot-modules{gap:14px!important;align-items:stretch}
.pilot-module{min-height:220px!important;padding:20px!important;border-radius:18px!important}
.pilot-module .product-icon{width:42px!important;height:42px!important;border-radius:12px!important}
.pilot-module .product-icon .ns-icon{width:21px;height:21px}
.pilot-module h2{font-size:1.16rem!important;line-height:1.45!important;margin:11px 0 7px!important}
.pilot-module ul{font-size:.94rem;line-height:1.7!important;margin:4px 0 0!important;padding-inline-start:19px!important}
.pilot-module li+li{margin-top:2px}
.pilot-module::after{width:104px!important;height:104px!important;opacity:.72}
body.dark .pilot-module::after{opacity:.34}
.pilot-tour-section{padding:26px 0 20px!important;gap:14px!important;align-items:stretch!important}
.pilot-tour-section>.card{min-height:228px!important;padding:26px 28px!important;border-radius:19px!important;justify-content:flex-start!important}
.pilot-tour-section>.card h2{font-size:clamp(1.55rem,2.05vw,2rem)!important;line-height:1.35!important;margin:0 0 6px!important}
.pilot-tour-section>.card p{margin:0!important;font-size:.98rem!important;line-height:1.72!important;color:var(--ns-text-secondary)!important}
.pilot-tour-section>.card .secondary-btn{width:max-content!important;max-width:100%!important;min-width:190px;margin-top:auto!important;align-self:flex-start}
html[dir="rtl"] .pilot-tour-section>.card .secondary-btn{align-self:flex-end}
.final-cta{padding:28px 30px!important;margin:18px 0 12px!important;border-radius:20px!important}
.final-cta h2{font-size:clamp(1.45rem,2.1vw,1.9rem)!important;line-height:1.35!important;margin-bottom:8px!important}
.final-cta p{font-size:.96rem!important;line-height:1.68!important;max-width:760px;margin-inline:auto}
.final-cta .pilot-actions{margin-top:15px!important}
.marketing-section{margin:28px 0!important}
.section-head{margin-bottom:16px!important}
.section-head h2{font-size:clamp(1.65rem,2.8vw,2.25rem)!important;margin:8px 0 6px!important}
.role-cards,.steps-grid,.feature-groups{gap:14px!important}
.role-card,.step-card,.feature-group-card,.timeline-card,.public-card{padding:22px!important;border-radius:18px!important}
.step-card{min-height:0!important}
.soft-section{padding:26px!important;border-radius:22px!important}
.page-hero{padding:32px!important;border-radius:22px!important}
.page-hero h1{font-size:clamp(2rem,4vw,3.15rem)!important;margin:10px 0!important}
.page-hero p{font-size:1.05rem!important;line-height:1.7!important}

/* Pricing: responsive 4-up desktop contract, equal card rhythm and isolated money direction. */
.pricing-section{margin-block:24px!important}
.pricing-grid,.school-plan-grid,.account-plan-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.pricing-card,.school-plan-card{
  display:flex!important;flex-direction:column!important;gap:12px!important;
  min-height:100%!important;padding:22px!important;border-radius:18px!important;
}
.pricing-card h3,.school-plan-card h2,.school-plan-card h3{margin:0!important;font-size:1.18rem!important;padding-inline-end:74px}
.pricing-card .stat-value,.school-plan-price{font-size:1.8rem!important;line-height:1.15!important;margin:2px 0!important;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.pricing-card ul,.school-plan-card ul{flex:1!important;margin-block:4px 10px!important;line-height:1.65!important;padding-inline-start:20px!important}
.pricing-card>.primary-btn,.pricing-card>.secondary-btn,.school-plan-card>.primary-btn,.school-plan-card>.secondary-btn{margin-top:auto!important;width:100%!important}
.pricing-annual{padding:9px 11px!important;border-radius:10px!important;font-size:.86rem!important}
.pricing-popular-badge{top:12px!important;inset-inline-end:12px!important}
@media(max-width:1050px){.pricing-grid,.school-plan-grid,.account-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.pricing-grid,.school-plan-grid,.account-plan-grid{grid-template-columns:1fr!important}}

/* Directory: search-first, compact results, SVG icon language. */
.directory-page{gap:16px!important}
.directory-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)!important;gap:20px!important;padding:32px!important;border-radius:22px!important;box-shadow:var(--ns-shadow-sm)!important}
.directory-hero-copy h1{font-size:clamp(2rem,4vw,3.1rem)!important;margin:8px 0!important}
.directory-hero-copy p{font-size:1rem!important;line-height:1.7!important;max-width:58ch}
.directory-search-card{gap:12px!important;padding:16px!important;border-radius:16px!important;box-shadow:var(--ns-shadow-xs)!important}
.directory-type-tabs{gap:6px!important}.directory-type-tabs span{min-height:40px!important;border-radius:9px!important;font-size:.8rem!important}
.directory-search-row{gap:8px!important}.directory-search-row input,.directory-search-row button{min-height:46px!important}
.directory-filter-row{gap:10px!important}
.directory-results-section{gap:10px!important}
.directory-results-section>.section-head{max-width:none!important;margin:0!important;text-align:start!important;display:flex!important;align-items:end!important;justify-content:space-between!important}
.directory-results-section>.section-head h2{font-size:1.45rem!important;margin:0!important}
.directory-results-section>.section-head p{margin:3px 0 0!important;font-size:.88rem!important}
.directory-results-grid{gap:12px!important}
.directory-result-card{padding:14px!important;border-radius:15px!important;gap:12px!important;box-shadow:var(--ns-shadow-xs)!important}
.directory-result-card:hover{transform:translateY(-1px)!important}
.directory-result-avatar{inline-size:50px!important;block-size:50px!important;border-radius:13px!important}
.directory-result-body h3{font-size:1rem!important;margin:5px 0 2px!important}
.directory-result-body p,.directory-result-body small{font-size:.82rem!important}
.directory-result-context{display:flex!important;align-items:center!important;gap:5px!important}
.ns-inline-icon{display:inline-grid;place-items:center}.ns-inline-icon .ns-icon{width:14px;height:14px}
.directory-result-arrow{display:grid;place-items:center;color:var(--ns-text-muted)}
.directory-result-arrow .ns-icon{width:18px;height:18px}
html[dir="rtl"] .directory-result-arrow .ns-icon{transform:scaleX(-1)}
.directory-safety-grid{gap:14px!important}.directory-safety-grid .feature-card{padding:20px!important;border-radius:16px!important}
.directory-feature-icon,.empty-state-icon{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border-radius:13px!important;background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important}
.directory-feature-icon .ns-icon,.empty-state-icon .ns-icon{width:23px;height:23px}
.directory-empty{min-height:150px!important;padding:26px!important;gap:8px!important}
.directory-empty h3{margin:2px 0 0!important;font-size:1.05rem!important}.directory-empty p{max-width:520px;margin:0!important;color:var(--ns-text-secondary)}

/* Dark mode: neutral enterprise surfaces; brand is an accent, not the canvas. */
body.dark .pilot-dashboard-preview,body.dark .directory-hero,body.dark .directory-search-card,
body.dark .pricing-card,body.dark .school-plan-card,body.dark .public-card,body.dark .pilot-module,body.dark .pilot-proof article,
body.dark .final-cta,body.dark .soft-section{background:var(--ns-surface)!important}
body.dark .pilot-preview-card,body.dark .pilot-preview-chart,body.dark .pilot-preview-task,
body.dark .directory-type-tabs span,body.dark .pricing-annual{background:var(--ns-surface-subtle)!important}
body.dark .pilot-proof strong{color:var(--ns-text)!important}
body.dark .pilot-proof span{color:var(--ns-text-secondary)!important}

/* Mobile refinement */
@media(max-width:1120px){
  .pilot-hero{grid-template-columns:1fr!important}
  .pilot-dashboard-preview{width:min(100%,760px);justify-self:center}
  .pilot-proof{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .directory-hero{grid-template-columns:1fr!important;padding:24px!important}
  .pilot-tour-section>.card{min-height:0!important;padding:22px!important}
}
@media(max-width:760px){
  body.guest .page-shell{padding-top:12px!important;padding-bottom:20px!important}
  .pilot-hero{gap:22px!important;padding:18px 0 26px!important}
  .pilot-hero h1{font-size:clamp(2rem,9.2vw,2.65rem)!important;line-height:1.18!important;max-width:none!important}
  .pilot-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .pilot-actions .primary-btn,.pilot-actions .secondary-btn{width:100%!important}
  .pilot-proof,.pilot-modules{grid-template-columns:1fr!important}
  .pilot-proof{margin-bottom:26px!important}.pilot-proof article{min-height:0;padding:14px 15px!important}
  .pilot-module{min-height:0!important;padding:18px!important}
  .pilot-preview-body{grid-template-columns:52px 1fr!important;min-height:280px!important}
  .pilot-preview-cards{grid-template-columns:1fr!important}
  .pilot-preview-chart{display:none!important}
  .pilot-tour-section{padding:22px 0 16px!important}
  .pilot-tour-section>.card{padding:20px!important}
  .pilot-tour-section>.card h2{font-size:1.45rem!important}
  .pilot-tour-section>.card .secondary-btn{width:100%!important;align-self:stretch!important}
  .directory-hero{padding:18px!important;border-radius:18px!important}
  .directory-search-card{padding:14px!important}.directory-filter-row{grid-template-columns:1fr!important}
  .directory-safety-grid{grid-template-columns:1fr!important}
  .final-cta{padding:22px!important;margin:14px 0 8px!important}
}

/* Global density normalization: shared spacing changes propagate through every role. */
:where(.card,.panel,.stat-card,.question-card){padding:20px!important}
:where(.stack){gap:14px!important}
:where(.grid){gap:14px!important}
:where(.toolbar,.actions,.inline-actions){gap:10px!important}
:where(.notice,.alert,.flash){border-radius:14px!important}

/* Onboarding / Getting Started — compact step list instead of oversized blocks. */
.setup-wizard-list{display:grid!important;gap:10px!important;margin:16px 0 24px!important;max-width:1040px}
.setup-step{grid-template-columns:42px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:15px 16px!important;border-radius:16px!important;min-height:0!important}
.setup-step-number{width:40px!important;height:40px!important;border-radius:12px!important;background:var(--ns-primary-soft)!important;color:var(--ns-primary)!important;font-size:.82rem!important}
.setup-step strong{font-size:.98rem}.setup-step small{font-size:.82rem!important;line-height:1.55!important;margin-top:2px!important}

/* Public feature pages: preserve information density without giant vertical gaps. */
body.page-features .page-shell>section.card{margin-block:14px!important}
body.page-features .page-shell>section.card>h2{font-size:1.35rem!important;margin-bottom:8px!important}
body.page-features .page-shell>section.card .grid article{padding:4px 2px}
body.page-features .page-shell>section.card .grid h3{font-size:1rem!important;margin:0 0 5px!important}
body.page-features .page-shell>section.card .grid p{margin:0!important;color:var(--ns-text-secondary)!important;line-height:1.65!important}

@media(max-width:760px){
  :where(.card,.panel,.stat-card,.question-card){padding:16px!important}
  .setup-step{grid-template-columns:38px minmax(0,1fr)!important;padding:13px!important}.setup-step-number{width:36px!important;height:36px!important}
}

/* ========================================================================== 
   UI/UX PHASE 3 — INTERNAL WORKSPACE DENSITY & MANAGER EXPERIENCE (6.6.3)
   Visual-QA corrections based on real school-manager desktop screenshots.
   These are canonical design-system rules, not per-screen CSS patches.
   ========================================================================== */

/* Authenticated top bar: reduce competition between utilities and content. */
body:not(.guest) .topbar-inner{min-height:64px!important;gap:10px!important}
body:not(.guest) .brand{flex:0 0 auto}
body:not(.guest) .brand-mark{width:36px!important;height:36px!important;border-radius:10px!important}
body:not(.guest) .brand-text{font-size:1rem!important}
body:not(.guest) .role-home-pill{min-height:40px!important;padding:0 16px!important;border-radius:11px!important;font-size:.86rem!important;font-weight:800!important;box-shadow:none!important}
body:not(.guest) .global-profile-search{flex:0 1 430px!important;max-width:430px!important;min-height:42px!important;border-radius:12px!important;box-shadow:none!important;background:var(--ns-surface)!important}
body:not(.guest) .global-profile-search input{height:40px!important;font-size:.83rem!important;padding-block:7px!important}
body:not(.guest) .global-profile-search button{padding-inline:14px!important;font-size:.8rem!important;background:var(--ns-primary-soft)!important}
body:not(.guest) .global-profile-search-icon{padding-inline-start:11px!important}
body:not(.guest) .compact-topbar-actions{gap:6px!important}
body:not(.guest) .topbar-icon-btn,
body:not(.guest) .credit-chip,
body:not(.guest) .topbar-lang-menu summary,
body:not(.guest) .theme-btn,
body:not(.guest) .menu-toggle,
body:not(.guest) .topbar-account-avatar{min-width:40px!important;min-height:40px!important;height:40px!important;padding:0 9px!important;border-radius:11px!important;box-shadow:none!important}
body:not(.guest) .credit-chip{background:var(--ns-surface-subtle)!important;color:var(--ns-primary)!important;border-color:var(--ns-border)!important;font-size:.8rem!important;gap:6px!important}
body:not(.guest) .topbar-logout-btn{background:color-mix(in srgb,var(--ns-danger-soft) 68%,var(--ns-surface))!important;color:var(--ns-danger)!important;font-size:.78rem!important;font-weight:800!important}
body:not(.guest) .topbar-avatar{width:38px!important;height:38px!important}
body.dark:not(.guest) .credit-chip{background:var(--ns-surface-subtle)!important}
@media(max-width:1180px){body:not(.guest) .global-profile-search{flex-basis:330px!important;max-width:330px!important}}

/* School manager uses one executive workspace rhythm across all school pages. */
body.role-school_manager .page-shell{padding-block:18px 34px!important}
body.role-school_manager .school-workspace-controls{gap:8px!important;margin:10px 0 14px!important}

/* Academic context bar: one compact control row instead of a large standalone card. */
body.role-school_manager .school-workspace-controls .school-term-bar{
  min-height:58px!important;margin:0!important;padding:9px 12px!important;border-radius:13px!important;
  background:var(--ns-surface)!important;border-color:var(--ns-border)!important;box-shadow:var(--ns-shadow-xs)!important;
}
body.role-school_manager .school-workspace-controls .term-current{gap:9px!important}
body.role-school_manager .school-workspace-controls .term-label{font-size:.72rem!important;font-weight:800!important;color:var(--ns-text-muted)!important}
body.role-school_manager .school-workspace-controls .term-switch-form{max-width:340px!important;min-width:260px!important}
body.role-school_manager .school-workspace-controls .term-switch-form select{min-height:40px!important;border-radius:10px!important;padding-block:7px!important;font-size:.82rem!important;background:var(--ns-surface-subtle)!important}
body.role-school_manager .school-workspace-controls .school-term-bar>.primary-btn{min-height:40px!important;padding:0 13px!important;border-radius:10px!important;font-size:.78rem!important;box-shadow:none!important}

/* School module navigation: clear two-level hierarchy without repeating the current tool twice. */
body.role-school_manager .school-module-nav{border-radius:13px!important;box-shadow:var(--ns-shadow-xs)!important}
body.role-school_manager .school-nav-tabs{gap:4px!important;padding:5px!important}
body.role-school_manager .school-nav-tab{min-height:38px!important;padding:5px 8px!important;border-radius:9px!important;font-size:.74rem!important}
body.role-school_manager .school-nav-tab .school-nav-icon{width:20px!important;height:20px!important}
body.role-school_manager .school-nav-tab .school-nav-icon svg{width:17px!important;height:17px!important}
body.role-school_manager .school-nav-current{min-height:50px!important;padding:6px 9px!important;gap:10px!important;justify-content:space-between!important}
body.role-school_manager .school-nav-current-label{padding-inline-end:12px!important;font-size:.73rem!important}
body.role-school_manager .ns-module-tool-picker{display:block!important;flex:0 1 360px!important;width:min(100%,360px)!important;margin-inline-start:auto!important}
body.role-school_manager .ns-module-tool-select{min-height:38px!important;border-radius:9px!important;background:var(--ns-surface-subtle)!important;font-size:.78rem!important}

/* Dashboard executive header: a single composition rather than two competing cards. */
.page-school-manager-dashboard-php .school-dashboard-hero{
  grid-template-columns:minmax(0,1fr) minmax(260px,310px)!important;gap:0!important;overflow:hidden;
  margin-bottom:10px!important;border:1px solid var(--ns-border)!important;border-radius:16px!important;
  background:linear-gradient(135deg,var(--ns-surface),var(--ns-surface-brand))!important;box-shadow:var(--ns-shadow-xs)!important;
}
.page-school-manager-dashboard-php .school-dashboard-heading,
.page-school-manager-dashboard-php .school-code-panel{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.page-school-manager-dashboard-php .school-dashboard-heading{min-height:116px!important;padding:17px 20px!important}
.page-school-manager-dashboard-php .school-dashboard-heading h1{margin:4px 0 5px!important;font-size:clamp(1.7rem,2.2vw,2rem)!important;letter-spacing:-.025em!important}
.page-school-manager-dashboard-php .school-dashboard-heading p{font-size:.82rem!important;line-height:1.55!important}
.page-school-manager-dashboard-php .school-code-panel{padding:14px 16px!important;border-inline-start:1px solid var(--ns-border)!important;align-content:center!important}
.page-school-manager-dashboard-php .school-code-panel>strong{font-size:1.08rem!important;line-height:36px!important;letter-spacing:.085em!important}
.page-school-manager-dashboard-php .school-code-panel>small{font-size:.7rem!important;line-height:1.45!important}
.page-school-manager-dashboard-php .school-copy-code{min-height:38px!important;padding:6px 10px!important}
html[dir="rtl"] .page-school-manager-dashboard-php .school-code-panel{border-inline-start:0!important;border-inline-end:1px solid var(--ns-border)!important}

/* Dashboard primary actions stay together; no edge-to-edge floating controls. */
.page-school-manager-dashboard-php .school-dashboard-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin:0 0 12px!important;flex-wrap:wrap!important}
.page-school-manager-dashboard-php .school-dashboard-actions .primary-btn,
.page-school-manager-dashboard-php .school-dashboard-actions .secondary-btn{min-height:42px!important;padding:0 14px!important;border-radius:10px!important;font-size:.8rem!important;box-shadow:none!important}

/* Quick actions: compact work launcher. */
.page-school-manager-dashboard-php .school-quick-actions{margin:14px 0!important;padding:11px!important;border-radius:13px!important}
.page-school-manager-dashboard-php .school-section-heading{margin-bottom:8px!important}
.page-school-manager-dashboard-php .school-section-heading h2{font-size:1rem!important}
.page-school-manager-dashboard-php .school-quick-grid{gap:7px!important}
.page-school-manager-dashboard-php .school-quick-grid>a{padding:8px 9px!important;border-radius:9px!important;min-height:58px!important}
.page-school-manager-dashboard-php .school-quick-grid>a>span{width:32px!important;height:32px!important;border-radius:8px!important}
.page-school-manager-dashboard-php .school-quick-grid>a>strong{font-size:.78rem!important}
.page-school-manager-dashboard-php .school-quick-grid>a>small{font-size:.67rem!important}

/* Six KPIs form a complete row on large screens; never leave an orphan 2-card row. */
.page-school-manager-dashboard-php .school-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}
.page-school-manager-dashboard-php .school-metric-card{min-height:96px!important;padding:10px!important;grid-template-columns:36px minmax(0,1fr) 12px!important;border-radius:11px!important}
.page-school-manager-dashboard-php .school-metric-icon{width:36px!important;height:36px!important;border-radius:9px!important}
.page-school-manager-dashboard-php .school-metric-icon svg{width:19px!important;height:19px!important}
.page-school-manager-dashboard-php .school-metric-label{font-size:.69rem!important}
.page-school-manager-dashboard-php .school-metric-copy strong{font-size:1.08rem!important}
.page-school-manager-dashboard-php .school-metric-copy small{font-size:.61rem!important}
@media(max-width:1280px){.page-school-manager-dashboard-php .school-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.page-school-manager-dashboard-php .school-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.page-school-manager-dashboard-php .school-metrics-grid{grid-template-columns:1fr!important}}

/* Activity cards should fit their content rather than stretching to the tallest empty panel. */
.page-school-manager-dashboard-php .school-dashboard-columns{align-items:start!important;gap:10px!important}
.page-school-manager-dashboard-php .school-activity-card{padding:12px!important;border-radius:13px!important}
.page-school-manager-dashboard-php .school-activity-item{padding:8px 6px!important}
.page-school-manager-dashboard-php .school-empty-state{min-height:108px!important;padding:16px!important;border-radius:10px!important}
.page-school-manager-dashboard-php .school-data-note{align-items:center!important;margin-top:10px!important;padding:8px 10px!important;border-radius:11px!important}
.page-school-manager-dashboard-php .school-data-note>span{width:28px!important;height:28px!important;border-radius:8px!important}
.page-school-manager-dashboard-php .school-data-note strong{font-size:.76rem!important}
.page-school-manager-dashboard-php .school-data-note p{margin:1px 0 0!important;font-size:.67rem!important;line-height:1.4!important}

/* Management portals: product cards, not three oversized marketing panels. */
.page-school-manager-portals-php .manager-portals-hero{align-items:center!important;margin:0 0 12px!important;padding:18px 20px!important;border-radius:18px!important;box-shadow:var(--ns-shadow-xs)!important}
.page-school-manager-portals-php .manager-portals-hero h1{margin:5px 0 5px!important;font-size:clamp(1.7rem,2.25vw,2.15rem)!important;line-height:1.15!important}
.page-school-manager-portals-php .manager-portals-hero p{font-size:.87rem!important;line-height:1.55!important}
.page-school-manager-portals-php .manager-portals-school-chip{padding:9px 12px!important;border-radius:12px!important;font-size:.84rem!important;box-shadow:none!important}
.page-school-manager-portals-php .manager-portals-grid{gap:12px!important}
.page-school-manager-portals-php .manager-portal-card{min-height:0!important;padding:15px!important;border-radius:18px!important;box-shadow:var(--ns-shadow-xs)!important}
.page-school-manager-portals-php .manager-portal-card:hover{transform:translateY(-2px)!important;box-shadow:var(--ns-shadow-sm)!important}
.page-school-manager-portals-php .manager-portal-card:before{height:3px!important}
.page-school-manager-portals-php .manager-portal-card-head{min-height:48px!important;gap:10px!important}
.page-school-manager-portals-php .manager-portal-icon{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:12px!important}
.page-school-manager-portals-php .manager-portal-card h2{font-size:1.12rem!important}
.page-school-manager-portals-php .manager-portal-card>p{min-height:46px!important;margin:7px 0 9px!important;font-size:.82rem!important;line-height:1.55!important}
.page-school-manager-portals-php .manager-portal-stats{gap:6px!important;margin-bottom:8px!important}
.page-school-manager-portals-php .manager-portal-stats>div{padding:7px 5px!important;border-radius:10px!important;background:var(--ns-surface-subtle)!important}
.page-school-manager-portals-php .manager-portal-stats strong{font-size:1rem!important}
.page-school-manager-portals-php .manager-portal-stats span{font-size:.65rem!important}
.page-school-manager-portals-php .manager-portal-features{gap:4px!important;margin-bottom:8px!important}
.page-school-manager-portals-php .manager-portal-features li{min-height:28px!important;padding:4px 7px!important;border-radius:8px!important;background:var(--ns-surface-subtle)!important;font-size:.75rem!important}
.page-school-manager-portals-php .manager-portal-enter{min-height:40px!important;border-radius:10px!important;font-size:.8rem!important;box-shadow:none!important}
.page-school-manager-portals-php .portal-finance .manager-portal-enter{background:#159a70!important;border-color:#159a70!important;color:#fff!important}
.page-school-manager-portals-php .portal-hr .manager-portal-enter{background:#7457df!important;border-color:#7457df!important;color:#fff!important}
.page-school-manager-portals-php .portal-finance .manager-portal-icon{background:var(--ns-finance-soft,#eaf8f3)!important;color:#12825f!important}
.page-school-manager-portals-php .portal-hr .manager-portal-icon{background:var(--ns-violet-soft)!important;color:var(--ns-secondary)!important}
.page-school-manager-portals-php .manager-portals-note{margin:12px 0 0!important;padding:10px 12px!important;border-radius:12px!important;font-size:.78rem!important}
.page-school-manager-portals-php .manager-portals-note p{line-height:1.5!important}

/* Authenticated footer is utility chrome, not another content section. */
.authenticated-footer{padding:8px 0!important;margin-top:10px!important}
.authenticated-footer-inner{min-height:36px!important;gap:14px!important}
.authenticated-footer-brand .brand-mark{width:28px!important;height:28px!important}
.authenticated-footer-brand strong{font-size:.78rem!important}
.authenticated-footer-links{gap:13px!important}
.authenticated-footer-links a,.authenticated-footer-copy{font-size:.67rem!important}

/* The public pilot CTA remains important without acting like a second hero. */
.final-cta{padding:24px 28px!important;margin:26px 0!important;border-radius:22px!important}
.final-cta h2{font-size:clamp(1.5rem,2.4vw,2rem)!important;margin-bottom:7px!important}
.final-cta p{font-size:.92rem!important;line-height:1.6!important;margin-block:0 14px!important}

@media(max-width:900px){
  .page-school-manager-dashboard-php .school-dashboard-hero{grid-template-columns:1fr!important}
  .page-school-manager-dashboard-php .school-code-panel{border-inline:0!important;border-top:1px solid var(--ns-border)!important;grid-template-columns:minmax(0,1fr) auto!important}
  .page-school-manager-portals-php .manager-portals-hero{align-items:flex-start!important}
}
@media(max-width:760px){
  body:not(.guest) .topbar-inner{min-height:60px!important}
  body.role-school_manager .school-workspace-controls .school-term-bar{align-items:stretch!important;padding:10px!important}
  body.role-school_manager .school-workspace-controls .term-switch-form{min-width:0!important;max-width:none!important;width:100%!important}
  body.role-school_manager .school-nav-current{align-items:stretch!important}
  body.role-school_manager .ns-module-tool-picker{width:100%!important;max-width:none!important;flex-basis:auto!important;margin-inline-start:0!important}
  .page-school-manager-dashboard-php .school-dashboard-actions>*{flex:1 1 auto!important}
  .page-school-manager-portals-php .manager-portals-hero{padding:16px!important;border-radius:16px!important}
  .page-school-manager-portals-php .manager-portal-card{padding:14px!important;border-radius:16px!important}
}

/* ========================================================================== 
   UI/UX PHASE 4 — DENSE OPERATIONAL WORKSPACE (6.6.4)
   Reference direction: compact enterprise school workspace, visible hierarchy,
   persistent portal navigation, restrained spacing, fast scanning.
   ========================================================================== */
:root{
  --ns-auth-topbar-h:60px;
  --ns-workspace-nav-w:252px;
  --ns-workspace-gap:18px;
  --ns-app-radius:12px;
  --ns-app-radius-sm:9px;
  --ns-app-control:40px;
  --ns-content-max:1520px;
}

/* Authenticated product surfaces are calm and flat; marketing keeps its own visual language. */
body:not(.guest){
  font-size:14px!important;
  background:var(--ns-bg)!important;
}
body:not(.guest):before,body:not(.guest):after{display:none!important}
body:not(.guest) .page-shell{padding-block:18px 28px!important}
body:not(.guest) :is(h1,h2,h3,h4){letter-spacing:-.018em}
html[dir="rtl"] body:not(.guest) :is(h1,h2,h3,h4){letter-spacing:0!important}

/* Compact application top bar inspired by modern operational SaaS products. */
body:not(.guest) .topbar{
  min-height:var(--ns-auth-topbar-h)!important;
  background:color-mix(in srgb,var(--ns-surface) 97%,transparent)!important;
  border-bottom:1px solid var(--ns-border)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px)!important;
}
body:not(.guest).dark .topbar{background:color-mix(in srgb,var(--ns-surface) 96%,#000 4%)!important}
body:not(.guest) .topbar>.container{max-width:none!important;padding-inline:20px!important}
body:not(.guest) .topbar-inner{min-height:var(--ns-auth-topbar-h)!important;gap:10px!important;flex-wrap:nowrap!important}
body:not(.guest) .brand{gap:8px!important;min-width:max-content}
body:not(.guest) .brand-mark{width:36px!important;height:36px!important;border-radius:10px!important;box-shadow:0 5px 12px rgba(47,91,234,.16)!important}
body:not(.guest) .brand-mark img{width:36px!important;height:36px!important}
body:not(.guest) .brand-text{font-size:.92rem!important;font-weight:900!important}
body:not(.guest) .internal-desktop-nav{flex:1 1 auto!important;justify-content:center!important;min-width:0!important}

.manager-portal-switcher{
  display:flex;align-items:center;gap:3px;min-width:0;padding:3px;
  border:1px solid var(--ns-border);border-radius:11px;background:var(--ns-surface-subtle);
}
.manager-portal-tab{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;
  border:1px solid transparent;border-radius:8px;color:var(--ns-text-secondary);font-size:.73rem;font-weight:800;
  text-decoration:none;white-space:nowrap;transition:var(--ns-transition-fast);
}
.manager-portal-tab .ns-icon{width:15px;height:15px}
.manager-portal-tab:hover{background:var(--ns-surface);color:var(--ns-text)}
.manager-portal-tab.active{background:var(--ns-surface);border-color:var(--ns-border);box-shadow:var(--ns-shadow-xs);color:var(--ns-primary)}
.manager-portal-tab.finance.active{color:var(--ns-finance-accent)}
.manager-portal-tab.hr.active{color:var(--ns-hr-accent)}

body:not(.guest) .global-profile-search{
  flex:0 1 340px!important;max-width:340px!important;min-width:210px!important;min-height:38px!important;
  border-radius:10px!important;box-shadow:none!important;background:var(--ns-surface-subtle)!important;
}
body:not(.guest) .global-profile-search input{height:36px!important;font-size:.76rem!important}
body:not(.guest) .global-profile-search button{padding-inline:11px!important;font-size:.72rem!important;background:transparent!important}
body:not(.guest) .global-profile-search-icon{padding-inline-start:10px!important}
body:not(.guest) .global-profile-search .ns-icon{width:16px;height:16px}

body:not(.guest) .compact-topbar-actions{gap:6px!important;min-width:max-content}
body:not(.guest) :is(.topbar-icon-btn,.credit-chip,.topbar-lang-menu summary,.theme-btn,.menu-toggle){
  min-width:38px!important;min-height:38px!important;height:38px!important;padding:0 9px!important;
  border-radius:10px!important;border-color:var(--ns-border)!important;background:var(--ns-surface)!important;box-shadow:none!important;font-size:.74rem!important;
}
body:not(.guest) .credit-chip{color:var(--ns-primary)!important;background:var(--ns-primary-soft)!important}
body:not(.guest) .topbar-logout-btn{width:38px!important;padding:0!important}
body:not(.guest) .topbar-logout-btn span{display:none!important}
body:not(.guest) .internal-menu-toggle{display:none!important}

.topbar-profile-chip{
  display:grid!important;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:8px;
  min-width:190px;max-width:245px;min-height:40px;padding:3px 8px!important;
  border:1px solid var(--ns-border);border-radius:11px;background:var(--ns-surface-subtle);color:var(--ns-text);text-decoration:none;
}
.topbar-profile-chip:hover{border-color:var(--ns-border-strong);background:var(--ns-surface)}
.topbar-profile-chip .topbar-avatar{width:32px!important;height:32px!important;border-radius:9px!important}
.topbar-profile-copy{display:grid;min-width:0;line-height:1.15}
.topbar-profile-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:900;color:var(--ns-text)}
.topbar-profile-copy small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;color:var(--ns-primary);font-weight:750}
.topbar-profile-chevron{font-size:.9rem;color:var(--ns-text-muted);line-height:1}

/* Shared internal typography and controls: intentionally denser than marketing. */
body:not(.guest) :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.success-btn){
  min-height:var(--ns-app-control)!important;padding:0 13px!important;border-radius:9px!important;
  font-size:.78rem!important;font-weight:850!important;gap:6px!important;box-shadow:none!important;
}
body:not(.guest) :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.success-btn) .ns-icon{width:16px;height:16px}
body:not(.guest) .small:is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn),
body:not(.guest) :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn).small{min-height:34px!important;padding-inline:10px!important;font-size:.72rem!important}
body:not(.guest) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-radius:9px!important;border-color:var(--ns-border)!important;box-shadow:none!important;
}
body:not(.guest) :is(input:not([type="checkbox"]):not([type="radio"]),select){min-height:40px!important;font-size:.78rem!important}
body:not(.guest) textarea{font-size:.8rem!important;line-height:1.55!important}
body:not(.guest) .field label{margin-bottom:5px!important;font-size:.72rem!important;font-weight:800!important;color:var(--ns-text-secondary)!important}
body:not(.guest) .field{gap:4px!important}
body:not(.guest) .grid{gap:12px!important}

/* Cards, sections and tables use restrained corners and almost no decorative shadow. */
body:not(.guest) :is(.card,.panel,.ns-dashboard-panel){border-radius:var(--ns-app-radius)!important;box-shadow:var(--ns-shadow-xs)!important}
body:not(.guest) .card{padding:16px!important}
body:not(.guest) :is(.toolbar,.finance-toolbar){gap:10px!important}
body:not(.guest) :is(.toolbar h1,.toolbar h2,.finance-toolbar h2){margin-block:0 3px!important}
body:not(.guest) .muted{font-size:.72rem!important;line-height:1.5!important}

body:not(.guest) :is(.table-wrap,.responsive-table){border-radius:11px!important;box-shadow:none!important;overflow:hidden}
body:not(.guest) .table{font-size:.75rem!important}
body:not(.guest) .table th{height:42px!important;padding:8px 11px!important;font-size:.69rem!important;font-weight:850!important;background:var(--ns-surface-subtle)!important}
body:not(.guest) .table td{height:48px!important;padding:8px 11px!important;vertical-align:middle!important}
body:not(.guest) .table tbody tr:hover{background:color-mix(in srgb,var(--ns-primary-soft) 48%,var(--ns-surface))!important}
body:not(.guest) .tag,body:not(.guest) .badge,body:not(.guest) .status-badge{padding:4px 8px!important;font-size:.65rem!important;font-weight:850!important}

/* Shared page headings: subpages are functional headers, not marketing heroes. */
body:not(.guest) .ns-dashboard-head{
  min-height:0!important;padding:10px 2px 14px!important;border:0!important;border-bottom:1px solid var(--ns-border)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;align-items:center!important;
}
body:not(.guest) .ns-dashboard-head:after{display:none!important}
body:not(.guest) .ns-dashboard-kicker{padding:0!important;background:transparent!important;border-radius:0!important;font-size:.67rem!important;font-weight:850!important;gap:5px!important}
body:not(.guest) .ns-dashboard-kicker .ns-icon{width:17px;height:17px}
body:not(.guest) .ns-dashboard-copy h1{margin:3px 0 3px!important;font-size:clamp(1.35rem,1.75vw,1.65rem)!important;line-height:1.24!important}
body:not(.guest) .ns-dashboard-copy p{margin:0!important;max-width:880px;font-size:.75rem!important;line-height:1.55!important}
body:not(.guest) .ns-dashboard-actions{gap:7px!important}

/* Dashboard landing pages keep one compact portal-color hero like the reference product. */
body.page-accountant-finance-dashboard-php .ns-dashboard-head,
body.page-hr-dashboard-php .ns-dashboard-head{
  min-height:132px!important;padding:18px 22px!important;border:0!important;border-radius:15px!important;color:#fff!important;
  box-shadow:0 8px 20px rgba(16,24,40,.10)!important;
}
body.page-accountant-finance-dashboard-php .ns-dashboard-head{background:linear-gradient(120deg,#064e3b,#06394b 72%,#10182e)!important}
body.page-hr-dashboard-php .ns-dashboard-head{background:linear-gradient(120deg,#4c087a,#6b1593 52%,#10182e)!important}
body.page-accountant-finance-dashboard-php .ns-dashboard-head :is(h1,p,.ns-dashboard-kicker),
body.page-hr-dashboard-php .ns-dashboard-head :is(h1,p,.ns-dashboard-kicker){color:#fff!important}
body.page-accountant-finance-dashboard-php .ns-dashboard-head p,
body.page-hr-dashboard-php .ns-dashboard-head p{opacity:.78}
body.page-accountant-finance-dashboard-php .ns-dashboard-head .primary-btn,
body.page-hr-dashboard-php .ns-dashboard-head .primary-btn{background:#fff!important;color:#172033!important;border-color:#fff!important}
body.page-accountant-finance-dashboard-php .ns-dashboard-head :is(.secondary-btn,.ghost-btn),
body.page-hr-dashboard-php .ns-dashboard-head :is(.secondary-btn,.ghost-btn){background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}

/* KPI language: clean data cards, compact icons, fast scanning. */
body:not(.guest) :is(.ns-metric-grid,.finance-grid,.hr-grid){gap:12px!important}
body:not(.guest) .ns-metric-card{
  min-height:96px!important;padding:12px!important;border-radius:11px!important;background:var(--ns-surface)!important;box-shadow:none!important;
}
body:not(.guest) .ns-metric-card:before{top:12px!important;bottom:12px!important;width:2px!important}
body:not(.guest) .ns-metric-icon{width:38px!important;height:38px!important;border-radius:10px!important}
body:not(.guest) .ns-metric-icon .ns-icon{width:18px;height:18px}
body:not(.guest) .ns-metric-label{font-size:.67rem!important;font-weight:750!important}
body:not(.guest) .ns-metric-body strong{font-size:1.15rem!important}
body:not(.guest) .ns-metric-body small{font-size:.61rem!important}
body:not(.guest) :is(.finance-kpi,.hr-stat,.hr-kpi){min-height:104px!important;padding:14px!important;border-radius:12px!important;box-shadow:none!important;background:var(--ns-surface)!important}
body:not(.guest) :is(.finance-kpi,.hr-stat,.hr-kpi) small{font-size:.67rem!important}
body:not(.guest) :is(.finance-kpi,.hr-stat,.hr-kpi) strong{font-size:1.3rem!important;line-height:1.2!important}
body:not(.guest) .finance-kpi-meta{font-size:.63rem!important}

/* Persistent workspace sidebar for School / Finance / HR on desktop. */
.ns-sidebar-portal-label{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 9px;margin-bottom:8px;border:1px solid color-mix(in srgb,var(--ns-portal-accent) 22%,var(--ns-border));border-radius:9px;background:color-mix(in srgb,var(--ns-portal-accent) 5%,var(--ns-surface));color:var(--ns-portal-accent);font-size:.72rem;font-weight:900}
.ns-sidebar-portal-label .ns-icon,.ns-sidebar-portal-label>svg{width:17px;height:17px;fill:currentColor}
.ns-module-tool-links{display:grid;gap:2px;min-width:0}
.ns-module-tool-link{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:8px;color:var(--ns-text);font-size:.72rem;font-weight:750;text-decoration:none;transition:var(--ns-transition-fast)}
.ns-module-tool-link .ns-icon,.ns-module-tool-link>svg{width:15px;height:15px;flex:none;color:var(--ns-text-muted);fill:currentColor}
.ns-module-tool-link:hover{background:var(--ns-surface-subtle);color:var(--ns-portal-accent)}
.ns-module-tool-link.active{background:var(--ns-portal-accent);color:#fff;font-weight:850;box-shadow:0 5px 12px color-mix(in srgb,var(--ns-portal-accent) 18%,transparent)}
.ns-module-tool-link.active .ns-icon,.ns-module-tool-link.active>svg{color:#fff}
.ns-module-tool-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6;flex:none}
.ns-module-mobile-tool-picker{display:none}

@media(min-width:1181px){
  body[class*="page-accountant-"] .page-shell,
  body[class*="page-hr-"] .page-shell,
  body:has(.school-workspace-controls) .page-shell{
    max-width:none!important;width:100%!important;padding-inline-start:calc(var(--ns-workspace-nav-w) + 24px)!important;padding-inline-end:24px!important;
  }
  body[class*="page-accountant-"] .finance-module-nav,
  body[class*="page-hr-"] .hr-nav{
    position:fixed!important;z-index:62;inset-block-start:var(--ns-auth-topbar-h);inset-block-end:0;inset-inline-start:0;
    width:var(--ns-workspace-nav-w)!important;height:auto!important;margin:0!important;padding:14px 12px 18px!important;
    overflow-y:auto!important;overscroll-behavior:contain;border-radius:0!important;border-block:0!important;border-inline-start:0!important;
    border-inline-end:1px solid var(--ns-border)!important;background:var(--ns-surface)!important;box-shadow:none!important;backdrop-filter:none!important;
  }
  body:has(.school-workspace-controls) .school-workspace-controls{
    position:fixed!important;z-index:62;inset-block-start:var(--ns-auth-topbar-h);inset-block-end:0;inset-inline-start:0;
    width:var(--ns-workspace-nav-w)!important;margin:0!important;padding:12px!important;overflow-y:auto!important;overscroll-behavior:contain;
    border-inline-end:1px solid var(--ns-border)!important;background:var(--ns-surface)!important;
  }
  body:has(.school-workspace-controls) .school-workspace-controls .school-module-nav{
    position:static!important;width:auto!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;
  }
  .ns-grouped-module-nav{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important}
  .ns-module-group-tabs{display:grid!important;gap:2px!important;padding:0 0 9px!important;margin:0 0 9px!important;overflow:visible!important;border-bottom:1px solid var(--ns-border)!important;background:transparent!important}
  .ns-module-group-tab{justify-content:flex-start!important;min-width:0!important;width:100%!important;min-height:34px!important;padding:6px 8px!important;border-radius:8px!important;font-size:.7rem!important;font-weight:760!important;color:var(--ns-text-secondary)!important}
  .ns-module-group-tab .ns-icon,.ns-module-group-tab svg{width:15px!important;height:15px!important}
  .ns-module-group-tab.active{border-color:transparent!important;background:color-mix(in srgb,var(--ns-portal-accent) 8%,var(--ns-surface))!important;color:var(--ns-portal-accent)!important;box-shadow:none!important}
  .ns-module-current{display:grid!important;align-items:stretch!important;gap:6px!important;padding:0!important;background:transparent!important}
  .ns-module-current-label{min-height:28px;padding:3px 5px 5px!important;border:0!important;color:var(--ns-text-muted)!important;font-size:.63rem!important;font-weight:850!important;text-transform:none!important}
  .ns-module-current-label .ns-icon,.ns-module-current-label>svg{width:14px!important;height:14px!important;color:var(--ns-portal-accent)!important;fill:currentColor}
  .ns-module-tool-links{display:grid!important}
  .ns-module-mobile-tool-picker{display:none!important}

  body.role-school_manager .school-workspace-controls .school-term-bar{
    margin:0 0 10px!important;padding:9px!important;display:grid!important;gap:8px!important;border-radius:10px!important;background:var(--ns-surface-subtle)!important;box-shadow:none!important;
  }
  body.role-school_manager .school-workspace-controls .term-current{display:grid!important;gap:5px!important}
  body.role-school_manager .school-workspace-controls .term-label{font-size:.62rem!important}
  body.role-school_manager .school-workspace-controls .term-switch-form{width:100%!important;max-width:none!important;min-width:0!important}
  body.role-school_manager .school-workspace-controls .term-switch-form select{width:100%!important;min-width:0!important;min-height:36px!important;font-size:.69rem!important}
  body.role-school_manager .school-workspace-controls .school-term-bar>.primary-btn{width:100%!important;min-height:34px!important;font-size:.68rem!important}

  body[class*="page-accountant-"] .authenticated-footer-inner,
  body[class*="page-hr-"] .authenticated-footer-inner,
  body:has(.school-workspace-controls) .authenticated-footer-inner{padding-inline-start:calc(var(--ns-workspace-nav-w) + 24px)!important}
}

/* School dashboard: compact operational command center, not a second landing page. */
.page-school-manager-dashboard-php .school-dashboard-hero{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;
  margin:0 0 10px!important;padding:18px 20px!important;border:0!important;border-radius:15px!important;
  background:linear-gradient(120deg,#34329f,#4338ca 48%,#172554)!important;box-shadow:0 8px 20px rgba(30,41,59,.10)!important;color:#fff!important;
}
.page-school-manager-dashboard-php .school-dashboard-heading{min-height:0!important;padding:0!important;color:#fff!important}
.page-school-manager-dashboard-php .school-dashboard-eyebrow{color:#c7d2fe!important;font-size:.66rem!important;font-weight:850!important}
.page-school-manager-dashboard-php .school-dashboard-heading h1{margin:4px 0 3px!important;font-size:1.55rem!important;color:#fff!important}
.page-school-manager-dashboard-php .school-dashboard-heading p{margin:0!important;max-width:760px;color:#dbe4ff!important;font-size:.74rem!important;line-height:1.55!important}
.page-school-manager-dashboard-php .school-code-panel{min-width:230px!important;padding:10px 12px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:11px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:none!important}
.page-school-manager-dashboard-php .school-code-panel>span,.page-school-manager-dashboard-php .school-code-panel>small{color:#dbe4ff!important}
.page-school-manager-dashboard-php .school-code-panel>strong{font-size:.94rem!important;line-height:1.2!important;color:#fff!important}
.page-school-manager-dashboard-php .school-copy-code{min-height:32px!important;background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.page-school-manager-dashboard-php .school-dashboard-actions{margin:0 0 10px!important;gap:7px!important}
.page-school-manager-dashboard-php .school-quick-actions{margin:10px 0!important;padding:12px!important;border-radius:12px!important}
.page-school-manager-dashboard-php .school-quick-grid>a{min-height:54px!important;border-radius:9px!important}
.page-school-manager-dashboard-php .school-metric-card{min-height:92px!important;border-radius:10px!important;box-shadow:none!important}
.page-school-manager-dashboard-php .school-activity-card{border-radius:12px!important}

/* HR / Finance grid cards become more like dense reference dashboards. */
.finance-shell,.hr-shell{gap:12px!important}
.finance-grid,.hr-grid{margin-top:0!important}
.finance-grid>.card,.hr-grid>.card{border-radius:12px!important;box-shadow:none!important}

/* Search/filter bars: one clean surface instead of multiple floating cards. */
body:not(.guest) :is(.filter-bar,.filters,.search-filter-bar,.table-toolbar,.data-toolbar){
  border-radius:11px!important;border-color:var(--ns-border)!important;background:var(--ns-surface)!important;box-shadow:none!important;
}

/* Dialog vocabulary used by new and legacy modules. */
body:not(.guest) :is(.modal-card,.dialog-card,.ns-dialog-card,.modal-content){border-radius:14px!important;box-shadow:0 18px 55px rgba(16,24,40,.18)!important}
body:not(.guest) :is(.modal-card,.dialog-card,.ns-dialog-card,.modal-content) :is(h1,h2){font-size:1.15rem!important}

@media(max-width:1360px){
  .topbar-profile-chip{min-width:0;max-width:48px;grid-template-columns:32px;padding-inline:7px!important}
  .topbar-profile-copy,.topbar-profile-chevron{display:none}
  .manager-portal-tab{padding-inline:9px}
  .manager-portal-tab span{font-size:.69rem}
}
@media(max-width:1180px){
  :root{--ns-auth-topbar-h:60px}
  body:not(.guest) .internal-menu-toggle{display:inline-grid!important}
  .manager-portal-switcher{display:none!important}
  body:not(.guest) .global-profile-search{display:none!important}
  .ns-module-tool-links{display:none!important}
  .ns-module-mobile-tool-picker{display:block!important;width:100%}
  .ns-grouped-module-nav{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:1px solid var(--ns-border)!important;border-radius:11px!important;background:var(--ns-surface)!important;box-shadow:none!important;overflow:hidden!important}
  .ns-sidebar-portal-label{display:none!important}
  .ns-module-group-tabs{display:flex!important;gap:3px!important;padding:4px!important;overflow-x:auto!important;border-bottom:1px solid var(--ns-border)!important;background:var(--ns-surface-subtle)!important}
  .ns-module-group-tab{min-width:112px!important;min-height:36px!important;padding:6px 9px!important;border-radius:8px!important;font-size:.7rem!important}
  .ns-module-current{display:flex!important;gap:8px!important;padding:7px 8px!important}
  .ns-module-current-label{font-size:.69rem!important}
  .ns-module-mobile-tool-picker{flex:1;min-width:0}
  .ns-module-tool-select{min-height:36px!important;font-size:.72rem!important}
  body[class*="page-school-manager-"] .school-workspace-controls{position:static!important;width:auto!important;padding:0!important;background:transparent!important;border:0!important}
  body.role-school_manager .school-workspace-controls .school-term-bar{margin:10px 0!important}
}
@media(max-width:760px){
  body:not(.guest){font-size:14px!important}
  body:not(.guest) .topbar>.container{padding-inline:12px!important}
  body:not(.guest) .brand-text{display:none!important}
  body:not(.guest) .topbar-profile-chip{display:none!important}
  body:not(.guest) .credit-chip{display:none!important}
  body:not(.guest) .page-shell{padding-block:12px 22px!important}
  body:not(.guest) .ns-dashboard-head{padding:8px 0 12px!important}
  body:not(.guest) .ns-dashboard-copy h1{font-size:1.28rem!important}
  body:not(.guest) .ns-dashboard-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.guest) .ns-dashboard-actions>*{width:100%!important}
  .page-school-manager-dashboard-php .school-dashboard-hero{grid-template-columns:1fr!important;padding:15px!important;border-radius:13px!important}
  .page-school-manager-dashboard-php .school-code-panel{min-width:0!important;width:100%!important}
  body.page-accountant-finance-dashboard-php .ns-dashboard-head,body.page-hr-dashboard-php .ns-dashboard-head{padding:15px!important;border-radius:13px!important}
  body:not(.guest) .card{padding:13px!important}
}
/* Phase 4 language control: readable language name on desktop, compact code on narrow screens. */
body:not(.guest) .topbar-lang-menu summary{min-width:86px!important;gap:6px!important}
body:not(.guest) .topbar-lang-label{display:inline;font-size:.72rem;font-weight:800;color:var(--ns-text)}
body:not(.guest) .topbar-lang-code{display:none!important}
@media(max-width:760px){body:not(.guest) .topbar-lang-menu summary{min-width:38px!important}.topbar-lang-label{display:none!important}body:not(.guest) .topbar-lang-code{display:inline!important}}

/* ========================================================================== 
   NanoStudent 6.6.5 — School Operations simplification
   Reference principle: quiet 14px workspace, 40px controls, one clear action,
   records instead of scattered configuration pages.
   ========================================================================== */
:root{--ns-school-control-h:40px;--ns-school-radius:10px;--ns-school-gap:12px}
body.role-school_manager .school-ops-page,
body.role-school_supervisor .school-ops-page,
body.role-school_manager .school-profile-record{font-size:14px}
body.role-school_manager .school-ops-page :is(.primary-btn,.secondary-btn,.ghost-btn),
body.role-school_manager .school-profile-record :is(.primary-btn,.secondary-btn,.ghost-btn){min-height:40px!important;padding:0 14px!important;border-radius:9px!important;font-size:.78rem!important;box-shadow:none!important}
body.role-school_manager .school-ops-page :is(input,select,textarea),
body.role-school_manager .school-profile-record :is(input,select,textarea){border-radius:9px!important;border-color:var(--ns-border)!important;font-size:.78rem!important;box-shadow:none!important}
body.role-school_manager .school-ops-page :is(input:not([type=checkbox]):not([type=radio]),select),
body.role-school_manager .school-profile-record :is(input:not([type=checkbox]):not([type=radio]),select){min-height:40px!important}
body.role-school_manager .school-ops-page .card,
body.role-school_manager .school-profile-record .card{border-radius:12px!important;box-shadow:none!important}
body.role-school_manager .school-ops-page .ns-dashboard-head,
body.role-school_manager .school-profile-record .ns-dashboard-head{padding-block:4px 13px!important}
body.role-school_manager .school-ops-page .ns-dashboard-copy h1{font-size:1.45rem!important;letter-spacing:0!important}
body.role-school_manager .school-ops-page .ns-dashboard-copy p{max-width:760px;font-size:.76rem!important;line-height:1.6!important}

/* School portal: one vertical information architecture, not group-tabs + tool-tabs. */
.school-simple-mobile-nav{display:none}
.school-simple-sidebar{display:grid;gap:9px}
.school-simple-sidebar-title{display:flex;align-items:center;gap:9px;padding:8px 8px 11px;border-bottom:1px solid var(--ns-border);color:var(--ns-portal-accent)}
.school-simple-sidebar-title>svg{width:18px;height:18px;fill:currentColor;flex:none}
.school-simple-sidebar-title>div{display:grid;gap:1px;min-width:0}
.school-simple-sidebar-title strong{font-size:.76rem;color:var(--ns-text)}
.school-simple-sidebar-title small{font-size:.61rem;color:var(--ns-text-muted);font-weight:650}
.school-simple-nav-groups{display:grid;gap:10px}
.school-simple-nav-group{display:grid;gap:2px}
.school-simple-nav-heading{display:flex;align-items:center;gap:6px;padding:2px 7px 4px;color:var(--ns-text-muted);font-size:.61rem;font-weight:900}
.school-simple-nav-heading>svg{width:13px;height:13px;fill:currentColor}
.school-simple-nav-link{display:flex;align-items:center;gap:8px;min-height:33px;padding:6px 8px;border-radius:8px;color:var(--ns-text-secondary);font-size:.71rem;font-weight:730;text-decoration:none;transition:var(--ns-transition-fast)}
.school-simple-nav-link:hover{background:var(--ns-surface-subtle);color:var(--ns-text)}
.school-simple-nav-link.active{background:color-mix(in srgb,var(--ns-portal-accent) 10%,var(--ns-surface));color:var(--ns-portal-accent);font-weight:880}
.school-simple-nav-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.42;flex:none}
.school-simple-nav-link.active .school-simple-nav-dot{opacity:1}
@media(min-width:1181px){
  body:has(.school-simple-workspace) .school-workspace-controls{padding:10px!important}
  body:has(.school-simple-workspace) .school-term-bar{order:2;margin-top:4px!important}
}
@media(max-width:1180px){
  .school-simple-sidebar{display:none!important}
  .school-simple-mobile-nav{display:block!important;margin:0 0 10px}
  .school-simple-mobile-nav select{width:100%;min-height:40px;border:1px solid var(--ns-border);border-radius:9px;background:var(--ns-surface);color:var(--ns-text);padding-inline:10px}
}

/* Compact directories inspired by the provided operational reference. */
.school-directory-toolbar{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(150px,210px) minmax(140px,190px) auto;gap:8px!important;align-items:center;margin-bottom:12px!important;padding:10px!important}
.school-directory-search{min-width:0}.school-directory-search input{width:100%}
.school-directory-table-card{padding:0!important;overflow:hidden}.school-directory-table-card>.section-head{padding:14px 16px 10px;margin:0!important;border-bottom:1px solid var(--ns-border)}
.school-directory-table th{height:42px!important;padding:8px 12px!important;font-size:.69rem!important}.school-directory-table td{height:54px!important;padding:8px 12px!important;vertical-align:middle!important;font-size:.74rem!important}
.school-directory-table td small{display:block;margin-top:2px;font-size:.63rem;color:var(--ns-text-muted)}
.school-directory-table .table-action-cell{text-align:end;width:1%;white-space:nowrap}.school-directory-table .table-action-cell .ghost-btn{min-height:34px!important}
.pagination{display:flex;justify-content:center;gap:4px;padding:10px;border-top:1px solid var(--ns-border)}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--ns-border);border-radius:8px;text-decoration:none;color:var(--ns-text)}.pagination a.active{background:var(--ns-primary);border-color:var(--ns-primary);color:#fff}
.school-inline-status{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:9px 12px;border:1px solid var(--ns-border);border-radius:10px;background:var(--ns-surface)}.school-inline-status>div{display:grid;gap:2px}.school-inline-status strong{font-size:.76rem}.school-inline-status span{font-size:.65rem;color:var(--ns-text-muted)}.school-inline-status.warning{border-color:color-mix(in srgb,var(--ns-warning) 35%,var(--ns-border));background:color-mix(in srgb,var(--ns-warning) 5%,var(--ns-surface))}

/* Record dialogs: focused, small, and consistent with the reference video. */
.ns-record-dialog{width:min(620px,calc(100vw - 28px));max-height:min(860px,calc(100dvh - 28px));padding:0;border:0;border-radius:14px;background:var(--ns-surface);color:var(--ns-text);box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:auto}
.ns-record-dialog::backdrop{background:rgba(15,23,42,.56);backdrop-filter:blur(2px)}
.ns-record-dialog-card{display:grid;gap:14px;padding:22px!important;margin:0!important;border:0!important;box-shadow:none!important;background:var(--ns-surface)!important}
.ns-record-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--ns-border)}.ns-record-dialog-head h2{margin:0 0 3px!important;font-size:1.12rem!important}.ns-record-dialog-head p{margin:0;color:var(--ns-text-muted);font-size:.69rem;line-height:1.5}.ns-record-dialog-head .icon-btn{min-width:36px!important;width:36px!important;height:36px!important;font-size:1.25rem!important;color:var(--ns-text-muted)}
.ns-record-dialog-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:2px}
.school-form-grid{gap:10px!important}.school-form-grid .field{gap:5px!important}.school-form-grid .field>span,.school-form-grid .field>label{font-size:.69rem!important;font-weight:760!important;color:var(--ns-text-secondary)!important}

/* Admission pipeline and complete-record screen. */
.ns-compact-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.ns-compact-metric{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--ns-border);border-radius:10px;background:var(--ns-surface);text-decoration:none;color:var(--ns-text)}.ns-compact-metric strong{font-size:1.15rem}.ns-compact-metric span{font-size:.65rem;color:var(--ns-text-muted)}.ns-compact-metric.active{border-color:color-mix(in srgb,var(--ns-primary) 45%,var(--ns-border));background:color-mix(in srgb,var(--ns-primary) 5%,var(--ns-surface))}
.ns-work-list-card{padding:0!important;overflow:hidden}.ns-work-list-card>.section-head{padding:13px 15px;border-bottom:1px solid var(--ns-border);margin:0!important}.ns-record-list{display:grid}.ns-record-list.compact{gap:5px}.ns-record-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(210px,1fr) auto minmax(180px,auto);align-items:center;gap:12px;padding:10px 15px;border-bottom:1px solid var(--ns-border)}.ns-record-row:last-child{border-bottom:0}.ns-record-main,.ns-record-meta{display:grid;gap:2px;min-width:0}.ns-record-main strong,.ns-record-meta>span{font-size:.76rem}.ns-record-main small,.ns-record-meta small{font-size:.63rem;color:var(--ns-text-muted);overflow:hidden;text-overflow:ellipsis}.ns-record-row.simple{grid-template-columns:1fr auto;padding:9px 10px;border:1px solid var(--ns-border);border-radius:9px;text-decoration:none;color:var(--ns-text)}.ns-record-row.simple:hover{border-color:color-mix(in srgb,var(--ns-primary) 32%,var(--ns-border));background:var(--ns-surface-subtle)}.ns-record-action .inline-form{justify-content:flex-end}
.school-enrollment-page .ns-dashboard-head{margin-bottom:4px}.school-record-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.school-record-main{display:grid;gap:12px}.school-record-section{padding:16px!important}.school-record-section .section-head{margin-bottom:11px!important}.school-record-section .section-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.school-record-section .section-head p{grid-column:2}.school-record-step{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:color-mix(in srgb,var(--ns-primary) 9%,var(--ns-surface));color:var(--ns-primary);font-size:.64rem;font-weight:900;grid-row:1/3}.school-record-summary{position:sticky;top:calc(var(--ns-auth-topbar-h) + 14px);display:grid;gap:10px;padding:16px!important}.school-record-summary-label{font-size:.61rem;font-weight:850;color:var(--ns-primary)}.school-record-summary>strong{font-size:1.15rem}.school-record-summary>small{font-size:.66rem;color:var(--ns-text-muted)}.school-record-summary-list{display:grid;border-block:1px solid var(--ns-border)}.school-record-summary-list>div{display:grid;grid-template-columns:90px 1fr;gap:8px;padding:8px 0}.school-record-summary-list span{font-size:.61rem;color:var(--ns-text-muted)}.school-record-summary-list b{font-size:.69rem;text-align:end}.school-record-ready{display:flex;gap:8px;padding:9px;border-radius:9px;background:color-mix(in srgb,var(--ns-success) 7%,var(--ns-surface));color:var(--ns-success)}.school-record-ready>span{font-weight:900}.school-record-ready>div{display:grid;gap:1px}.school-record-ready strong{font-size:.68rem}.school-record-ready small{font-size:.6rem;color:var(--ns-text-muted);line-height:1.45}.school-record-save{width:100%!important}.school-fee-preview{display:grid;align-content:center;gap:2px;min-height:62px;padding:8px 11px;border:1px dashed var(--ns-border);border-radius:9px;background:var(--ns-surface-subtle)}.school-fee-preview span{font-size:.61rem;color:var(--ns-text-muted)}.school-fee-preview strong{font-size:1rem}.school-record-section.is-disabled{opacity:.8}

/* Academic objects are records, not one giant setup form. */
.school-structure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.school-structure-card{display:grid;gap:14px;padding:15px;border:1px solid var(--ns-border);border-radius:12px;background:var(--ns-surface);color:var(--ns-text);text-decoration:none;box-shadow:none}.school-structure-card:hover{border-color:color-mix(in srgb,var(--ns-primary) 34%,var(--ns-border));background:color-mix(in srgb,var(--ns-primary) 2%,var(--ns-surface))}.school-structure-card-head{display:flex;gap:10px;align-items:center}.school-structure-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--ns-primary) 8%,var(--ns-surface));color:var(--ns-primary)}.school-structure-icon svg{width:18px;height:18px;fill:currentColor}.school-structure-card-head>div{display:grid;gap:2px}.school-structure-card-head strong{font-size:.9rem}.school-structure-card-head small{font-size:.62rem;color:var(--ns-text-muted)}.school-structure-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.school-structure-stats span{display:grid;gap:1px;padding:7px;border-radius:8px;background:var(--ns-surface-subtle);font-size:.56rem;color:var(--ns-text-muted);text-align:center}.school-structure-stats b{font-size:.86rem;color:var(--ns-text)}.school-structure-secondary{margin-bottom:12px}.school-assignment-card{padding:15px!important}.school-entity-metrics{margin-bottom:12px}.school-entity-columns{align-items:start}

/* School manager records: one profile, tabbed sections, tuition + guardian upfront. */
.school-profile-record>[class*=school-workspace-controls]{margin:0}
.school-profile-record .profile-record-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px!important;margin-bottom:9px!important;border-radius:12px!important;background:var(--ns-surface)!important;border:1px solid var(--ns-border)!important;box-shadow:none!important}.school-profile-record .profile-record-avatar{width:48px!important;height:48px!important}.school-profile-record .profile-record-identity h1{font-size:1.25rem!important;margin:2px 0!important}.school-profile-record .profile-record-identity p{font-size:.68rem!important}.school-profile-record .profile-security-banner{padding:8px 11px!important;margin:7px 0!important;border-radius:9px!important}.school-profile-record .profile-security-banner strong{font-size:.68rem!important}.school-profile-record .profile-security-banner span{font-size:.61rem!important}.school-profile-record .profile-record-nav{position:sticky;top:calc(var(--ns-auth-topbar-h) + 4px);z-index:12;display:flex;gap:3px;padding:4px;margin:8px 0 12px;border:1px solid var(--ns-border);border-radius:10px;background:color-mix(in srgb,var(--ns-surface) 94%,transparent);backdrop-filter:blur(10px);overflow-x:auto}.school-profile-record .profile-record-nav a{min-height:34px;display:flex;align-items:center;padding:5px 10px;border-radius:7px;color:var(--ns-text-secondary);font-size:.68rem;font-weight:760;text-decoration:none;white-space:nowrap}.school-profile-record .profile-record-nav a.active{background:var(--ns-primary);color:#fff}.school-profile-record .profile-record-section[hidden]{display:none!important}.school-profile-record .profile-record-section{display:grid;gap:10px}.school-profile-record .profile-record-section>h2,.school-profile-record .profile-record-section .section-head h2{font-size:1.05rem!important}.school-profile-record .profile-record-section .card{padding:13px!important}.school-profile-record .profile-record-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important}.school-profile-record .profile-record-metrics .metric-card,.school-profile-record .school-finance-metrics .metric-card{min-height:82px!important;padding:11px!important}.school-profile-record .metric-card strong{font-size:1.08rem!important}.school-profile-record .metric-card span{font-size:.62rem!important}.school-student-record-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.school-student-record-strip>div{display:grid;gap:2px;padding:10px;border:1px solid var(--ns-border);border-radius:9px;background:var(--ns-surface)}.school-student-record-strip span{font-size:.59rem;color:var(--ns-text-muted)}.school-student-record-strip strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.school-student-record-strip small{font-size:.59rem;color:var(--ns-text-muted);overflow:hidden;text-overflow:ellipsis}.school-profile-placement{margin-bottom:0!important}.school-profile-record .profile-info-grid{gap:7px!important}.school-profile-record .profile-info-grid>div{padding:9px!important;border-radius:8px!important}.school-profile-record .profile-info-grid small{font-size:.58rem!important}.school-profile-record .profile-info-grid strong{font-size:.72rem!important}.school-profile-record .profile-people-list .user-cell{padding:7px 0}.school-profile-record .table th{height:40px!important}.school-profile-record .table td{height:46px!important;padding-block:7px!important;font-size:.7rem!important}

@media(max-width:980px){
  .school-directory-toolbar{grid-template-columns:1fr 1fr}.school-directory-search{grid-column:1/-1}
  .school-record-layout{grid-template-columns:1fr}.school-record-summary{position:static;order:-1}.school-structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-student-record-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .school-directory-toolbar{grid-template-columns:1fr}.school-directory-search{grid-column:auto}.ns-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-record-row{grid-template-columns:1fr;gap:6px}.ns-record-action .inline-form{justify-content:flex-start}.school-structure-grid{grid-template-columns:1fr}.school-record-section{padding:13px!important}.school-record-summary{padding:13px!important}.school-student-record-strip{grid-template-columns:1fr}.school-profile-record .profile-record-hero{align-items:flex-start;flex-direction:column}.school-profile-record .profile-record-actions{width:100%}.school-profile-record .profile-record-actions>*{flex:1}.school-profile-record .profile-record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.school-form-grid.grid.two,.school-form-grid.grid.three{grid-template-columns:1fr!important}
}

/* Phase 5 operational dashboard + filters. These rules complete the School Operations
   workflow shell added in 6.6.5 and keep the reference-style density consistent. */
.school-ops-home .ns-dashboard-head{margin-bottom:10px!important}
.school-ops-context{display:flex;align-items:center;gap:8px;margin:0 0 14px!important;padding:8px!important;min-height:50px;background:var(--ns-surface)!important}
.school-ops-context-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:5px 9px;border:1px solid var(--ns-border);border-radius:8px;background:var(--ns-surface-subtle);min-width:0}
.school-ops-context-item>span{font-size:.6rem;color:var(--ns-text-muted);font-weight:760;white-space:nowrap}
.school-ops-context-item>strong{font-size:.7rem;color:var(--ns-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.school-ops-context-item .ghost-btn{min-height:30px!important;height:30px!important;padding-inline:8px!important;font-size:.62rem!important}
.school-ops-context-link{margin-inline-start:auto;display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 9px;border-radius:8px;color:var(--ns-primary);font-size:.68rem;font-weight:800;text-decoration:none;white-space:nowrap}
.school-ops-context-link:hover{background:color-mix(in srgb,var(--ns-primary) 7%,var(--ns-surface))}
.school-ops-context-link svg{width:14px;height:14px;fill:currentColor}

.school-ops-start,.school-ops-overview{margin-bottom:16px}
.school-ops-start>.ns-section-head,.school-ops-overview>.ns-section-head{margin:0 0 8px!important}
.school-ops-start>.ns-section-head h2,.school-ops-overview>.ns-section-head h2{font-size:.98rem!important;margin:0 0 2px!important}
.school-ops-start>.ns-section-head p,.school-ops-overview>.ns-section-head p{font-size:.64rem!important;margin:0!important;color:var(--ns-text-muted)}
.school-ops-start-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.school-ops-start-card{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:78px;padding:11px;border:1px solid var(--ns-border);border-radius:11px;background:var(--ns-surface);color:var(--ns-text);text-decoration:none;box-shadow:none;transition:var(--ns-transition-fast)}
.school-ops-start-card:hover{border-color:color-mix(in srgb,var(--ns-primary) 30%,var(--ns-border));background:color-mix(in srgb,var(--ns-primary) 2%,var(--ns-surface));transform:translateY(-1px)}
.school-ops-start-card.is-primary{border-color:color-mix(in srgb,var(--ns-primary) 30%,var(--ns-border));background:color-mix(in srgb,var(--ns-primary) 4%,var(--ns-surface))}
.school-ops-start-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:color-mix(in srgb,var(--ns-primary) 8%,var(--ns-surface));color:var(--ns-primary)}
.school-ops-start-icon svg{width:17px;height:17px;fill:currentColor}
.school-ops-start-card>div{display:grid;gap:2px;min-width:0}.school-ops-start-card strong{font-size:.73rem;line-height:1.35}.school-ops-start-card small{font-size:.59rem;line-height:1.45;color:var(--ns-text-muted)}
.school-ops-start-count{display:grid;place-items:center;min-width:28px;min-height:28px;padding:3px 6px;border-radius:8px;background:var(--ns-surface-subtle);color:var(--ns-primary);font-size:.66rem;font-weight:900;white-space:nowrap}
.school-ops-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}.school-ops-metric-grid .ns-metric-card{min-height:86px!important;padding:10px!important}.school-ops-metric-grid .ns-metric-icon{width:32px!important;height:32px!important;border-radius:8px!important}.school-ops-metric-grid .ns-metric-body strong{font-size:1rem!important}.school-ops-metric-grid .ns-metric-label{font-size:.62rem!important}.school-ops-metric-grid .ns-metric-body small{font-size:.56rem!important}
.school-ops-next{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0!important;padding:11px 13px!important;border-style:dashed!important;background:var(--ns-surface-subtle)!important}
.school-ops-next-copy{display:flex;align-items:flex-start;gap:9px;min-width:0}.school-ops-next-copy>svg{width:18px;height:18px;fill:var(--ns-primary);flex:none;margin-top:1px}.school-ops-next-copy>div{display:grid;gap:2px}.school-ops-next-copy strong{font-size:.72rem}.school-ops-next-copy p{margin:0!important;font-size:.62rem!important;line-height:1.5!important;color:var(--ns-text-muted)}.school-ops-next>.secondary-btn{flex:none}

.school-simple-filterbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;align-items:end;margin-bottom:12px!important;padding:10px!important}
.school-simple-filterbar .field{gap:4px!important;margin:0!important}.school-simple-filterbar .field>span,.school-simple-filterbar .field>label{font-size:.62rem!important;font-weight:760!important;color:var(--ns-text-muted)!important}.school-simple-filterbar :is(input,select){width:100%}
.school-attendance-metrics{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}.school-attendance-metrics .ns-metric-card{min-height:76px!important;padding:9px 10px!important}.school-attendance-metrics .ns-metric-icon{display:none!important}.school-attendance-metrics .ns-metric-body strong{font-size:1.05rem!important}.school-attendance-metrics .ns-metric-label{font-size:.62rem!important}

.school-optional-details{margin-top:10px;border:1px solid var(--ns-border);border-radius:9px;background:var(--ns-surface-subtle);overflow:hidden}.school-optional-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:7px 10px;font-size:.68rem;font-weight:780;color:var(--ns-text-secondary)}.school-optional-details>summary::-webkit-details-marker{display:none}.school-optional-details>summary:after{content:'+';font-size:1rem;line-height:1;color:var(--ns-text-muted)}.school-optional-details[open]>summary:after{content:'−'}.school-optional-details[open]>summary{border-bottom:1px solid var(--ns-border);background:var(--ns-surface)}.school-optional-details>.school-form-grid{padding:10px}

@media(max-width:1440px){.school-ops-start-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.school-ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){.school-ops-context{flex-wrap:wrap}.school-ops-context-link{margin-inline-start:0}.school-ops-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-simple-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.school-attendance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:680px){.school-ops-context{display:grid;grid-template-columns:1fr}.school-ops-context-item{justify-content:space-between}.school-ops-context-link{justify-content:center}.school-ops-start-grid{grid-template-columns:1fr}.school-ops-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.school-ops-next{align-items:stretch;flex-direction:column}.school-ops-next>.secondary-btn{width:100%!important}.school-simple-filterbar{grid-template-columns:1fr}.school-attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ns-record-dialog-card{padding:16px!important}.ns-record-dialog-actions>*{flex:1}.ns-record-dialog-actions{position:sticky;bottom:0;padding-top:10px;background:var(--ns-surface)}}

/* Public admission request: deliberately short. The school completes the full record after approval. */
.admission-public-shell{width:min(760px,calc(100% - 32px));margin:36px auto 64px;display:grid;gap:12px}
.admission-public-head{text-align:center;display:grid;gap:5px;padding:8px 0}.admission-public-kicker{font-size:.7rem;font-weight:850;color:var(--ns-primary)}.admission-public-head h1{margin:0!important;font-size:1.65rem!important;letter-spacing:0!important}.admission-public-head p{margin:0 auto!important;max-width:620px;font-size:.76rem!important;line-height:1.6!important;color:var(--ns-text-muted)}
.admission-public-card{padding:20px!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important}.admission-public-card .stack{gap:12px!important}.admission-public-card :is(input,select){min-height:42px!important;border-radius:9px!important}.admission-public-card textarea{border-radius:9px!important}.admission-public-card .field :is(label,span){font-size:.7rem!important;font-weight:760!important}
.admission-public-school{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid var(--ns-border);border-radius:10px;background:var(--ns-surface)}.admission-public-school>div{display:grid;gap:2px}.admission-public-school strong{font-size:.78rem}.admission-public-school small{font-size:.63rem;color:var(--ns-text-muted)}.admission-public-school>span{padding:5px 8px;border-radius:7px;background:var(--ns-surface-subtle);color:var(--ns-primary);font-size:.7rem;font-weight:850}
.admission-public-actions{display:flex;align-items:center;gap:12px;padding-top:2px}.admission-public-actions small{font-size:.62rem;color:var(--ns-text-muted);line-height:1.45}.admission-public-actions .primary-btn{min-height:42px!important}
@media(max-width:680px){.admission-public-shell{width:min(100% - 20px,760px);margin-top:22px}.admission-public-card{padding:15px!important}.admission-public-head h1{font-size:1.35rem!important}.admission-public-school{align-items:flex-start;flex-direction:column}.admission-public-actions{align-items:stretch;flex-direction:column}.admission-public-actions .primary-btn{width:100%!important}.admission-public-card .grid.two{grid-template-columns:1fr!important}}
