/* ============================================================
   Kundli 8 — UI Design System v1  (ui-redesign-2026-07)
   Astrology-premium: deep violet base + gold/saffron accents,
   light content areas, generous whitespace, rounded soft cards.
   Structure learned from the MayaBooks reference; palette + feel
   are Kundli's own. Presentation layer only — no logic.
   © 2026 Maya Software Technologies.
   ============================================================ */

:root{
  /* ── palette: violet base ── */
  --k-violet-900:#160A34; --k-violet-800:#241155; --k-violet-700:#33206E;
  --k-primary:#5B3FA0;    --k-primary-600:#5B3FA0; --k-primary-700:#472F82;
  --k-primary-050:#F2EEFB; --k-primary-100:#E6DEF6;
  /* ── gold / saffron accents ── */
  --k-gold:#E8B84B; --k-gold-soft:#FFE58A; --k-gold-deep:#B8860B; --k-saffron:#D2492F;
  /* ── neutrals ── */
  --k-bg:#F5F3FB; --k-surface:#FFFFFF; --k-surface-2:#FAF8FF;
  --k-border:rgba(91,63,160,.14); --k-border-2:rgba(91,63,160,.09);
  --k-text:#241B3D; --k-muted:#6B6488; --k-faint:#9A93B4;
  /* ── Luxury chrome aliases (semantic, not rainbow) ── */
  --k8-bg:var(--k-bg); --k8-surface:var(--k-surface); --k8-surface-muted:var(--k-surface-2);
  --k8-text:var(--k-text); --k8-text-muted:var(--k-muted); --k8-border:var(--k-border);
  --k8-gold:var(--k-gold); --k8-gold-soft:var(--k-gold-soft); --k8-indigo:var(--k-primary);
  /* ── status ── */
  --k-ok:#1F9D57; --k-bad:#C43A2B; --k-warn:#C99617; --k-info:#3B6EA5;
  /* ── type scale ── */
  --k-fs-xs:.75rem; --k-fs-sm:.8125rem; --k-fs-base:.9375rem; --k-fs-md:1rem;
  --k-fs-lg:1.125rem; --k-fs-xl:1.375rem; --k-fs-2xl:1.75rem; --k-fs-3xl:2.25rem;
  /* ── spacing ── */
  --k-1:4px; --k-2:8px; --k-3:12px; --k-4:16px; --k-5:20px; --k-6:24px; --k-8:32px; --k-10:40px;
  /* ── radius / shadow ── */
  --k-r-sm:8px; --k-r:12px; --k-r-lg:18px; --k-r-pill:999px;
  --k-sh-xs:0 1px 2px rgba(22,10,52,.05);
  --k-sh-sm:0 1px 2px rgba(22,10,52,.05),0 2px 8px rgba(22,10,52,.05);
  --k-sh-md:0 2px 6px rgba(22,10,52,.06),0 10px 24px rgba(36,24,82,.09);
  --k-sh-lg:0 6px 16px rgba(22,10,52,.08),0 24px 50px rgba(36,24,82,.16);
  /* ── fonts (coherent with existing shell; multi-script Noto for 18 langs) ── */
  --k-scripts:'Noto Sans Devanagari','Noto Sans Bengali','Noto Sans Telugu','Noto Sans Tamil','Noto Sans Kannada','Noto Sans Malayalam','Noto Sans Gujarati','Noto Sans Gurmukhi','Noto Sans Oriya','Noto Nastaliq Urdu','Noto Sans';
  --k-disp:'Fraunces','Noto Serif Devanagari',var(--k-scripts),serif;
  --k-body:var(--k-scripts),system-ui,-apple-system,'Segoe UI',sans-serif;
  --k-sidebar-w:248px;
}

*{box-sizing:border-box}
.k-ui{margin:0;background:var(--k-bg);color:var(--k-text);font-family:var(--k-body);font-size:var(--k-fs-base);line-height:1.6;-webkit-font-smoothing:antialiased}
.k-ui h1,.k-ui h2,.k-ui h3{font-family:var(--k-disp);font-weight:600;letter-spacing:-.01em;color:var(--k-violet-800);margin:0}
.k-num{font-variant-numeric:tabular-nums}
.k-mono{font-family:'JetBrains Mono',ui-monospace,monospace}

/* ── app shell: sidebar + main ───────────────────────────── */
.k-app{display:grid;grid-template-columns:var(--k-sidebar-w) 1fr;min-height:100vh}
.k-scrim{display:none}
.k-sidebar{background:linear-gradient(180deg,var(--k-violet-900),var(--k-violet-800));color:#EDE9F7;position:sticky;top:0;height:100vh;overflow-y:auto;padding:0 0 var(--k-6)}
.k-brand{display:flex;align-items:center;gap:10px;padding:var(--k-5) var(--k-5) var(--k-4);text-decoration:none;position:sticky;top:0;background:linear-gradient(180deg,var(--k-violet-900),rgba(36,17,85,.96));z-index:2}
.k-brand-mark{width:34px;height:34px;flex:none}
.k-brand b{font-family:var(--k-disp);font-size:20px;color:#fff;font-weight:600}
.k-brand b em{font-style:normal;background:linear-gradient(160deg,var(--k-gold-deep),var(--k-gold));-webkit-background-clip:text;background-clip:text;color:transparent}
/* App sidebar: mark only (owner: no "Kundli 8" wordmark in left rail). Public header keeps wordmark. */
.k-sidebar .k-brand.k-brand-mark-only{justify-content:center;padding:var(--k-5) var(--k-3) var(--k-4)}
.k-sidebar .k-brand.k-brand-mark-only .k-brand-mark{width:38px;height:38px}
.k-nav-group{padding:var(--k-3) var(--k-3) 0}
.k-nav-label{font-size:11px;font-weight:700;letter-spacing:.11em;color:#9E93C8;text-transform:uppercase;padding:var(--k-3) var(--k-3) var(--k-2)}
.k-nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--k-r-sm);color:#D9D2EC;text-decoration:none;font-size:var(--k-fs-base);font-weight:500;line-height:1.2;margin-bottom:2px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;background:transparent;cursor:pointer;font-family:inherit;width:100%;box-sizing:border-box}
.k-nav-item .k-ic{width:20px;text-align:center;font-size:16px;opacity:.9;flex:none}
.k-nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.k-nav-item.active{background:linear-gradient(100deg,rgba(232,184,75,.20),rgba(232,184,75,.08));color:#FFE9AE;box-shadow:inset 3px 0 0 var(--k-gold)}
/* New Kundli: gold fill only when that page is active — not a permanent false-active CTA. */
.k-nav-item.primary{background:transparent;color:#FFE9AE;font-weight:700;margin:2px 0 4px;border:1px solid rgba(232,184,75,.42);box-shadow:none}
.k-nav-item.primary:hover{background:rgba(232,184,75,.12);color:#FFE9AE;filter:none}
.k-nav-item.primary.active{background:linear-gradient(155deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900);border-color:transparent;box-shadow:var(--k-sh-sm)}
.k-nav-item.primary.active:hover{filter:brightness(1.04);color:var(--k-violet-900)}
button.k-nav-item,button.k-nav-item:hover,button.k-nav-item:focus{color:#D9D2EC;-webkit-appearance:none;appearance:none}
button.k-nav-item:hover{color:#fff}
.k-nav-form button.k-nav-item .k-nav-txt{color:inherit;opacity:1}
.k-nav-badge{margin-left:auto;font-size:10px;font-weight:700;background:rgba(232,184,75,.22);color:#FFE9AE;border-radius:var(--k-r-pill);padding:1px 8px}

/* ── top bar ─────────────────────────────────────────────── */
.k-main{display:flex;flex-direction:column;min-width:0}
.k-topbar{display:flex;align-items:center;gap:var(--k-3);height:62px;padding:0 var(--k-6);background:var(--k-surface);border-bottom:1px solid var(--k-border);position:sticky;top:0;z-index:10}
.k-topbar .sp{flex:1}
.k-menu-toggle{display:none;background:none;border:1px solid var(--k-border);border-radius:var(--k-r-sm);width:38px;height:38px;font-size:18px;color:var(--k-primary);cursor:pointer}
.k-select{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--k-border);background:var(--k-surface-2);border-radius:var(--k-r-pill);padding:7px 14px;font-size:var(--k-fs-sm);font-weight:600;color:var(--k-text);cursor:pointer}
/* topbar language select: compact pill (match homepage) so 18 long lang names don't stretch it */
.k-topbar .k-select{width:118px;max-width:118px;flex:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.k-select:hover{border-color:var(--k-primary)}
.k-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(150deg,var(--k-primary),var(--k-violet-700));color:var(--k-gold-soft);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:none;cursor:pointer}
.k-topbar-title{order:2;color:var(--k-violet-800);font-size:var(--k-fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left}
.k-topbar .k-menu-toggle{order:1}
.k-topbar .sp{order:3}
.k-topbar .k-select{order:4}
.k-toplink{order:5;color:var(--k-primary);font-size:var(--k-fs-sm);font-weight:700;text-decoration:none}
.k-topbar .k-avatar,.k-topbar .k-avatar-wrap{order:6;text-decoration:none}

/* Workspace shell (opened Kundli): no left app sidebar — full-width report.
   !important: without 1fr, lone .k-main lands in the 248px sidebar track → crushed layout.
   Class name k-app--focus = shell layout only — product Focus Mode removed 2026-09-22.
   Desktop/tablet large: ONE outer lock + main report scroll (no body+report double scroll). */
.k-app.k-app--focus{grid-template-columns:1fr!important;height:100vh;max-height:100vh;min-height:100vh;overflow:hidden}
.k-app.k-app--focus .k-sidebar{display:none!important}
.k-app.k-app--focus .k-main{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;width:100%;min-width:0;max-width:none}
.k-content.k-content--focus{max-width:none;width:100%;padding-left:clamp(8px,1.2vw,16px);padding-right:clamp(8px,1.2vw,16px);padding-top:6px;padding-bottom:8px;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}
/* Banners / hidden dock chrome must not steal the report flex track. */
.k-content.k-content--focus > .k-eval-banner,
.k-content.k-content--focus > .k-tabs-wrap,
.k-content.k-content--focus > script{flex:none}
.k-content.k-content--focus > .wtab[data-tab="complete"]:not([style*="display: none"]),
.k-content.k-content--focus > .wtab[data-tab="complete"]:not([style*="display:none"]){flex:1 1 auto;min-height:0;display:flex!important;flex-direction:column;overflow:hidden}
.k-content.k-content--focus > .wtab[data-tab="complete"] > .k-native-complete{flex:1 1 auto;min-height:0}
.k-content.k-content--focus > .wtab:not([data-tab="complete"]):not([style*="display: none"]),
.k-content.k-content--focus > .wtab:not([data-tab="complete"]):not([style*="display:none"]){flex:1 1 auto;min-height:0;overflow:auto}
/* Product chrome: no marketing footer collision — body stays locked; content scrolls inside. */
html:has(.k-app--focus),body.k-ui:has(.k-app--focus){height:100%;max-height:100vh;overflow:hidden}
body.k-ui:has(.k-app--focus){padding-bottom:0}
.k-topbar--focus{gap:6px;flex:none;background:linear-gradient(180deg,#FFFEFA,#F7F4FF);border-bottom-color:var(--k8-border)}
.k-topbar--command{flex-wrap:nowrap;height:auto;min-height:52px;max-height:72px;align-items:center;padding-top:4px;padding-bottom:4px;overflow:visible;z-index:40}
.k-topbar--command .sp{flex:0 0 4px;min-width:0}
.k-topbar-brand{order:0;display:inline-flex;align-items:center;flex:none;text-decoration:none}
.k-topbar-brand .k-brand-mark{width:32px;height:32px}
.k-topbar--focus .k-menu-toggle--focus{display:none;align-items:center;justify-content:center;order:1}
/* Permanent Dashboard/New/Saved strip REMOVED — destinations live in merged Identity ▾. */
.k-topbar-quick{display:none!important}
.k-kundli-menu{display:none!important} /* superseded by merged .k-identity--merged */
/* Stacked caption controls — label INSIDE control, not a second header row. */
.k-ctrl-cap{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--k8-text-muted);line-height:1.1;margin:0}
.k-ctrl-stack.k-topbar-astro-form,.k-settings-group .k-ctrl-stack.k-topbar-astro-form{
  flex-direction:column;align-items:stretch;justify-content:center;gap:1px;
  min-height:44px;max-height:52px;padding:3px 8px 4px;margin:0;
  border:1px solid rgba(91,63,160,.12);border-radius:10px;background:var(--k8-surface);
}
.k-ctrl-stack.k-topbar-astro-form:focus-within{border-color:rgba(232,184,75,.85);box-shadow:0 0 0 1px rgba(232,184,75,.25)}
.k-ctrl-stack .k-topbar-ayan,.k-ctrl-stack .k-topbar-chart{
  height:auto!important;min-height:0;padding:0!important;border:0!important;background:transparent!important;
  font-size:13.5px;font-weight:650;color:var(--k8-text);line-height:1.2;max-width:100%;
  appearance:none;-webkit-appearance:none;cursor:pointer
}
.k-identity{order:0;position:relative;flex:none;max-width:min(220px,28vw)}
.k-identity--merged .k-identity__btn{display:inline-flex;flex-direction:row;align-items:center;gap:7px;max-width:100%;min-height:44px;max-height:52px;padding:3px 8px 3px 4px;border:1px solid rgba(91,63,160,.12);border-radius:10px;background:var(--k8-surface);cursor:pointer;text-align:left}
.k-identity--merged .k-identity__btn:hover,.k-identity--merged .k-identity__btn[aria-expanded="true"]{border-color:rgba(232,184,75,.85);box-shadow:0 0 0 1px rgba(232,184,75,.22)}
.k-identity--merged .k-brand-mark{width:24px;height:24px;flex:none}
.k-identity__stack{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;flex:1 1 auto}
.k-identity__text{display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:0;flex:1 1 auto;max-width:100%}
.k-identity__name{font-size:13.5px;font-weight:700;color:var(--k8-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.k-identity__event{font-size:10px;font-weight:500;color:var(--k8-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}
.k-identity__caret{font-size:11px;color:var(--k8-text-muted);flex:none}
.k-identity__panel{position:absolute;z-index:120;top:calc(100% + 6px);left:0;min-width:240px;max-width:min(320px,92vw);max-height:min(72vh,480px);overflow:auto;padding:6px;border:1px solid var(--k8-border);border-radius:12px;background:var(--k8-surface);box-shadow:var(--k-sh-md)}
.k-identity__panel[hidden]{display:none!important}
.k-identity__group{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--k8-text-muted);padding:8px 10px 4px}
.k-identity__item{display:block;padding:8px 11px;border-radius:8px;font:600 13px/1.3 var(--k-body);color:var(--k8-text);text-decoration:none}
.k-identity__item:hover{background:var(--k-primary-050)}
.k-identity__item[aria-disabled="true"],.k-identity__item--status{opacity:.7;cursor:default}
.k-settings-group{order:4;display:inline-flex;align-items:center;gap:4px;flex:none;margin-left:2px;padding:0;border:0;border-radius:0;background:transparent;position:relative}
.k-settings-group .k-topbar-astro{order:0;margin:0;gap:4px}
.k-settings-group .k8-lang-compact{order:1;margin:0}
.k-settings-group .k-astro-settings-dd__btn,
.k-settings-group .k-astro-gear{
  height:44px;border-radius:10px;border-color:rgba(91,63,160,.14);background:var(--k8-surface);font:650 12px/1 var(--k-body);color:var(--k8-text)
}
.k-topbar-astro{order:4;display:inline-flex;align-items:center;gap:4px;flex:none;position:relative}
.k-topbar-astro-form{display:inline-flex;align-items:center;gap:4px;margin:0}
.k-topbar-astro-label{display:none} /* superseded by .k-ctrl-cap inside stack */
.k-topbar .k-topbar-ayan,.k-topbar .k-topbar-chart{width:auto;max-width:168px;min-width:0;padding:5px 8px;border-radius:8px;font-size:12px;border:1px solid rgba(91,63,160,.14)}
.k-topbar .k-topbar-chart{max-width:118px}
/* Responsive Astro Settings: ≥1200 inline · 1024–1199 Astro Settings ▾ · <1024 ⚙ sheet.
   HEADER_FULL_CONTROLS retained as data attr; chip is not the primary ≥1200 path. */
.k-astro-context{display:none}
.k-astro-temp{font-style:normal;font-size:10px;font-weight:700;color:#8a5a12;margin-left:2px}
.k-astro-restore{font-size:11px;font-weight:650;color:var(--k8-indigo);text-decoration:none;white-space:nowrap;padding:0 6px}
.k-astro-recalc{position:fixed;left:50%;top:72px;transform:translateX(-50%);z-index:130;padding:10px 16px;border-radius:10px;background:rgba(27,37,104,.92);color:#FBF5E8;font-size:13px;box-shadow:var(--k-sh-md)}
.k-astro-recalc[hidden]{display:none!important}
.k-topbar-astro-inline{display:none;align-items:center;gap:4px;flex-wrap:nowrap}
.k-astro-settings-dd{display:none;position:relative}
.k-astro-settings-dd__btn{height:44px;padding:0 10px;border:1px solid rgba(91,63,160,.14);border-radius:10px;background:var(--k8-surface);font:650 12px/1 var(--k-body);color:var(--k8-text);cursor:pointer;white-space:nowrap}
.k-astro-settings-dd__panel{position:absolute;z-index:120;top:calc(100% + 6px);right:0;min-width:260px;max-width:min(360px,94vw);max-height:min(70vh,420px);overflow:auto;padding:12px;border:1px solid var(--k8-border);border-radius:12px;background:var(--k8-surface);box-shadow:var(--k-sh-md);display:flex;flex-direction:column;gap:10px}
.k-astro-settings-dd__panel[hidden]{display:none!important}
.k-astro-settings-dd__panel .k-topbar-astro-form{flex-wrap:wrap}
.k-astro-gear{display:none;width:44px;height:44px;border:1px solid rgba(91,63,160,.14);border-radius:10px;background:var(--k8-surface);cursor:pointer;font-size:15px;line-height:1}
.k-astro-sheet{position:fixed;z-index:140;left:50%;bottom:0;transform:translateX(-50%);width:min(420px,100vw);max-height:min(78vh,560px);overflow:auto;padding:0;border-radius:16px 16px 0 0;background:var(--k8-surface);box-shadow:0 -12px 40px rgba(18,11,40,.22)}
.k-astro-sheet[hidden],.k-astro-sheet-scrim[hidden]{display:none!important}
.k-astro-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--k8-border)}
.k-astro-sheet__close{border:0;background:transparent;font-size:18px;cursor:pointer}
.k-astro-sheet__body{padding:14px 16px 20px;display:flex;flex-direction:column;gap:12px}
.k-astro-sheet__chip{margin:0;font-size:12px;font-weight:700;color:var(--k8-text)}
.k-astro-sheet-scrim{position:fixed;inset:0;z-index:135;background:rgba(22,10,52,.35)}
body.k-astro-sheet-open{overflow:hidden}
/* Compact language EN▾ — stacked LANGUAGE caption */
.k8-lang-compact{order:5;position:relative;flex:none}
.k8-lang-compact__btn{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:44px;max-height:52px;padding:3px 10px 4px;border:1px solid rgba(91,63,160,.12);border-radius:10px;background:var(--k8-surface);font:700 13.5px/1.15 var(--k-body);color:var(--k8-text);cursor:pointer}
.k8-lang-compact__btn:hover,.k8-lang-compact__btn[aria-expanded="true"]{border-color:rgba(232,184,75,.85);box-shadow:0 0 0 1px rgba(232,184,75,.22)}
.k8-lang-compact__value{display:inline-flex;align-items:center;gap:4px}
.k8-lang-panel{position:absolute;z-index:120;top:calc(100% + 6px);right:0;width:min(280px,92vw);max-height:min(70vh,420px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--k8-border);border-radius:12px;background:var(--k8-surface);box-shadow:var(--k-sh-md)}
.k8-lang-panel[hidden]{display:none!important}
.k8-lang-search{margin:8px;padding:8px 10px;border:1px solid var(--k8-border);border-radius:8px;font:600 13px/1.2 var(--k-body)}
.k8-lang-panel__list{overflow:auto;padding:0 6px 8px;max-height:min(56vh,340px)}
.k8-lang-group{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--k8-text-muted);padding:8px 8px 4px}
.k8-lang-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:8px;border-radius:8px;cursor:pointer;font:600 13px/1.25 var(--k-body);color:var(--k8-text)}
.k8-lang-opt code{margin-left:auto;font-size:11px;opacity:.7}
.k8-lang-opt.is-active,.k8-lang-opt:hover{background:var(--k-primary-050)}
.k8-lang-badge{font-size:10px;color:#8a5a12;font-weight:700}
/* Command-bar module dock (inside topbar — not a second permanent row). More ▾ inside primary seg. */
.k8-module-dock--command{order:2;flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;gap:0;flex-wrap:nowrap;overflow:visible;align-items:center}
.k8-primary-seg{display:inline-flex;align-items:center;gap:0;padding:2px;border:1px solid var(--k8-border);border-radius:10px;background:var(--k8-surface-muted);flex:0 1 auto;min-width:0;overflow:visible}
.k8-primary-seg .k8-module-dock__btn{height:30px;padding:0 10px;font-size:12px;border:0;border-radius:8px;background:transparent;color:var(--k8-text-muted);box-shadow:none}
.k8-primary-seg .k8-module-dock__btn:hover,.k8-primary-seg .k8-module-dock__btn:focus-visible{background:rgba(255,255,255,.7);color:var(--k8-text);border:0}
.k8-primary-seg .k8-module-dock__btn.is-active{background:linear-gradient(180deg,#FFF8E6,#F6D67A);color:#3a2a08;font-weight:700;box-shadow:none}
.k8-primary-seg .k8-module-dock__btn--more{height:30px;padding:0 10px;font-size:12px;border:0;border-radius:8px;background:transparent;color:var(--k8-text-muted)}
.k8-primary-seg .k8-module-dock__btn--more.is-active,.k8-primary-seg .k8-module-dock__more.is-active .k8-module-dock__btn--more{background:linear-gradient(180deg,#FFF8E6,#F6D67A);color:#3a2a08;font-weight:700}
.k8-module-dock--command .k8-module-dock__btn--export{display:none!important} /* EXPORT_REMOVED_FROM_TOP */
.k8-module-dock__more{position:relative;display:inline-flex;overflow:visible;flex:none}
.k8-module-dock__more-menu{position:absolute;z-index:120;top:calc(100% + 4px);right:0;left:auto;min-width:220px;width:max-content;max-width:min(320px,calc(100vw - 16px));max-height:min(70vh,420px);overflow:auto;box-sizing:border-box;background:var(--k8-surface);border:1px solid var(--k8-border);border-radius:12px;box-shadow:0 12px 28px rgba(18,11,40,.16);padding:6px;display:flex;flex-direction:column;gap:1px}
.k8-module-dock__more-menu[hidden]{display:none!important}
.k8-module-dock__more-group{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--k8-text-muted);padding:8px 10px 4px}
.k8-module-dock__more-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;color:var(--k8-text);cursor:pointer;text-decoration:none;white-space:nowrap}
.k8-module-dock__more-item:hover,.k8-module-dock__more-item:focus{background:rgba(91,63,160,.08);outline:0}
.k8-module-dock__btn--export.is-locked{opacity:.92}
.k8-more-narrow-only{display:none!important}
#k8ModuleDock.k8-module-dock,.k8-module-dock{display:flex;visibility:visible;overflow:visible}
/* Safety: if left nav is absent/hidden, body must take full width (never orphan 220px track). */
.k-native-complete:not(:has(> .k-complete-nav)),
.k-native-complete:has(> .k-complete-nav[hidden]),
.k-native-complete:has(> .k-complete-nav[style*="display: none"]),
.k-native-complete:has(> .k-complete-nav[style*="display:none"]),
.k-native-complete.is-nav-collapsed{
  grid-template-columns:minmax(0,1fr)!important;
}
.k-native-complete.is-nav-collapsed > .k-complete-nav{
  position:absolute;width:40px;min-width:40px;max-width:40px;overflow:hidden;padding:8px 4px;z-index:2
}
.k-native-complete.is-nav-collapsed > .k-complete-nav .k-complete-nav-head strong,
.k-native-complete.is-nav-collapsed > .k-complete-nav .k-complete-nav-head span,
.k-native-complete.is-nav-collapsed > .k-complete-nav > input,
.k-native-complete.is-nav-collapsed > .k-complete-nav .k-complete-group,
.k-native-complete.is-nav-collapsed > .k-complete-nav .k-complete-none{display:none!important}
.k-native-complete.is-nav-collapsed > .k-complete-nav .k-complete-nav-collapse{margin:0 auto}
.k-native-complete.is-nav-collapsed > .k-complete-body{min-width:0}
.k-complete-nav-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;position:sticky;top:0;background:inherit;z-index:1;padding-bottom:4px}
.k-complete-nav-collapse{flex:none;width:28px;height:28px;border:1px solid var(--k8-border);border-radius:8px;background:var(--k8-surface);color:var(--k8-text);cursor:pointer;font:700 14px/1 var(--k-body)}
.k-complete-nav-collapse:hover{border-color:var(--k8-gold)}
.k-topbar--focus .sp{order:3}
.k-topbar--focus .k-settings-group{order:4}
.k-topbar--focus .k-avatar-wrap{order:6;position:relative}
.k-avatar-menu{z-index:120}
.k-avatar-menu-item--danger{color:var(--k-bad)!important;font-weight:650}
.k-avatar-menu-item--danger:hover{background:#FDF0EE;color:#9a2a1f!important}
/* Breakpoints — Astro Settings surfaces (no second header row). ONE_ROW where viewport permits. */
@media(min-width:1366px){
  .k-topbar-astro-inline{display:inline-flex!important}
  .k-astro-settings-dd,.k-astro-gear{display:none!important}
  .k-topbar .k-ctrl-stack .k-topbar-ayan{max-width:150px}
  .k-topbar--command{flex-wrap:nowrap}
}
@media(min-width:1200px) and (max-width:1365px){
  .k-topbar-astro-inline{display:inline-flex!important}
  .k-astro-settings-dd,.k-astro-gear{display:none!important}
  .k-topbar .k-ctrl-stack .k-topbar-ayan{max-width:118px}
  .k-topbar .k-ctrl-stack .k-topbar-chart{max-width:96px}
  .k-identity{max-width:150px}
  .k-identity__event{display:none}
  .k8-primary-seg .k8-module-dock__btn{padding:0 7px;font-size:11.5px}
}
@media(min-width:1024px) and (max-width:1199px){
  .k-topbar-astro-inline{display:none!important}
  .k-astro-settings-dd{display:inline-flex!important}
  .k-astro-gear{display:none!important}
  .k8-module-dock--command .k8-module-dock__btn span[aria-hidden]{display:none}
  .k8-dock-hide-narrow{display:none!important}
  .k8-more-narrow-only{display:flex!important}
  .k-topbar--command{flex-wrap:nowrap}
}
@media(max-width:1023px){
  .k-topbar-astro-inline,.k-astro-settings-dd{display:none!important}
  .k-astro-gear{display:inline-flex!important;align-items:center;justify-content:center}
  .k-settings-group{padding:0;border:0;background:transparent}
  .k-topbar--command{flex-wrap:wrap;row-gap:6px;max-height:none}
  .k8-module-dock--command{order:7;flex:1 1 100%;flex-wrap:wrap;padding-top:4px}
  .k8-primary-seg{flex:1 1 auto}
  .k-identity{max-width:46vw}
  .k8-dock-hide-narrow{display:none!important}
  .k8-more-narrow-only{display:flex!important}
}
@media(max-width:720px){
  .k8-module-dock__more{flex:none}
  .k8-module-dock__more-menu{left:auto;right:0;width:min(320px,calc(100vw - 16px));max-width:min(320px,calc(100vw - 16px))}
  .k-topbar--focus .k-menu-toggle--focus{display:inline-flex}
  .k-identity__event{display:none}
  .k8-primary-seg .k8-module-dock__btn{padding:0 7px;font-size:11px}
}
/* Mobile small: natural page scroll + drawer TOC — unlock app shell. */
@media(max-width:899px){
  .k-app.k-app--focus{height:auto!important;max-height:none!important;min-height:0;overflow:visible!important}
  .k-app.k-app--focus .k-main,.k-content.k-content--focus{height:auto!important;max-height:none!important;overflow:visible!important;display:block}
  html:has(.k-app--focus),body.k-ui:has(.k-app--focus){height:auto!important;max-height:none!important;overflow:visible!important}
  .k-app.k-app--focus .k-native-complete{height:auto;min-height:0;max-height:none}
  .k-content.k-content--focus > .wtab[data-tab="complete"]{display:block!important;overflow:visible}
}
.k-app-menu{position:absolute;left:12px;top:58px;z-index:70;width:min(300px,92vw);max-height:min(72vh,520px);overflow:auto;padding:10px 8px 12px;border:1px solid var(--k-border);border-radius:var(--k-r);background:#fff;box-shadow:var(--k-sh-lg)}
.k-app-menu[hidden]{display:none!important}
.k-app-menu.open,.k-app-menu:not([hidden]){display:block}
.k-app-menu-head{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--k-muted);padding:4px 10px 8px}
.k-app-menu .k-nav-group{padding:4px 4px 0}
.k-app-menu .k-nav-label{padding:8px 10px 4px;color:var(--k-faint)}
.k-app-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--k-violet-800);text-decoration:none;font:600 13.5px/1.25 var(--k-body);cursor:pointer;text-align:left}
.k-app-menu-item:hover,.k-app-menu-item.active{background:var(--k-primary-050);color:var(--k-primary)}
.k-app-menu-item.primary{border:1px solid rgba(232,184,75,.45);color:var(--k-gold-deep);font-weight:700;margin:2px 0}
.k-app-menu-item.primary.active{background:linear-gradient(155deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900);border-color:transparent}
.k-app-menu-form{margin:0;width:100%}
.k-avatar-wrap{position:relative;display:inline-flex}
.k-avatar-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;min-width:220px;padding:6px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:#fff;box-shadow:var(--k-sh-md)}
.k-avatar-menu[hidden]{display:none!important}
.k-avatar-menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 11px;border-radius:8px;font:600 13px/1.3 var(--k-body);color:var(--k-violet-800);text-decoration:none;cursor:pointer}
.k-avatar-menu-item:hover,.k-avatar-menu-item.active{background:var(--k-primary-050);color:var(--k-primary)}
.k-avatar-menu-form{margin:0}
.k-app.k-app--focus.nav-open .k-scrim{display:block;position:fixed;inset:0;background:rgba(22,10,52,.35);z-index:55}
.k-app.k-app--focus .k-native-complete{flex:1 1 auto;height:auto;min-height:0;max-height:none}

/* Thin subtle scrollbars for report + left TOC */
.k-complete-nav,.k-complete-body{
  scrollbar-width:thin;scrollbar-color:rgba(91,63,160,.28) transparent
}
.k-complete-nav::-webkit-scrollbar,.k-complete-body::-webkit-scrollbar{width:8px;height:8px}
.k-complete-nav::-webkit-scrollbar-thumb,.k-complete-body::-webkit-scrollbar-thumb{background:rgba(91,63,160,.28);border-radius:8px}
.k-complete-nav::-webkit-scrollbar-track,.k-complete-body::-webkit-scrollbar-track{background:transparent}

/* canonical public header — compact chrome (logo + bar shorter, not competing with hero) */
.k-public-nav{--k-public-header-h:48px;position:sticky;top:0;z-index:60;background:linear-gradient(135deg,var(--k-violet-900),var(--k-violet-800));box-shadow:0 1px 0 rgba(255,255,255,.08)}
.k-public-nav-inner{display:flex;align-items:center;gap:12px;min-height:var(--k-public-header-h);width:100%;max-width:1160px;margin:0 auto;padding:6px 20px}
.k-public-nav .k-brand{position:static;padding:0;background:none;white-space:nowrap;gap:8px}
.k-public-nav .k-brand-mark{width:26px;height:26px}
.k-public-nav .k-brand b{font-size:17px;letter-spacing:-.01em}
.k-public-nav-spacer{flex:1}
.k-public-menu{display:flex;align-items:center;gap:10px}
.k-public-link{position:relative;color:#D9D2EC;text-decoration:none;font-size:13px;font-weight:600;line-height:32px;white-space:nowrap;transition:color .15s}
.k-public-link:hover,.k-public-link.active{color:#fff}
.k-public-link.active::after{content:"";position:absolute;left:25%;right:25%;bottom:1px;height:2px;border-radius:2px;background:var(--k-gold)}
.k-public-nav .k8-language-picker{color:#fff!important}
.k-public-nav .k8-language-picker>span{color:var(--k-gold-soft);font-size:12px}
.k-public-nav .k8-language-picker .k-select{width:108px!important;min-width:108px!important;max-width:108px!important;height:32px!important;padding:4px 8px!important;font-size:12.5px!important;border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;border-radius:8px!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.k-public-nav .k8-language-picker option{color:var(--k-violet-900)}
.k-public-nav .k-btn-sm{padding:6px 12px;font-size:12.5px;line-height:1.2;min-height:32px}
.k-public-login{border-color:rgba(255,255,255,.4);color:#fff}
.k-public-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:8px;border:0;background:none;cursor:pointer}
.k-public-menu-toggle span{display:block;height:2px;border-radius:2px;background:#F3EFFA;transition:transform .2s,opacity .2s}
.k-public-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.k-public-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.k-public-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.k-public-scrim{display:none}
body.k-public-menu-open{overflow:hidden}

/* ── beta banner ─────────────────────────────────────────── */
.k-beta{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900);font-size:12.5px;font-weight:600;padding:7px 16px;text-align:center}
.k-beta b{letter-spacing:.06em}

/* ── content area ────────────────────────────────────────── */
.k-content{padding:var(--k-6);max-width:1200px;width:100%;margin:0 auto}
/* New Kundli create: kill topbar→greeting dead air (owner one-screen). */
.k-content:has(.k8-create-panel){padding-top:4px;padding-bottom:10px}
.k-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--k-4);flex-wrap:wrap;margin-bottom:var(--k-5)}
.k-page-title{font-size:var(--k-fs-2xl)}
.k-page-sub{color:var(--k-muted);font-size:var(--k-fs-sm);margin-top:4px}
.k-page-actions{display:flex;gap:var(--k-2);flex-wrap:wrap}

/* ── cards ───────────────────────────────────────────────── */
.k-card{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-r-lg);box-shadow:var(--k-sh-sm)}
.k-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--k-3);padding:var(--k-4) var(--k-5);border-bottom:1px solid var(--k-border-2)}
.k-card-title{font-size:var(--k-fs-lg);display:flex;align-items:center;gap:9px}
.k-card-title .k-ic{color:var(--k-primary)}
.k-card-body{padding:var(--k-5)}

/* ── stat / KPI cards ────────────────────────────────────── */
.k-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--k-4)}
.k-stat{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-r-lg);box-shadow:var(--k-sh-sm);padding:var(--k-5);display:flex;gap:var(--k-4);align-items:flex-start}
.k-stat-ic{width:44px;height:44px;border-radius:var(--k-r);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.k-stat-ic.violet{background:var(--k-primary-050);color:var(--k-primary)}
.k-stat-ic.gold{background:rgba(232,184,75,.18);color:var(--k-gold-deep)}
.k-stat-ic.saffron{background:rgba(210,73,47,.12);color:var(--k-saffron)}
.k-stat-ic.green{background:rgba(31,157,87,.12);color:var(--k-ok)}
.k-stat-label{font-size:var(--k-fs-sm);color:var(--k-muted);font-weight:600}
.k-stat-value{font-size:var(--k-fs-2xl);font-weight:700;color:var(--k-violet-800);line-height:1.15;margin-top:2px;font-family:var(--k-disp)}
.k-stat-sub{font-size:var(--k-fs-xs);color:var(--k-faint);margin-top:3px}

/* ── buttons ─────────────────────────────────────────────── */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--k-r-sm);font-family:var(--k-body);font-weight:700;font-size:var(--k-fs-base);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s;line-height:1.2}
.k-btn:hover{transform:translateY(-1px);box-shadow:var(--k-sh-sm)}
.k-btn-primary{background:linear-gradient(150deg,var(--k-primary),var(--k-primary-700));color:#fff}
.k-btn-gold{background:linear-gradient(150deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900)}
.k-btn-gold-outline{background:transparent;color:var(--k-gold-deep);border:1.5px solid rgba(232,184,75,.75);font-weight:700}
.k-btn-gold-outline:hover{background:rgba(232,184,75,.12);color:#3a2a08}
.k-btn-line{border-color:var(--k-primary);color:var(--k-primary);background:transparent}
.k-btn-line:hover{background:var(--k-primary-050)}
.k-btn-subtle{background:var(--k-primary-050);color:var(--k-primary)}
.k-btn-sm{padding:6px 12px;font-size:var(--k-fs-sm);border-radius:var(--k-r-sm)}
.k-btn-lg{padding:14px 26px;font-size:var(--k-fs-md)}

/* ── badges / chips ──────────────────────────────────────── */
.k-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 11px;border-radius:var(--k-r-pill);letter-spacing:.03em}
.k-badge-violet{background:var(--k-primary-050);color:var(--k-primary)}
.k-badge-gold{background:rgba(232,184,75,.2);color:var(--k-gold-deep)}
.k-badge-ok{background:rgba(31,157,87,.13);color:var(--k-ok)}
.k-badge-muted{background:rgba(107,100,136,.12);color:var(--k-muted)}

/* ── feature tiles ───────────────────────────────────────── */
.k-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--k-3)}
.k-tile{display:flex;flex-direction:column;gap:8px;background:var(--k-surface);border:1px solid var(--k-border);border-top:3px solid var(--k-gold);border-radius:var(--k-r);padding:var(--k-4);text-decoration:none;color:var(--k-text);box-shadow:var(--k-sh-xs);transition:transform .14s,box-shadow .14s;min-height:96px}
.k-tile:hover{transform:translateY(-2px);box-shadow:var(--k-sh-md)}
.k-tile-ic{font-size:24px;line-height:1}
.k-tile b{font-size:var(--k-fs-base);color:var(--k-violet-800)}
.k-tile span{font-size:var(--k-fs-xs);color:var(--k-muted);line-height:1.45}

/* ── saved-kundli cards ──────────────────────────────────── */
.k-kcard{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-r);padding:var(--k-4);box-shadow:var(--k-sh-xs);display:flex;flex-direction:column;gap:var(--k-2)}
.k-kcard-name{font-size:var(--k-fs-md);font-weight:700;color:var(--k-violet-800);display:flex;align-items:center;gap:8px}
.k-kcard-meta{font-size:var(--k-fs-sm);color:var(--k-muted)}
.k-kcard-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}

/* ── forms ───────────────────────────────────────────────── */
.k-field{display:flex;flex-direction:column;gap:6px}
.k-label{font-size:var(--k-fs-xs);font-weight:700;color:var(--k-primary);text-transform:uppercase;letter-spacing:.05em}
.k-input,.k-select-in{width:100%;padding:11px 13px;border:1.5px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2);font-family:var(--k-body);font-size:var(--k-fs-base);color:var(--k-text)}
.k-input:focus,.k-select-in:focus{outline:none;border-color:var(--k-primary);box-shadow:0 0 0 3px var(--k-primary-100)}
.k-input::placeholder{color:var(--k-faint)}
.k-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--k-4)}

/* ── tables ──────────────────────────────────────────────── */
.k-table{width:100%;border-collapse:collapse;font-size:var(--k-fs-base)}
.k-table th{background:var(--k-primary-050);color:var(--k-primary-700);text-align:left;padding:10px 13px;font-size:var(--k-fs-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.k-table td{padding:11px 13px;border-bottom:1px solid var(--k-border-2)}
.k-table tr:hover td{background:var(--k-surface-2)}

/* ── tabs ────────────────────────────────────────────────── */
.k-tabs-wrap{display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--k-border);margin-bottom:var(--k-4);position:relative}
.k-tabs-wrap--flush{margin-top:2px}
.k-tabs{display:flex;gap:2px;flex:1;min-width:0;flex-wrap:nowrap;overflow:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:0;margin-bottom:0}
.k-tabs::-webkit-scrollbar{display:none;height:0}
.k-tabs>*{min-width:0}
.k-tab{padding:8px 11px;font-size:12.5px;font-weight:600;color:var(--k-muted);text-decoration:none;border-bottom:2.5px solid transparent;cursor:pointer;flex:0 0 auto;white-space:nowrap}
.k-tab.active{color:var(--k-primary);border-bottom-color:var(--k-gold)}
.k-tabs button.k-tab{border-top:0;border-left:0;border-right:0;background:transparent;font-family:var(--k-body)}
.k-tab-export{margin-left:4px;padding:7px 12px;border-radius:8px 8px 0 0;border-bottom:2.5px solid transparent;background:linear-gradient(180deg,#F6D67A,#E8B84B);color:#3a2a08;font-weight:700}
.k-tab-export:hover,.k-tab-export:focus-visible{color:#241808;filter:brightness(1.03)}
.k-tabs button.k-tab-export{border:0;border-bottom:2.5px solid transparent}
.k-tabs-more{position:relative;flex:none;margin-bottom:0}
.k-tabs-more-btn{border-top:0;border-left:0;border-right:0;background:transparent;font-family:var(--k-body)}
.k-tabs-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:180px;max-height:min(60vh,360px);overflow:auto;padding:6px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:#fff;box-shadow:var(--k-sh-md)}
.k-tabs-more-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;font:600 12.5px/1.35 var(--k-body);color:var(--k-violet-800);cursor:pointer}
.k-tabs-more-item:hover,.k-tabs-more-item.active{background:var(--k-primary-050);color:var(--k-primary)}
.k-new-plus{min-width:38px;padding-left:0;padding-right:0;font-size:18px;font-weight:800;line-height:1}
.k-kundli-head-compact{margin-bottom:var(--k-3);align-items:center}
.k-kundli-head-compact .k-page-title{font-size:clamp(1.25rem,1.1rem + .6vw,1.65rem);line-height:1.2}
.k-kundli-head-compact .k-page-sub{margin-top:2px}
/* Complete Report split pane: nav stays put while body scrolls to Guidance (no TIMING dump). */
.k-native-complete{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:0;border:1px solid rgba(41,57,152,.14);border-radius:14px;background:#fff;overflow:hidden;flex:1 1 auto;height:100%;min-height:0;max-height:none}
.k-complete-nav{border-right:1px solid rgba(41,57,152,.12);padding:12px;background:linear-gradient(180deg,#FFFEFA,#FAF8FF);overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain;overflow-anchor:none}
.k-complete-nav-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;position:sticky;top:0;background:inherit;z-index:1;padding-bottom:4px}
.k-complete-nav-head strong{color:#241155;flex:1 1 auto}
.k-complete-nav-head span{font-size:11px;color:#6d6480;font-weight:700}
.k-complete-nav input[type=search]{width:100%;box-sizing:border-box;margin-bottom:10px;padding:9px 10px;border:1px solid rgba(41,57,152,.24);border-radius:8px;font:inherit;position:sticky;top:28px;z-index:1;background:#fff}
.k-complete-group{margin-bottom:12px}
.k-complete-group h3{margin:0 0 6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6d6480}
.k-complete-link{display:flex;gap:8px;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:8px;cursor:pointer;font:600 12.5px/1.35 inherit;color:#2a2450}
.k-complete-link:hover,.k-complete-link.is-active{background:#F2EEFB;color:#241155}
.k-complete-link.is-active{box-shadow:inset 3px 0 0 var(--k-gold)}
.k-complete-link--featured{font-weight:700}
/* .k-complete-nav pins: sticky research chip strip removed — shodash/shadbal/sadesati/birth_transit
 * are normal numbered .k-complete-link rows inside TECHNICAL / LIFE / TIMING (search still indexes them).
 * Keep display:none as a safety net if stale HTML ever reappears. */
.k-complete-nav .k-complete-pins,.k-complete-pins{display:none!important}
.k-complete-nav .k-complete-pin,.k-complete-pin{display:none!important}
.k-complete-num{flex:none;min-width:1.6em;color:#8a7f9e;font-size:11px}
.k-complete-none{color:#b0413e;font-size:12px;font-weight:600}
.k-complete-body{padding:12px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth} /* MAIN_REPORT_SCROLL */
.k-complete-print{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;padding:6px 0 8px;border:0;border-bottom:1px solid rgba(91,63,160,.08);border-radius:0;background:linear-gradient(180deg,#FFFEFA,#FAF8FF);position:sticky;top:0;z-index:3;box-shadow:0 6px 10px -8px rgba(18,11,40,.18)}
.k-complete-print .k-btn{min-height:32px}
.k-complete-print .k-btn-gold{margin-left:auto}
.k-complete-print-status{flex:1 1 160px;min-width:120px;font-size:12.5px;font-weight:700;color:#5a3d12;line-height:1.35}
.k-complete-print-status:empty{display:none}
/* Export/PDF dialogs are hoisted to body; keep z-index above dock/focus chrome. */
body > .k8x-backdrop{z-index:200}
body > .k8x{z-index:201}
.k-complete-body .k8-report-native .main{margin:0}
.k-complete-body .k8-report-native.k8-single-section .page:not(.k8-section-active){display:none!important}
.k-complete-body .k8-report-native #cover{scroll-margin-top:8px}
.k-complete-body .k8-report-native #personal-guidance,.k-complete-body .k8-report-native #guidance{scroll-margin-top:8px}
/* Varshphal embed: fill Complete Report right pane (years selected inside iframe UI) */
.k-complete-body #varshphal,
#varshphal{max-width:100%;min-width:0}
.k-complete-body #varshphal iframe,
#varshphal iframe{width:100%!important;max-width:100%;display:block;box-sizing:border-box}
/* Create Kundli: full-width form (Recent rail removed) */
.k-form-rail,.k-form-rail--full{display:block;max-width:100%}
.k-form-rail > .panel{box-shadow:var(--k-sh-sm);border:1px solid var(--k-border);border-radius:var(--k-r-lg);background:#fff}
@media(max-width:900px){
  .k-native-complete{grid-template-columns:1fr;max-height:none;min-height:0}
  .k-complete-nav{border-right:0;border-bottom:1px solid rgba(41,57,152,.12);max-height:200px}
  .k-complete-body{max-height:none;overflow:visible}
}
.k-kundli-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:var(--k-4);padding:10px 12px;border:1px solid var(--k-border);border-radius:var(--k-r);background:#fff}
.k-kundli-meta>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.k-kundli-meta small{color:var(--k-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.k-kundli-meta b{color:var(--k-violet-800);font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.k-kundli-meta span{color:var(--k-muted);font-size:11px;overflow-wrap:anywhere}
.k-inline-form{margin:0;display:inline}
.k-inline-form select{max-width:100%;font:inherit;padding:4px 6px;border:1px solid var(--k-border);border-radius:6px;background:#fff}
.k-nav-form{margin:0;width:100%}
.k-nav-form button.k-nav-item{opacity:1;color:#EDE9F7;background:rgba(255,255,255,.04)}
.k-nav-form button.k-nav-item:hover,.k-nav-form button.k-nav-item:focus{opacity:1;color:#fff;background:rgba(255,255,255,.1)}
body.k-ui{overflow-x:hidden}
.k-content,.k-main{overflow-x:clip}

/* ── empty state ─────────────────────────────────────────── */
.k-empty{text-align:center;padding:var(--k-10) var(--k-5)}
.k-empty-ic{width:64px;height:64px;border-radius:50%;background:var(--k-primary-050);color:var(--k-primary);display:inline-flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:var(--k-4)}
.k-empty-title{font-size:var(--k-fs-lg);margin-bottom:6px}
.k-empty-text{color:var(--k-muted);font-size:var(--k-fs-sm);max-width:34em;margin:0 auto var(--k-5)}

/* ── astrology motif accents (subtle) ───────────────────── */
.k-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--k-violet-800),var(--k-primary) 70%,#4A3A8F);color:#fff;border-radius:var(--k-r-lg);padding:var(--k-8);box-shadow:var(--k-sh-md)}
.k-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(232,184,75,.22);box-shadow:0 0 0 24px rgba(232,184,75,.05),inset 0 0 0 18px rgba(232,184,75,.05)}
.k-hero h1{color:#fff;font-size:var(--k-fs-2xl);position:relative}
.k-hero p{color:rgba(255,255,255,.82);position:relative;margin:8px 0 0;max-width:40em}

/* ══ PREMIUM POLISH (Phase 1.5) ══════════════════════════ */
/* Glassmorphism card — frosted translucent, thin gold border, layered shadow.
   @supports gates backdrop-blur; mobile drops blur for performance/readability. */
.k-glass{
  background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(250,248,255,.68));
  border:1px solid rgba(232,184,75,.38);
  border-radius:var(--k-r-lg);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,var(--k-sh-md),0 24px 60px rgba(36,24,82,.14);
}
@supports((backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px))){
  .k-glass{background:linear-gradient(150deg,rgba(255,255,255,.62),rgba(250,248,255,.42));-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
  /* glass ON a dark hero */
  .k-glass-dark{background:linear-gradient(150deg,rgba(60,44,120,.5),rgba(36,17,85,.38));-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(232,184,75,.34);color:#F3EFFA;border-radius:var(--k-r-lg);box-shadow:var(--k-sh-lg)}
}
.k-glass-dark{background:linear-gradient(150deg,rgba(60,44,120,.7),rgba(36,17,85,.6));border:1px solid rgba(232,184,75,.3);color:#F3EFFA;border-radius:var(--k-r-lg);box-shadow:var(--k-sh-lg)}
@media(max-width:640px){ .k-glass,.k-glass-dark{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--k-surface)} }

/* Rich hero: deep violet -> indigo with a soft radial gold glow */
.k-hero-rich{position:relative;overflow:hidden;border-radius:var(--k-r-lg);color:#fff;
  background:
    radial-gradient(130% 100% at 84% 14%,rgba(232,184,75,.30),rgba(232,184,75,0) 46%),
    radial-gradient(100% 130% at 8% 106%,rgba(120,86,200,.55),rgba(120,86,200,0) 52%),
    radial-gradient(90% 90% at 50% 50%,rgba(75,58,143,.45),rgba(75,58,143,0) 70%),
    linear-gradient(135deg,#241155 0%,#33206E 38%,#4A3A8F 72%,#5B3FA0 100%);
  box-shadow:var(--k-sh-lg)}
.k-hero-rich::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.5) .5px,transparent .5px);background-size:22px 22px;opacity:.06;pointer-events:none}

/* Rotating nakshatra wheel (homepage brand motif; respects reduced-motion) */
.k-wheel-wrap{position:relative;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 20px 60px rgba(232,184,75,.22))}
.k-wheel{width:min(400px,84vw);height:auto}
@keyframes k-spin{to{transform:rotate(360deg)}}
@keyframes k-spinR{to{transform:rotate(-360deg)}}
.k-ring-out{transform-origin:center;animation:k-spin 140s linear infinite}
.k-ring-in{transform-origin:center;animation:k-spinR 96s linear infinite}
@media(prefers-reduced-motion:reduce){.k-ring-out,.k-ring-in{animation:none}}

/* Visual chart-style selector — 3 mini-chart thumbnails (premium vs dropdown) */
.k-chartsel{display:flex;gap:10px;flex-wrap:wrap}
.k-chartsel-opt{cursor:pointer;border:1.5px solid var(--k-border);border-radius:var(--k-r);padding:8px 8px 6px;background:var(--k-surface-2);text-align:center;transition:border-color .15s,box-shadow .15s,transform .12s;width:84px}
.k-chartsel-opt:hover{transform:translateY(-2px);box-shadow:var(--k-sh-sm)}
.k-chartsel-opt svg{display:block;margin:0 auto}
.k-chartsel-opt span{display:block;font-size:11px;font-weight:700;color:var(--k-muted);margin-top:5px}
.k-chartsel-opt.active{border-color:var(--k-gold);box-shadow:0 0 0 3px rgba(232,184,75,.22)}
.k-chartsel-opt.active span{color:var(--k-primary)}

/* Micro-polish: unified smooth easing on interactive elements */
.k-btn,.k-tile,.k-nav-item,.k-select,.k-chartsel-opt,.k-stat{transition-timing-function:cubic-bezier(.4,0,.2,1)}
.k-stat{transition:transform .15s,box-shadow .15s}
.k-stat:hover{transform:translateY(-2px);box-shadow:var(--k-sh-md)}

/* ══ PHASE 1.6 — compact dashboard + rich bg + homepage sections ══ */
/* Rich content background (dashboard parity with homepage) */
.k-content.rich{max-width:none;padding:0}
.k-content.rich .k-rich-bg{padding:var(--k-5) var(--k-6);
  background:
    radial-gradient(90% 70% at 88% 0%,rgba(232,184,75,.14),rgba(232,184,75,0) 42%),
    radial-gradient(80% 90% at 6% 100%,rgba(91,63,160,.34),rgba(91,63,160,0) 50%),
    linear-gradient(135deg,#1B0E3C 0%,#241155 46%,#33206E 100%);min-height:calc(100vh - 96px)}
.k-content.rich .k-page-title{color:#fff}
.k-content.rich .k-page-sub{color:rgba(255,255,255,.72)}

/* Compact greeting (one line, no hero) */
.k-greet{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:var(--k-3)}
.k-greet h1{font-size:var(--k-fs-xl);color:#fff}
.k-greet .k-page-sub{margin:0}

/* Compact 3-column form (fits 1366x768 without scroll) */
.k-form3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}
.k-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.k-form3 .k-field{gap:4px}
.k-form3 .k-label{font-size:10.5px;letter-spacing:.04em}
.k-form3 .k-input,.k-form3 .k-select-in{padding:8px 11px;font-size:var(--k-fs-sm);border-radius:var(--k-r-sm)}
/* field focus → gold glow */
.k-input:focus,.k-select-in:focus{border-color:var(--k-gold);box-shadow:0 0 0 3px rgba(232,184,75,.28)}

/* Small chart-style selector (compact one-row) */
.k-chartsel.sm .k-chartsel-opt{width:60px;padding:5px 5px 3px}
.k-chartsel.sm .k-chartsel-opt svg{width:40px;height:40px}
.k-chartsel.sm .k-chartsel-opt span{font-size:9.5px;margin-top:2px}

/* Homepage: stats bar */
.k-statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--k-border);border-radius:var(--k-r);overflow:hidden;border:1px solid var(--k-border)}
.k-statbar > div{background:var(--k-surface);padding:16px 18px;text-align:center}
.k-statbar b{display:block;font-family:var(--k-disp);font-size:var(--k-fs-xl);color:var(--k-primary);font-weight:600}
.k-statbar span{font-size:var(--k-fs-xs);color:var(--k-muted)}

/* Homepage: category header */
.k-cat{display:flex;align-items:center;gap:10px;margin:var(--k-8) 0 var(--k-3);font-family:var(--k-disp);font-size:var(--k-fs-lg);color:var(--k-violet-800);font-weight:600}
.k-cat .k-ic{font-size:20px}
.k-cat small{font-family:var(--k-body);font-weight:500;color:var(--k-muted);font-size:12.5px}
.k-cat::after{content:'';flex:1;height:1px;background:var(--k-border)}
.k-fnew{font-size:9px;font-weight:800;letter-spacing:.06em;background:var(--k-saffron);color:#fff;border-radius:99px;padding:1px 7px;vertical-align:middle;margin-left:5px}

/* Homepage: 53-section list (multi-column, elegant) */
.k-seclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px}
.k-secitem{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--k-border-2);font-size:var(--k-fs-sm)}
.k-secitem i{font-style:normal;font-family:var(--k-disp);font-size:12px;color:var(--k-gold-deep);min-width:22px;font-weight:600}
.n53{font-family:var(--k-disp);font-size:56px;font-weight:600;color:var(--k-gold);line-height:1}

/* Homepage: steps */
.k-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--k-4)}
.k-step{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-r);padding:var(--k-5);box-shadow:var(--k-sh-xs)}
.k-step .sn{width:38px;height:38px;border-radius:50%;background:linear-gradient(150deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900);display:flex;align-items:center;justify-content:center;font-family:var(--k-disp);font-weight:700;margin-bottom:10px}

/* Homepage: timeline */
.k-tline{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--k-4);position:relative}
.k-tl{padding-top:18px;border-top:2px solid var(--k-border);position:relative}
.k-tl::before{content:'';position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--k-gold)}
.k-tl b{font-family:var(--k-disp);font-size:var(--k-fs-lg);color:var(--k-primary)}
.k-tl p{font-size:var(--k-fs-sm);color:var(--k-muted);margin:6px 0 0}

/* Homepage: beta band (replaces old pricing) */
.k-betaband{background:linear-gradient(135deg,var(--k-primary-050),#fff);border:1px solid rgba(232,184,75,.4);border-radius:var(--k-r-lg);padding:var(--k-6);text-align:center;box-shadow:var(--k-sh-sm)}

@media(max-width:900px){.k-statbar,.k-steps,.k-tline{grid-template-columns:1fr 1fr}.k-form3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.k-statbar,.k-steps,.k-tline,.k-form3{grid-template-columns:1fr}}

/* ── shared site footer ── */
.k-footer{background:linear-gradient(135deg,var(--k-violet-900),#1F1147);color:rgba(237,233,247,.68);border-top:2px solid var(--k-gold);margin-top:44px;padding:38px 0 22px}
.k-footer-in{max-width:1140px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.k-footer h4{color:var(--k-gold-soft);font-size:13px;margin-bottom:10px;font-family:var(--k-body);font-weight:700;letter-spacing:.03em}
.k-footer a{color:rgba(237,233,247,.74);text-decoration:none;font-size:13.5px}
.k-footer-col a{display:block;padding:3px 0}
.k-footer a:hover{color:var(--k-gold-soft)}
.k-footer-brand p{font-size:13px;margin-top:10px;max-width:26em;line-height:1.7}
.k-footer-note{max-width:1140px;margin:26px auto 0;padding:16px 24px 0;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:12px;line-height:1.7}
.k-footer-note span{opacity:.82}
@media(max-width:720px){.k-footer-in{grid-template-columns:1fr 1fr}.k-footer-brand{grid-column:1/-1}}
@media(max-width:460px){.k-footer-in{grid-template-columns:1fr}}

/* ══ COMPAT LAYER — maps legacy lib/theme.php classes to the new violet+gold
   system so existing page bodies (.panel/.btn/.field/.data/.chip/…) restyle
   without per-page markup rewrites. Presentation only. ══════════════════ */
.k-ui .panel{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-r-lg);padding:var(--k-5);margin-bottom:var(--k-4);box-shadow:var(--k-sh-sm)}
.k-ui .panel h3{font-family:var(--k-disp);color:var(--k-violet-800);font-size:var(--k-fs-lg);margin-bottom:var(--k-3)}
.k-ui .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--k-r-sm);font-weight:700;font-size:var(--k-fs-base);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s;line-height:1.2;background:linear-gradient(150deg,var(--k-primary),var(--k-primary-700));color:#fff}
.k-ui .btn:hover{transform:translateY(-1px);box-shadow:var(--k-sh-sm)}
.k-ui .btn.btn-gold,.k-ui .btn-gold{background:linear-gradient(150deg,var(--k-gold-soft),var(--k-gold));color:var(--k-violet-900)}
.k-ui .btn.btn-line,.k-ui .btn-line,.k-ui .btn.line{background:transparent;border-color:var(--k-primary);color:var(--k-primary)}
.k-ui .btn.btn-red,.k-ui .btn-red{background:var(--k-saffron);color:#fff}
.k-ui .btn.btn-sm,.k-ui .btn-sm{padding:7px 13px;font-size:var(--k-fs-sm);border-radius:var(--k-r-sm)}
.k-ui .field label{display:block;font-size:var(--k-fs-xs);font-weight:700;color:var(--k-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.k-ui .field input,.k-ui .field select,.k-ui input[type=text],.k-ui input[type=date],.k-ui input[type=time],.k-ui input[type=email],.k-ui input[type=tel],.k-ui input[type=password],.k-ui input[type=number],.k-ui select{width:100%;padding:10px 12px;border:1.5px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2);font-family:var(--k-body);font-size:var(--k-fs-base);color:var(--k-text)}
.k-ui .field input:focus,.k-ui .field select:focus,.k-ui input:focus,.k-ui select:focus{outline:none;border-color:var(--k-gold);box-shadow:0 0 0 3px rgba(232,184,75,.26)}
.k-ui .grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--k-4)}
.k-ui .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--k-3)}
.k-ui .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--k-3)}
.k-ui table.data{width:100%;border-collapse:collapse;font-size:var(--k-fs-base)}
.k-ui table.data th{background:var(--k-primary-050);color:var(--k-primary-700);text-align:left;padding:9px 12px;font-size:var(--k-fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.k-ui table.data td{padding:10px 12px;border-bottom:1px solid var(--k-border-2)}
.k-ui table.data.kv td:first-child{font-weight:600;color:var(--k-primary);width:42%}
.k-ui .chip{display:inline-block;font-size:11px;font-weight:700;padding:3px 11px;border-radius:var(--k-r-pill);text-transform:uppercase;letter-spacing:.03em;background:var(--k-primary-050);color:var(--k-primary)}
.k-ui .chip.ok{background:rgba(31,157,87,.13);color:var(--k-ok)}.k-ui .chip.bad{background:rgba(196,58,43,.12);color:var(--k-bad)}
.k-ui .chip.warn,.k-ui .chip.gd{background:rgba(201,150,23,.16);color:#8A6710}.k-ui .chip.mut{background:rgba(107,100,136,.12);color:var(--k-muted)}
.k-ui .notice{background:rgba(232,184,75,.1);border:1px solid rgba(232,184,75,.36);border-radius:var(--k-r-sm);padding:11px 15px;font-size:var(--k-fs-sm);color:#7A5C0E;margin:12px 0}
.k-ui .mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.k-ui .imp{background:linear-gradient(90deg,var(--k-saffron),#A33420);color:#fff;padding:10px 18px;border-radius:var(--k-r-sm);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.k-ui .imp a{color:#fff;font-weight:700}
.k-ui h1,.k-ui h2{font-family:var(--k-disp);color:var(--k-violet-800)}

/* ── utilities ───────────────────────────────────────────── */
.k-row{display:flex;gap:var(--k-4);flex-wrap:wrap}
.k-grid-2{display:grid;grid-template-columns:2fr 1fr;gap:var(--k-4)}
.mt-4{margin-top:var(--k-4)} .mt-5{margin-top:var(--k-5)} .mt-6{margin-top:var(--k-6)}
.k-note{background:rgba(232,184,75,.1);border:1px solid rgba(232,184,75,.35);border-radius:var(--k-r-sm);padding:11px 15px;font-size:var(--k-fs-sm);color:#7A5C0E}

/* ── responsive: sidebar -> offcanvas + bottom-nav feel ──── */
@media(max-width:980px){
  .k-stat-grid{grid-template-columns:1fr 1fr}
  .k-grid-2{grid-template-columns:1fr}
}
/* Tablet (641-860px): a slim persistent icon-only rail instead of the phone's
   fully-collapsed off-canvas drawer — enough width for a rail, not for the
   full 248px labelled sidebar. Hover/focus shows the label via native title
   tooltip (k-nav-txt is visually hidden, not removed, so it stays in the a11y
   tree for screen readers). */
@media(min-width:641px) and (max-width:860px){
  .k-app{grid-template-columns:64px 1fr}
  .k-app.k-app--focus{grid-template-columns:1fr}
  .k-brand{justify-content:center;padding:var(--k-4) var(--k-2)}
  .k-brand b{display:none}
  .k-nav-label{display:none}
  .k-nav-group{padding:var(--k-2) var(--k-1) 0}
  .k-nav-item{justify-content:center;padding:11px 6px;gap:0}
  .k-nav-item .k-ic{font-size:18px}
  .k-nav-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .k-nav-badge{display:none}
}
@media(max-width:640px){
  .k-app{grid-template-columns:1fr}
  .k-sidebar{position:fixed;left:0;top:0;width:82%;max-width:320px;transform:translateX(-100%);transition:transform .22s;z-index:60;box-shadow:var(--k-sh-lg)}
  .k-app.nav-open .k-sidebar{transform:none}
  .k-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .k-scrim{display:none;position:fixed;inset:0;background:rgba(22,10,52,.5);z-index:55}
  .k-app.nav-open .k-scrim{display:block}
  .k-hide-sm{display:none!important}
}
@media(max-width:900px){
  .k-public-nav-inner{gap:8px;padding:9px 16px}
  .k-public-menu-toggle{display:flex}
  .k-public-menu{position:fixed;top:0;right:0;z-index:70;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:min(84vw,320px);height:100dvh;padding:74px 20px 24px;overflow-y:auto;background:linear-gradient(160deg,var(--k-violet-900),#1F1147);box-shadow:-10px 0 40px rgba(0,0,0,.4);transform:translateX(102%);transition:transform .24s ease}
  .k-public-menu.open{transform:none}
  .k-public-link{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px;line-height:34px}
  .k-public-link.active::after{left:6px;right:auto;bottom:3px;width:34px}
  .k-public-nav .k8-language-picker{display:flex!important;width:100%;margin:6px 0}
  .k-public-nav .k8-language-picker .k-select{width:100%!important;min-width:0!important;max-width:none!important;padding:10px!important;font-size:15px}
  .k-public-menu .k-btn{justify-content:center;width:100%;padding:12px;font-size:15px}
  .k-public-scrim{position:fixed;inset:0;z-index:65;display:block;border:0;background:rgba(12,6,30,.55);opacity:0;pointer-events:none;transition:opacity .24s}
  .k-public-scrim.open{opacity:1;pointer-events:auto}
}
@media(max-width:380px){
  .k-public-nav .k-brand b{font-size:16px}
  .k-public-nav .k-brand-mark{width:24px;height:24px}
}
@media(max-width:820px){ .k-ui .grid3,.k-ui .grid4{grid-template-columns:1fr 1fr} }
@media(max-width:560px){
  .k-stat-grid{grid-template-columns:1fr}
  .k-form-grid{grid-template-columns:1fr}
  .k-ui .grid2,.k-ui .grid3,.k-ui .grid4{grid-template-columns:1fr}
  .k-content{padding:var(--k-4)}
  .k-ui table.data{display:block;overflow-x:auto;white-space:nowrap}
}
@media print{
  .k-sidebar,.k-topbar,.k-beta,.k-app-menu,.k-avatar-menu,.k-scrim,.wa-float,.print-hide,.noprint{display:none!important}
  .k-app,.k-app.k-app--focus{grid-template-columns:1fr;height:auto!important;max-height:none!important;overflow:visible!important}
  .k-app.k-app--focus .k-main,.k-content.k-content--focus{height:auto!important;max-height:none!important;overflow:visible!important}
  html:has(.k-app--focus),body.k-ui:has(.k-app--focus){height:auto!important;overflow:visible!important}
}

/* Post-login journey */
.k-eyebrow{margin:0 0 4px;color:var(--k-primary);font-size:var(--k-fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.k-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:var(--k-6);align-items:center;padding:var(--k-8);border-radius:var(--k-r-lg);color:#fff;background:linear-gradient(135deg,var(--k-violet-900),var(--k-violet-700));box-shadow:var(--k-sh-md)}
.k-dashboard-hero h2{color:#fff;font-size:var(--k-fs-2xl);margin:12px 0 6px}
.k-dashboard-hero p{color:rgba(255,255,255,.82);max-width:48rem;margin:0 0 18px}
.k-requirements{list-style:none;counter-reset:req;margin:0;padding:16px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(232,184,75,.32);border-radius:var(--k-r)}
.k-requirements li{counter-increment:req;display:flex;align-items:center;gap:10px;padding:9px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.k-requirements li:last-child{border:0}
.k-requirements li::before{content:counter(req);display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--k-gold);color:var(--k-violet-900);font-weight:800;flex:none}
.k-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:var(--k-4);align-items:start}
.k-dashboard-grid--simple{margin-top:var(--k-4);grid-template-columns:1fr;align-items:stretch;max-width:920px}
.k-dashboard-grid--simple > .k-dashboard-hero{min-height:100%;width:100%}
.k-recent-list{display:grid;gap:10px}
.k-recent-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--k-border-2)}
.k-recent-row:last-child{border-bottom:0}
.k-recent-main{min-width:0}
.k-recent-main h3{font-family:var(--k-body);font-size:var(--k-fs-md)}
.k-recent-main p{margin:3px 0;color:var(--k-muted);font-size:var(--k-fs-sm);overflow-wrap:anywhere}
.k-recent-main small{color:var(--k-faint)}
.k-recent-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.k-quick-tools{display:grid;gap:9px}
.k-quick-tools a{display:flex;flex-direction:column;padding:12px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2);text-decoration:none;color:var(--k-text)}
.k-quick-tools a:hover{border-color:var(--k-primary);background:var(--k-primary-050)}
.k-quick-tools small{color:var(--k-muted)}
.k-empty-compact{padding:var(--k-6) var(--k-4)}

.k-ui :where(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--k-gold);outline-offset:3px}
.k-btn[disabled],.k-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

@media(max-width:900px){.k-dashboard-hero,.k-dashboard-grid,.k-dashboard-grid--simple{grid-template-columns:1fr}}
@media(max-width:620px){
  .k-dashboard-hero{padding:var(--k-5)}
  .k-recent-row{align-items:flex-start;flex-direction:column}
  .k-recent-actions{justify-content:flex-start;width:100%}
  .k-recent-actions .k-btn{flex:1}
  .k-toplink-help{display:none}
  .k-topbar{padding:0 var(--k-3)}
  .k-topbar .k-select{width:98px;max-width:98px}
  .k-app.k-app--focus .k-native-complete{height:auto;min-height:0;max-height:none}
  .k-content.k-content--focus{padding-left:var(--k-3);padding-right:var(--k-3)}
}
@media(max-width:390px){
  .k-topbar{gap:8px}
  .k-topbar .k-select{width:88px;max-width:88px;padding-left:8px;padding-right:8px}
  .k-topbar-title{max-width:min(36vw,128px);font-size:var(--k-fs-sm)}
  .k-complete-nav{max-height:160px}
  .k-complete-body{padding:10px}
  .k-complete-body .k8-report-native table.dt,
  .k-complete-body .k8-report-native .dt{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Kundli creation wizard and generated identity */
.k-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:16px 0 20px}
.k-stepper button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2);color:var(--k-muted);font:600 var(--k-fs-xs)/1.2 var(--k-body);cursor:pointer}
.k-stepper button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--k-primary-100);color:var(--k-primary);flex:none}
.k-stepper button.active{border-color:var(--k-primary);background:var(--k-primary-050);color:var(--k-primary)}
.k-stepper button.active span{background:var(--k-primary);color:#fff}
.k-wizard-panel{animation:k-fade-in .16s ease}
@keyframes k-fade-in{from{opacity:.25;transform:translateY(3px)}}
.k-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.k-section-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--k-primary);color:#fff;font-weight:800;flex:none}
.k-section-head h4{margin:0;color:var(--k-violet-800);font-size:var(--k-fs-lg)}
.k-section-head p{margin:2px 0 0;color:var(--k-muted);font-size:var(--k-fs-sm)}
.k-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--k-4)}
.k-wizard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.k-wizard-actions #generateBtn{margin-left:auto}
.k-help{display:block;margin-top:5px;color:var(--k-muted);font-size:var(--k-fs-xs);text-transform:none;letter-spacing:0}
.k-required{color:var(--k-bad)}
.k-form-error{margin:0 0 14px;padding:11px 13px;border:1px solid rgba(196,58,43,.35);border-radius:var(--k-r-sm);background:rgba(196,58,43,.08);color:var(--k-bad);font-weight:700}
.k-advanced{margin-top:14px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2)}
.k-advanced summary{padding:11px 13px;color:var(--k-primary);font-weight:700;cursor:pointer}
.k-advanced>div{padding:0 13px 13px}
.k-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--k-border);border:1px solid var(--k-border);border-radius:var(--k-r-sm);overflow:hidden}
.k-review>div{background:#fff;padding:11px 13px}
.k-review dt{font-size:var(--k-fs-xs);font-weight:700;color:var(--k-muted);text-transform:uppercase}
.k-review dd{margin:3px 0 0;color:var(--k-violet-800);font-weight:700;overflow-wrap:anywhere}
.k-person-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:18px 0;padding:18px 20px;border:1px solid rgba(232,184,75,.45);border-radius:var(--k-r-lg);background:linear-gradient(135deg,#fff,var(--k-primary-050));box-shadow:var(--k-sh-sm)}
.k-person-bar h2{margin-top:7px;font-size:var(--k-fs-xl)}
.k-person-bar p{margin:2px 0 0;color:var(--k-muted);overflow-wrap:anywhere}
.k-dialog{width:min(480px,calc(100% - 28px));padding:0;border:0;border-radius:var(--k-r-lg);box-shadow:var(--k-sh-lg);color:var(--k-text)}
.k-dialog::backdrop{background:rgba(22,10,52,.62)}
.k-dialog form{padding:var(--k-6)}
.k-dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--k-primary-050);font-size:22px}
.k-dialog h2{margin:12px 0 6px;font-size:var(--k-fs-xl)}
.k-dialog p{margin:0;color:var(--k-muted)}
.k-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:20px}
.k-ui svg{max-width:100%;height:auto}
/* Brand mark must beat .k-ui svg{height:auto} — otherwise /admin/* relative CSS miss
 * leaves an unconstrained North-Indian logo SVG that swallows the page. */
.k-ui svg.k-brand-mark,.k-brand-mark{width:34px;height:34px;max-width:34px;max-height:34px;flex:none}
.k-sidebar .k-brand.k-brand-mark-only .k-brand-mark{width:38px;height:38px;max-width:38px;max-height:38px}
.k-topbar-brand .k-brand-mark{width:32px;height:32px;max-width:32px;max-height:32px}
.k-public-nav .k-brand-mark{width:26px;height:26px;max-width:26px;max-height:26px}

@media(max-width:760px){
  .k-stepper{display:flex;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
  .k-stepper button{min-width:112px}
  .k-wizard-grid,.k-review{grid-template-columns:1fr}
}
@media(max-width:480px){
  .k-wizard-actions .btn,.k-person-bar .k-btn,.k-dialog-actions .k-btn{width:100%}
  .k-wizard-actions #generateBtn{margin-left:0}
}

.k-workspace-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:var(--k-4);overflow:hidden;border:1px solid var(--k-border);border-radius:var(--k-r);background:var(--k-border)}
.k-workspace-facts>div{display:flex;flex-direction:column;min-width:0;padding:12px 14px;background:var(--k-surface)}
.k-workspace-facts small{color:var(--k-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.k-workspace-facts b{margin-top:3px;color:var(--k-violet-800);overflow-wrap:anywhere}
.k-workspace-facts span:not(.k-badge){color:var(--k-muted);font-size:var(--k-fs-xs);overflow-wrap:anywhere}
.k-workspace-facts-compact>div{padding:10px 12px;background:#fff}
.k-workspace-facts-compact small{font-size:10px}
.k-workspace-facts-compact b{font-size:14px;line-height:1.25}

/* Universal module dock (CX v2 primary chrome) + research cockpit */
.k8-module-dock{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 var(--k-4);padding:10px 12px;border:1px solid var(--k-border);border-radius:var(--k-r);background:linear-gradient(180deg,#fffef8,#f7f4ff)}
.k8-module-dock--universal{margin-bottom:var(--k-3);box-shadow:0 1px 0 rgba(41,57,152,.06)}
.k8-module-dock__sep{flex:0 0 auto;align-self:stretch;width:1px;margin:2px 4px;background:rgba(41,57,152,.16)}
.k8-module-dock__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border:1px solid rgba(41,57,152,.18);border-radius:10px;background:#fff;color:var(--k-violet-800);font:600 12.5px/1.2 var(--k-body);text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;box-sizing:border-box;vertical-align:middle}
.k8-module-dock__btn:hover,.k8-module-dock__btn:focus-visible{border-color:var(--k-gold);color:var(--k-primary);background:#fffdf5}
.k8-module-dock__btn.is-active{border-color:var(--k-gold);color:var(--k-primary);background:linear-gradient(180deg,#fff8e8,#f3ecff);box-shadow:inset 0 -2.5px 0 var(--k-gold)}
/* Export/Print: same dock height as sibling tabs (gold fill only — no taller padding). */
.k8-module-dock__btn--export{height:34px;padding:0 11px;border-color:rgba(232,184,75,.55);background:linear-gradient(180deg,#F6D67A,#E8B84B);color:#3a2a08;font:700 12.5px/1.2 var(--k-body);margin-left:auto}
.k8-module-dock__btn--export:hover,.k8-module-dock__btn--export:focus-visible{filter:brightness(1.03);color:#241808}
.k8-module-dock__btn span[aria-hidden]{font-size:13px;line-height:1;flex:none}
/* Legacy Tools ▾ (removed from dock) — keep absolute panel so stale HTML never spills */
.k8-module-dock__tools{position:relative;flex:0 0 auto}
.k8-module-dock__tools>summary{list-style:none}
.k8-module-dock__tools>summary::-webkit-details-marker{display:none}
.k8-module-dock__tools:not([open])>.k8-module-dock__tools-panel{display:none!important}
.k8-module-dock__tools-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:220px;max-width:min(320px,92vw);max-height:70vh;overflow:auto;padding:8px;border:1px solid rgba(41,57,152,.2);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(36,17,85,.14);display:flex;flex-direction:column;gap:4px}
.k8-module-dock__tools-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--k-violet-800);font:600 12.5px/1.25 var(--k-body);text-decoration:none;cursor:pointer}
.k8-module-dock__tools-item:hover,.k8-module-dock__tools-item:focus-visible{background:#f7f4ff}
.k8-module-dock__tools-item.is-active{background:linear-gradient(180deg,#fff8e8,#f3ecff);color:var(--k-primary)}
.k8-charts-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.k8-charts-duo__pane .k-card-body{padding:10px}

/* Workspace panes: Overview / Charts / Dasha — no stretch gaps, no double chrome */
.k8-pane{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%}
.k8-pane[style*="display: none"],.k8-pane[style*="display:none"]{display:none!important}
.k8-pane__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,0.95fr);gap:14px;align-items:start}
.k8-pane__chart,.k8-pane__facts,.k8-pane__sphuta,.k8-charts-duo__pane,.k8-pane--dasha>.k-card{overflow:hidden}
.k8-pane__chart-body{padding:10px 12px 14px!important;text-align:center;overflow:auto}
.k8-pane__chart-body svg,.k8-charts-duo__pane .k-card-body svg{display:block;margin:0 auto;max-width:min(100%,360px);height:auto;aspect-ratio:420/448}
.k8-pane__facts-body{padding:0!important}
.k8-pane__overview-table{width:100%;table-layout:fixed}
.k8-pane__overview-table td{vertical-align:top;overflow-wrap:anywhere}
.k8-pane__overview-table td:first-child{width:36%;color:var(--k-muted);font-weight:600;white-space:nowrap}
.k8-pane__toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;padding:12px 14px;border:1px solid var(--k-border);border-radius:var(--k-r-lg);background:var(--k-surface);box-shadow:var(--k-sh-sm)}
.k8-pane__title{margin:0 0 4px;font-size:18px;color:var(--k-violet-800)}
.k8-pane__sub{margin:0;color:var(--k-muted);font-size:13px;line-height:1.45}
.k8-pane__style-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.k8-pane__actions{display:flex;flex-wrap:wrap;gap:8px}
.k8-pane__ad-head{padding:12px 14px 0!important}
.k8-pane__ad-head h3{margin:0 0 8px;font-size:15px}
.k8-pane__current{border-color:#e8b84b;background:linear-gradient(135deg,#fffdf5,#fff8e6)}
.k8-pane__current-label{font-size:11px;letter-spacing:.1em;color:var(--k-muted);font-weight:700}
.k8-pane__current-lords{font-size:20px;font-weight:700;margin:4px 0 8px;color:var(--k-primary)}
.k8-pane__current-range{font-size:13px;margin-top:2px}
.k8-pane__vim{min-width:0}
@media(max-width:980px){
  .k8-pane__grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .k8-pane__overview-table td:first-child{white-space:normal;width:42%}
  .k8-pane__toolbar{align-items:stretch}
  .k8-pane__style-form{width:100%}
}
.k8-milan-desk{margin:0 0 12px}
.k8-milan-desk__sticky{position:sticky;top:0;z-index:6;margin:0 0 8px;padding:10px 10px 8px;border:1px solid rgba(41,57,152,.12);border-radius:14px;background:linear-gradient(180deg,rgba(255,254,248,.98),rgba(247,244,255,.96));backdrop-filter:blur(6px);box-shadow:0 8px 22px rgba(41,57,152,.06)}
.k8-milan-desk__title{margin:0;font-size:18px;color:var(--k-violet-800)}
.k8-milan-desk__sub,.k8-milan-desk__lead{margin:4px 0 0;color:var(--k-muted);font-size:13px;line-height:1.45}
.k8-milan-desk__nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;border:0;border-radius:0;background:transparent}
.k8-milan-desk__tab{padding:7px 10px;border:1px solid rgba(41,57,152,.16);border-radius:999px;background:#fff;color:var(--k-violet-800);font:600 12px/1.2 var(--k-body);cursor:pointer}
.k8-milan-desk__tab.is-active{border-color:var(--k-gold);background:linear-gradient(180deg,#fff8e8,#f3ecff);color:var(--k-primary)}
.k8-milan-desk__ctx{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(232,184,75,.35);background:linear-gradient(90deg,#fffaf0,#f7f4ff)}
.k8-milan-desk__ctx[hidden]{display:none!important}
.k8-milan-desk__ctx-names{font:700 13px/1.3 var(--k-body);color:var(--k-violet-800)}
.k8-milan-desk__ctx-score{font:700 12px/1 var(--k-body);color:#8A6710;padding:4px 9px;border-radius:999px;background:rgba(232,184,75,.18)}
.k8-milan-desk__summary{padding:12px 14px;border:1px solid var(--k-border);border-radius:12px;background:#fff}
.k8-milan-desk__ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.k8-milan-desk__hints{margin:12px 0 0;padding-left:18px;color:var(--k-muted);font-size:12.5px;line-height:1.5}
.k8-milan-desk__panel[hidden]{display:none!important}
[data-k8-milan-birth-form][hidden],[data-k8-milan-entry-chrome][hidden],[data-k8-milan-saved-shell][hidden],[data-k8-milan-edit-birth][hidden]{display:none!important}
.k8-milan-explore{margin:16px 0 8px;padding:14px 14px 12px;border:1px solid rgba(41,57,152,.14);border-radius:14px;background:linear-gradient(135deg,#fffef8 0%,#f4f0ff 55%,#fff8e8 100%)}
.k8-milan-explore__lead{font:700 14px/1.3 var(--k-body);color:var(--k-violet-800);letter-spacing:.01em}
.k8-milan-explore__sub{margin:4px 0 0;color:var(--k-muted);font-size:12.5px;line-height:1.45}
.k8-milan-explore__rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.k8-milan-explore__chip{padding:8px 12px;border:1px solid rgba(41,57,152,.18);border-radius:999px;background:#fff;color:var(--k-violet-800);font:600 12.5px/1.2 var(--k-body);cursor:pointer;box-shadow:0 1px 0 rgba(41,57,152,.04)}
.k8-milan-explore__chip:hover,.k8-milan-explore__chip.is-active{border-color:var(--k-gold);background:linear-gradient(180deg,#fff8e8,#f3ecff);color:var(--k-primary)}
.k8-match-ws__ctx{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(41,57,152,.14);border-radius:12px;background:linear-gradient(90deg,#f7f4ff,#fffaf0)}
.k8-match-ws__ctx[hidden]{display:none!important}
.k8-match-ws__ctx-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.k8-match-ws__ctx-names{font:700 13.5px/1.3 inherit;color:#293998}
.k8-match-ws__ctx-score{font:700 12px/1 inherit;color:#8A6710;padding:4px 9px;border-radius:999px;background:rgba(232,184,75,.18)}
.k8-match-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.k8-match-chart-grid--2{grid-template-columns:1fr 1fr}
.k8-match-chart-card{margin:0;padding:10px;border:1px solid var(--k-border,#e8e0d4);border-radius:12px;background:#fff;text-align:center}
.k8-match-chart-cap{margin-top:8px;font-size:12.5px;line-height:1.35;color:var(--k-violet-800)}
.k8-match-chart-meta{margin-top:4px;font-size:11px;color:var(--k-muted);font-weight:400}
@media(max-width:720px){.k8-match-chart-grid,.k8-match-chart-grid--2{grid-template-columns:1fr}}
/* Keep WhatsApp FAB clear of Match report actions */
.k8-match-ws .k8-milan-save,.k8-match-ws__ctas{padding-bottom:8px;margin-right:72px}
.k-tabs-wrap--dock-primary[hidden]{display:none!important}
.k8-research__head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.k8-research__title{margin:0;font-size:20px;color:var(--k-violet-800)}
.k8-research__sub{margin:4px 0 0;color:var(--k-muted);font-size:13px}
/* Research cockpit: title only + one .k8-research__jumps row (no Charts/Dasha/Complete actions). */
.k8-research__actions{display:none!important}
.k8-research__jumps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.k8-research__jumps + .k8-research__jumps{display:none!important}
.k8-research__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,0.9fr);gap:14px;align-items:start}
.k8-research__period{margin:0 0 10px;font-size:16px;color:var(--k-primary)}
.k8-research__range{color:var(--k-muted);font-size:12px;margin-top:2px}
.k8-research__note{margin:8px 0 0;color:var(--k-muted);font-size:12.5px;line-height:1.45}
.k8-research__chart .k-card-body svg,.k8-research__chart svg{max-width:100%;height:auto;display:block;margin:0 auto}
@media(max-width:1100px){
  .k8-research__grid{grid-template-columns:1fr 1fr}
  .k8-research__side{grid-column:1/-1}
}
@media(max-width:720px){
  .k8-research__grid{grid-template-columns:1fr}
  .k8-charts-duo{grid-template-columns:1fr}
  .k8-module-dock{padding:8px;align-items:center}
  .k8-module-dock__btn{flex:1 1 calc(50% - 8px);justify-content:flex-start}
  .k8-module-dock__btn--export{margin-left:0;flex:1 1 100%;justify-content:center}
  .k8-module-dock__sep{display:none}
  .k8-module-dock__tools{flex:1 1 100%}
  .k8-module-dock__tools-panel{position:absolute;left:0;right:0;min-width:0;max-width:none}
}
.k-customer-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.k-customer-controls a{color:var(--k-primary);font-weight:700}
.k-dashboard-primary-actions,.k-report-actions{flex-wrap:wrap}
.k-dashboard-current{display:flex;flex-direction:column;gap:5px}
.k-nav-form,.k-topbar-form{margin:0}
.k-topbar-form{display:flex;align-items:center}
.k-topbar-form .k-toplink{border:0;background:transparent;font:inherit;cursor:pointer}
.k-main,.k-content,.k-page-head,.k-page-head>div,.k-card,.k-card-body,.wtab{min-width:0;max-width:100%}
.wtab img,.wtab svg,.wtab canvas{max-width:100%;height:auto}
.wtab iframe{max-width:100%}
@media(max-width:1100px){.k-customer-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
  .k-workspace-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-tabs-wrap{flex-wrap:wrap;overflow:visible}
  .k-tabs{flex-wrap:wrap;overflow:visible;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .k-tab{flex:0 0 auto;white-space:nowrap}
  .k-kundli-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-page-actions .k-btn-line:not(.k-new-plus){padding-left:10px;padding-right:10px}
}
@media(max-width:430px){
  .k-workspace-facts,.k-kundli-meta{grid-template-columns:1fr}
}

/* ============================================================
   P1-07 — LOADING SHIMMER + ERROR / EMPTY STATES (shared)
   ------------------------------------------------------------
   Pehle har async cheez ke liye ek line ka "loading…" text tha aur
   fail hone pe wahi text hamesha ke liye atka reh jaata tha — user ko
   pata hi nahi chalta ki kuch toota hai ya abhi aa raha hai.

   Yahan teen state ek jagah define hain taaki har page same dikhe:
     .k-skel*   → shimmer placeholder (content ke SHAPE ka, spinner nahi)
     .k-state   → error / empty / offline panel (icon + title + action)
   Shape-wale skeleton isliye ki content aane pe layout kood na jaye (CLS).
   prefers-reduced-motion pe animation band — sirf flat grey block.
   ============================================================ */
.k-skel{position:relative;overflow:hidden;background:var(--k-primary-050);border-radius:var(--k-r-sm)}
.k-skel::after{content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.72) 55%,transparent 100%);
  animation:k-shimmer 1.35s ease-in-out infinite}
@keyframes k-shimmer{100%{transform:translateX(100%)}}
.k-skel-line{height:12px;margin-bottom:10px}
.k-skel-line.w40{width:40%}.k-skel-line.w60{width:60%}.k-skel-line.w75{width:75%}.k-skel-line.w90{width:90%}
.k-skel-title{height:20px;width:46%;margin-bottom:16px}
.k-skel-block{height:120px;margin-bottom:14px;border-radius:var(--k-r)}
.k-skel-wrap{padding:var(--k-5) var(--k-4)}
/* screen-reader ke liye status text, dikhta nahi */
.k-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){
  .k-skel::after{animation:none;background:none}
  .k-skel{background:var(--k-primary-100)}
}
@media print{.k-skel,.k-skel-wrap{display:none!important}}

/* Complete Report workspace print: expand clipped shell, hide chrome once (no dock/nav/printbar/WA/URL bleed). */
@media print{
  .k8-module-dock,.k-complete-nav,.k-complete-pins,.k-complete-print,.k-tabs-wrap,.k-kundli-head-compact,.k-kundli-meta,.k-eval-banner,.k8-research__jumps,.k8-module-dock__tools-panel,.k8-milan-desk__nav,.wa-float,.print-hide,.noprint,.k8x,.k8x-backdrop{display:none!important}
  .k-native-complete{display:block!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;border:0!important;border-radius:0!important}
  .k-complete-body{overflow:visible!important;max-height:none!important;padding:0!important}
  .k-complete-body .k8-report-native.k8-single-section .page.k8-section-active{border:0!important;box-shadow:none!important;padding:0!important}
  .k-complete-body .k8-report-native .page{break-inside:auto;page-break-inside:auto}
  .k-complete-body .k8-report-native .sh,h2,h3,h4,table.dt thead,tr,.k-chart,svg{break-inside:avoid;page-break-inside:avoid}
}

/* error / empty / offline — .k-empty ka sibling, par action button ke saath */
.k-state{text-align:center;padding:var(--k-8) var(--k-5);color:var(--k-text)}
.k-state-ic{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:var(--k-primary-050);font-size:26px;margin-bottom:var(--k-3)}
.k-state-error .k-state-ic{background:rgba(196,58,43,.10)}
.k-state-title{margin:0 0 6px;font-size:var(--k-fs-lg);font-weight:700}
.k-state-text{margin:0 auto var(--k-4);max-width:34em;color:var(--k-muted);font-size:var(--k-fs-sm)}
.k-state-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.k-state-detail{margin-top:var(--k-3);font-size:var(--k-fs-xs);color:var(--k-faint);overflow-wrap:anywhere}

/* Hindi-first explanatory content pages. Uses only locked DESIGN.yaml tokens. */
.k-article-shell{max-width:1100px;margin:0 auto}
.k-article-hero{padding:var(--k-8);border-radius:var(--k-r-lg);background:linear-gradient(135deg,var(--k-violet-900),var(--k-violet-700));color:var(--k-surface);box-shadow:var(--k-sh-md)}
.k-article-hero .k-badge{margin-bottom:var(--k-3);background:var(--k-gold);color:var(--k-text)}
.k-article-hero h1{max-width:22em;color:var(--k-surface);font-size:var(--k-fs-3xl);line-height:1.25}
.k-article-hero p{max-width:48em;margin:var(--k-3) 0 0;color:var(--k-primary-100);font-size:var(--k-fs-md)}
.k-article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--k-6);align-items:start;margin-top:var(--k-6)}
.k-article-toc{position:sticky;top:82px;padding:var(--k-4);border:1px solid var(--k-border);border-radius:var(--k-r);background:var(--k-surface);box-shadow:var(--k-sh-xs)}
.k-article-toc b{display:block;margin-bottom:var(--k-2);color:var(--k-violet-800)}
.k-article-toc a{display:block;padding:var(--k-1) 0;color:var(--k-muted);font-size:var(--k-fs-sm);text-decoration:none}
.k-article-toc a:hover{color:var(--k-primary)}
.k-article{padding:var(--k-8);border:1px solid var(--k-border);border-radius:var(--k-r-lg);background:var(--k-surface);box-shadow:var(--k-sh-sm)}
.k-article h2{margin:var(--k-8) 0 var(--k-3);font-size:var(--k-fs-xl);scroll-margin-top:88px}
.k-article h2:first-child{margin-top:0}
.k-article h3{margin:var(--k-5) 0 var(--k-2);font-size:var(--k-fs-lg)}
.k-article p,.k-article li{font-size:var(--k-fs-md);line-height:1.85}
.k-article ul,.k-article ol{padding-left:var(--k-6)}
.k-article a{color:var(--k-primary);text-underline-offset:3px}
.k-article-note{margin:var(--k-5) 0;padding:var(--k-4);border-left:4px solid var(--k-gold);border-radius:0 var(--k-r-sm) var(--k-r-sm) 0;background:var(--k-primary-050)}
.k-article-caution{border-left-color:var(--k-warn);background:var(--k-surface-2)}
.k-article-cta{margin:var(--k-8) 0;padding:var(--k-6);border-radius:var(--k-r-lg);background:var(--k-primary-050);text-align:center}
.k-article-cta h2{margin-top:0}
.k-article-actions{display:flex;justify-content:center;gap:var(--k-3);flex-wrap:wrap;margin-top:var(--k-4)}
.k-article details{margin:var(--k-3) 0;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface-2)}
.k-article summary{padding:var(--k-4);color:var(--k-violet-800);font-weight:700;cursor:pointer}
.k-article details p{margin:0;padding:0 var(--k-4) var(--k-4)}
.k-article-sources{margin-top:var(--k-8);padding-top:var(--k-5);border-top:1px solid var(--k-border)}
.k-article-sources li{font-size:var(--k-fs-sm)}
@media(max-width:768px){
  .k-article-layout{grid-template-columns:1fr}
  .k-article-toc{position:static}
  .k-article{padding:var(--k-6)}
}
@media(max-width:390px){
  .k-article-hero,.k-article{padding:var(--k-5)}
  .k-article-hero h1{font-size:var(--k-fs-2xl)}
}

/* Searchable birthplace selector (GeoNames country shards). */
.k-location,.k-location-combobox{position:relative}.k-ui .grid4>.k-location{grid-column:span 3}.k-location input[role="combobox"],.k-location-combobox input[role="combobox"]{padding-right:38px}
.k-location-list,.k-location-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);max-height:280px;overflow:auto;padding:5px;border:1px solid var(--k-border);border-radius:var(--k-r-sm);background:var(--k-surface);box-shadow:var(--k-sh-md)}
.k-location-option{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--k-text);text-align:left;cursor:pointer}
.k-location-option:hover,.k-location-option[aria-selected="true"]{background:var(--k-primary-050);outline:2px solid transparent}.k-location-option b{color:var(--k-violet-800)}.k-location-option span{color:var(--k-muted);font-size:var(--k-fs-xs)}
.k-location-list-heading{padding:7px 11px 5px;color:var(--k-muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.k-location-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.k-location-status{min-height:18px;color:var(--k-muted);font-size:var(--k-fs-xs);line-height:1.45}.k-location input[data-location-state="RESOLVED_STANDARD"]~.k-location-actions .k-location-status,.k-location input[data-location-state="RESOLVED_SAVED"]~.k-location-actions .k-location-status{color:#28734d;font-weight:650}.k-location-custom{appearance:none;display:inline-block;margin-top:4px;padding:2px 0;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--k-primary);font:inherit;font-size:var(--k-fs-xs);font-weight:600;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}.k-location-custom:hover,.k-location-custom:focus-visible{text-decoration-color:currentColor}
@media(max-width:820px){.k-ui .grid4>.k-location{grid-column:span 1}}
@media(max-width:480px){.k-location-list,.k-location-results{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:52vh;border-radius:var(--k-r)}.k-location-option{padding:12px}}
/* Shared legal/policy layout. */
.legal-wrap{max-width:880px;margin:0 auto;padding:34px 18px 64px}
.legal-hero{padding:clamp(24px,5vw,42px);border-radius:24px;background:linear-gradient(135deg,var(--k-violet-900),var(--k-violet-700));color:#fff;box-shadow:0 18px 44px rgba(36,17,85,.2);margin-bottom:22px}
.legal-kicker{margin:0 0 8px;color:var(--k-gold);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.legal-hero h1{margin:0;font-family:var(--k-disp);font-size:clamp(30px,6vw,48px);color:#fff}
.legal-updated{margin:8px 0 18px;color:#d9d2ec;font-size:13px}
.legal-intro{margin:0;max-width:720px;color:#f5f1ff;font-size:16px}
.legal-card{background:var(--k-surface,#fff);border:1px solid rgba(84,55,144,.16);border-left:4px solid var(--k-gold);border-radius:16px;padding:20px 22px;margin:14px 0;box-shadow:0 8px 24px rgba(36,17,85,.07);overflow-wrap:anywhere}
.legal-card h2{margin:0 0 9px;color:var(--k-violet-900);font-family:var(--k-disp);font-size:22px}
.legal-card h3{color:var(--k-violet-800);margin:18px 0 6px}
.legal-card p:last-child,.legal-card ul:last-child{margin-bottom:0}
.legal-card li+li{margin-top:6px}
.legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.legal-company{font-style:normal;line-height:1.7}
.legal-table-wrap{overflow-x:auto}
.legal-table{border-collapse:collapse;width:100%;min-width:580px}
.legal-table th,.legal-table td{text-align:left;padding:10px;border-bottom:1px solid rgba(84,55,144,.15);vertical-align:top}
.legal-table th{color:var(--k-violet-900)}
.legal-note{background:rgba(232,184,75,.12);border-color:rgba(183,133,22,.45)}
@media(max-width:600px){.legal-wrap{padding:20px 12px 44px}.legal-hero{border-radius:18px}.legal-card{padding:17px 16px}.legal-actions .k-btn{width:100%;justify-content:center}}
