/* NanoStudent 6.4.0 Jordan pilot readiness layer. */
:root {
  --ns-font-sans: Inter, Cairo, "Segoe UI", Tahoma, Arial, sans-serif;
  --ns-font-arabic: Cairo, "Segoe UI", Tahoma, Arial, sans-serif;
  --ns-pilot-surface: color-mix(in srgb, var(--card-bg, #fff) 94%, #2563eb 6%);
  --ns-pilot-border: color-mix(in srgb, var(--border-color, #dbe3ef) 78%, #2563eb 22%);
}
html, body { font-family: var(--ns-font-sans); }
html[dir="rtl"] body { font-family: var(--ns-font-arabic); }

/* Marketing and product tour */
.pilot-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(1.25rem,4vw,3.5rem); align-items:center; padding:clamp(2rem,6vw,5.5rem) 0; }
.pilot-hero h1 { font-size:clamp(2.1rem,5vw,4.7rem); line-height:1.05; max-width:13ch; margin:.7rem 0 1rem; }
.pilot-hero p { font-size:clamp(1rem,1.7vw,1.25rem); line-height:1.85; max-width:62ch; }
.pilot-kicker { display:inline-flex; gap:.5rem; align-items:center; padding:.45rem .8rem; border-radius:999px; background:color-mix(in srgb,#2563eb 12%,transparent); color:#1d4ed8; font-weight:800; }
.pilot-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; }
.pilot-dashboard-preview { border:1px solid var(--ns-pilot-border); background:linear-gradient(145deg,var(--ns-pilot-surface),var(--card-bg,#fff)); box-shadow:0 28px 80px rgba(15,23,42,.13); border-radius:1.5rem; overflow:hidden; }
.pilot-preview-top { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; border-bottom:1px solid var(--ns-pilot-border); }
.pilot-window-dots { display:flex; gap:.35rem; }
.pilot-window-dots span { width:.62rem; height:.62rem; border-radius:50%; background:#cbd5e1; }
.pilot-preview-body { display:grid; grid-template-columns:88px 1fr; min-height:360px; }
.pilot-preview-nav { padding:1rem .65rem; border-inline-end:1px solid var(--ns-pilot-border); display:grid; align-content:start; gap:.55rem; }
.pilot-preview-nav span { height:.65rem; border-radius:999px; background:color-mix(in srgb,#64748b 18%,transparent); }
.pilot-preview-main { padding:1rem; display:grid; gap:1rem; }
.pilot-preview-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.pilot-preview-card,.pilot-preview-chart,.pilot-preview-task { background:var(--card-bg,#fff); border:1px solid var(--ns-pilot-border); border-radius:1rem; padding:1rem; }
.pilot-preview-card strong { display:block; font-size:1.25rem; margin-top:.35rem; }
.pilot-preview-chart { min-height:130px; display:flex; align-items:flex-end; gap:.4rem; }
.pilot-preview-chart span { flex:1; min-height:18px; background:linear-gradient(#60a5fa,#2563eb); border-radius:.35rem .35rem 0 0; }
.pilot-preview-tasks { display:grid; gap:.55rem; }
.pilot-preview-task { display:flex; justify-content:space-between; align-items:center; padding:.7rem .85rem; }
.pilot-proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; margin:1rem 0 3rem; }
.pilot-proof article { border:1px solid var(--ns-pilot-border); border-radius:1rem; padding:1rem; background:var(--card-bg,#fff); }
.pilot-proof strong { display:block; margin-bottom:.25rem; }
.pilot-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.pilot-module { position:relative; overflow:hidden; min-height:250px; }
.pilot-module::after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; background:color-mix(in srgb,#2563eb 9%,transparent); inset:auto -35px -50px auto; }
.pilot-module ul { margin:.5rem 0 0; padding-inline-start:1.2rem; line-height:1.9; }
.pilot-tour-section { padding:clamp(2rem,5vw,4rem) 0; }
.pilot-tour-step { display:grid; grid-template-columns:52px 1fr; gap:1rem; align-items:start; }
.pilot-tour-number { width:48px; height:48px; border-radius:1rem; display:grid; place-items:center; background:#2563eb; color:#fff; font-weight:900; }
.pilot-screen { border:1px solid var(--ns-pilot-border); border-radius:1.25rem; padding:1.25rem; background:var(--card-bg,#fff); box-shadow:0 18px 60px rgba(15,23,42,.08); }
.pilot-screen-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.pilot-screen-row { min-height:72px; border:1px solid var(--ns-pilot-border); border-radius:.8rem; padding:.8rem; }

/* School pricing */
.school-pricing-hero { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:end; margin-bottom:1.5rem; }
.school-pricing-toggle { display:inline-flex; padding:.25rem; border:1px solid var(--ns-pilot-border); border-radius:999px; background:var(--card-bg,#fff); }
.school-pricing-toggle button { border:0; background:transparent; border-radius:999px; padding:.65rem 1rem; font-weight:800; cursor:pointer; }
.school-pricing-toggle button.is-active { background:#2563eb; color:#fff; }
.school-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.school-plan-card { position:relative; display:flex; flex-direction:column; min-height:100%; }
.school-plan-card.is-popular { border-color:#2563eb; box-shadow:0 18px 50px rgba(37,99,235,.14); }
.school-plan-price { font-size:2rem; font-weight:900; margin:.45rem 0; }
.school-plan-price small { font-size:.85rem; font-weight:600; color:var(--muted,#64748b); }
.school-plan-card ul { flex:1; line-height:1.9; }
.school-addon-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; }
.school-addon-price { font-size:1.5rem; font-weight:900; }
.school-pricing-note { border-inline-start:4px solid #2563eb; }

/* Legacy module read-only notice */
.legacy-module-notice { margin:1rem 0; padding:1rem 1.1rem; border:1px solid #f59e0b; border-radius:1rem; background:color-mix(in srgb,#f59e0b 10%,var(--card-bg,#fff)); }
.legacy-module-notice strong { display:block; margin-bottom:.25rem; }

/* Navigation groups */
.side-group-label { position:relative; }
.side-group-toggle { width:100%; border:0; background:transparent; color:inherit; font:inherit; font-weight:inherit; display:flex; justify-content:space-between; align-items:center; padding:0; cursor:pointer; text-align:inherit; }
.side-group-toggle::after { content:"⌄"; transition:transform .2s ease; }
.side-group-label.is-collapsed .side-group-toggle::after { transform:rotate(-90deg); }
html[dir="rtl"] .side-group-label.is-collapsed .side-group-toggle::after { transform:rotate(90deg); }
.side-link[data-nav-group-hidden="true"], .side-logout-form[data-nav-group-hidden="true"] { display:none !important; }

/* Help center */
.help-search-wrap { position:relative; max-width:720px; }
.help-search-wrap input { width:100%; padding-inline-start:2.8rem; }
.help-search-icon { position:absolute; inset-inline-start:.9rem; top:50%; transform:translateY(-50%); pointer-events:none; }
.help-topic-card[hidden] { display:none !important; }
.help-empty { display:none; }
.help-empty.is-visible { display:block; }
.help-role-strip { display:flex; flex-wrap:wrap; gap:.55rem; margin:.8rem 0 1.4rem; }
.help-role-strip a { padding:.55rem .85rem; border:1px solid var(--ns-pilot-border); border-radius:999px; text-decoration:none; }
.help-role-strip a.active { background:#2563eb; color:#fff; border-color:#2563eb; }
.help-video-placeholder { aspect-ratio:16/9; display:grid; place-items:center; border:1px dashed var(--ns-pilot-border); border-radius:1rem; background:var(--ns-pilot-surface); text-align:center; padding:1rem; }

/* Onboarding progress */
.onboarding-progress-shell { margin:1rem 0 1.5rem; }
.onboarding-progress-meta { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.55rem; }
.onboarding-progress-track { height:.7rem; border-radius:999px; background:color-mix(in srgb,#64748b 17%,transparent); overflow:hidden; }
.onboarding-progress-bar { height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#22c55e); transition:width .35s ease; }

/* Mobile cashier */
.mobile-cashier-shell { max-width:920px; margin-inline:auto; }
.cashier-search { position:sticky; top:calc(var(--topbar-height,70px) + .75rem); z-index:8; }
.cashier-student-result { display:grid; grid-template-columns:1fr auto; gap:.75rem; align-items:center; padding:.9rem; border:1px solid var(--ns-pilot-border); border-radius:1rem; text-decoration:none; }
.cashier-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.cashier-summary .stat-card { min-width:0; }
.cashier-invoices { display:grid; gap:.65rem; }
.cashier-invoice { display:grid; grid-template-columns:1fr auto; gap:.7rem; align-items:center; border:1px solid var(--ns-pilot-border); border-radius:.9rem; padding:.85rem; }
.cashier-paybar { position:sticky; bottom:.75rem; z-index:9; box-shadow:0 18px 55px rgba(15,23,42,.18); }
.cashier-paybar .primary-btn { width:100%; justify-content:center; min-height:48px; }

/* Classification readiness evidence */
.compliance-axis { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; }
.compliance-score { width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#2563eb var(--score,0%),color-mix(in srgb,#64748b 17%,transparent) 0); position:relative; }
.compliance-score::before { content:""; position:absolute; inset:7px; background:var(--card-bg,#fff); border-radius:50%; }
.compliance-score strong { position:relative; z-index:1; }
.evidence-list { display:grid; gap:.55rem; }
.evidence-row { display:grid; grid-template-columns:1fr auto; gap:.75rem; align-items:center; padding:.75rem; border:1px solid var(--ns-pilot-border); border-radius:.8rem; }

/* Strict CSP report note */
.csp-report-note { font-size:.85rem; color:var(--muted,#64748b); }

@media (max-width: 900px) {
  .pilot-hero,.school-pricing-hero { grid-template-columns:1fr; }
  .pilot-proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pilot-modules { grid-template-columns:1fr; }
  .pilot-preview-body { grid-template-columns:64px 1fr; }
  .pilot-preview-cards,.pilot-screen-grid { grid-template-columns:1fr; }
  .cashier-summary { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .pilot-proof { grid-template-columns:1fr; }
  .pilot-hero h1 { font-size:2.25rem; }
  .pilot-preview-body { grid-template-columns:1fr; }
  .pilot-preview-nav { display:none; }
  .cashier-invoice { grid-template-columns:1fr; }
}
@media print {
  .pilot-actions,.school-pricing-toggle,.cashier-search,.cashier-paybar,.side-group-toggle { display:none !important; }
}
