
:root{color-scheme:dark;--bg:#080d1b;--panel:#11192b;--panel-soft:#151f34;--panel-raised:#18243a;--line:rgba(190,205,235,.12);--text:#f3f4fa;--muted:#9ba8c1;--gold:#e9c77c;--gold-strong:#f3d996;--violet:#a9a0ff;--green:#7ed9b0;--danger:#ff8e9a;--radius:22px;--shadow:0 20px 60px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 72% 0%,rgba(65,70,135,.18),transparent 38%),var(--bg);color:var(--text);font-family:'DM Sans',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:28px 18px 18px;background:rgba(10,15,29,.94);border-right:1px solid var(--line);z-index:20;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 36px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#f2d998,#9b7c46);color:#171526;font-size:25px;box-shadow:0 8px 24px #d3b16b24}.brand-copy{display:flex;flex-direction:column;line-height:1.3}.brand-copy strong{font-family:'Playfair Display',Georgia,serif;font-size:19px;letter-spacing:.1px}.brand-copy small{font-size:9px;letter-spacing:2px;color:var(--gold);margin-top:4px}.sidebar-label,.section-kicker{font-size:10px;font-weight:700;letter-spacing:2px;color:#8290ac}.sidebar-label{padding:0 13px 12px}.side-nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:12px;color:#a9b4c9;font-weight:500;transition:background .2s,color .2s}.nav-link:hover,.nav-link.active{background:linear-gradient(90deg,rgba(233,199,124,.14),rgba(233,199,124,.04));color:var(--gold-strong)}.nav-link.active{box-shadow:inset 2px 0 0 var(--gold)}.nav-icon{width:22px;text-align:center;font-size:20px;color:inherit}.sidebar-spacer{flex:1;min-height:40px}.sidebar-note{margin:0 3px 22px;padding:17px;border:1px solid rgba(233,199,124,.16);border-radius:16px;background:radial-gradient(circle at 100% 0%,#6254a025,transparent 60%),#121a2b}.note-star{color:var(--gold);font-size:20px}.sidebar-note p{margin:8px 0 12px;font-family:'Playfair Display',Georgia,serif;font-size:17px;line-height:1.35}.sidebar-note small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.admin-nav{margin-bottom:16px;font-size:13px}.sidebar-footer{padding:13px 8px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.sidebar-footer strong{color:#dbe6f6;font-weight:600;margin-left:auto}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #7ed9b066}.main-content{margin-left:248px;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,58px);border-bottom:1px solid var(--line);background:rgba(8,13,27,.56);backdrop-filter:blur(14px)}.breadcrumb{display:flex;gap:11px;align-items:center;color:#7f8da7;font-size:12px}.breadcrumb strong{color:#e3e7f2;font-weight:600}.crumb-sep{color:#45516a}.topbar-right{display:flex;align-items:center;gap:14px}.secure-pill{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:99px;color:#c6cee0;font-size:11px}.secure-pill span{color:var(--gold)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d8c1ff,#8f80ca);color:#1b1830;font-weight:700}.page-content{width:min(1240px,100%);margin:0 auto;padding:32px clamp(18px,4vw,58px) 38px}.hero{position:relative;min-height:300px;overflow:hidden;border:1px solid rgba(201,191,255,.16);border-radius:26px;background:radial-gradient(ellipse at 82% 46%,rgba(105,83,190,.28),transparent 34%),radial-gradient(ellipse at 20% 0%,rgba(212,176,102,.12),transparent 45%),linear-gradient(115deg,#171b31,#121a2e 65%,#171b34);padding:39px 42px 52px;box-shadow:var(--shadow)}.hero:before,.hero:after{content:'';position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:370px;height:370px;right:-65px;top:-170px;border:1px solid #d7c7ff13}.hero:after{width:470px;height:470px;right:-115px;top:-220px;border:1px solid #d7c7ff0c}.hero-copy{position:relative;z-index:2;max-width:590px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:2.1px}.eyebrow-line{width:24px;height:1px;background:var(--gold)}.hero h1{max-width:570px;margin:15px 0 12px;font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-1.1px;line-height:1.12;font-size:clamp(32px,3.4vw,47px)}.hero h1 em{font-style:normal;color:var(--gold-strong)}.hero p{max-width:520px;margin:0;color:#aeb8ce;font-size:13px;line-height:1.8}.hero-cta{display:inline-flex;align-items:center;gap:23px;margin-top:23px;padding:11px 16px;border-radius:11px;background:var(--gold-strong);color:#171827;font-weight:700;font-size:12px;box-shadow:0 8px 24px #d8b86a20}.hero-cta span{font-size:17px}.hero-art{position:absolute;right:6%;top:8px;width:310px;height:280px;opacity:.9}.orbit{position:absolute;border:1px solid rgba(228,208,164,.27);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-one{width:150px;height:150px}.orbit-two{width:220px;height:220px;border-color:#aaa0ff2c}.orbit-three{width:286px;height:286px;border-style:dashed;border-color:#d9c58a21}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:92px;height:92px;border-radius:50%;font-size:49px;color:#f0d58e;background:radial-gradient(circle at 38% 32%,#4a466d,#191e35 72%);box-shadow:0 0 60px #8b78d535,inset 0 0 20px #fff1}.planet{position:absolute;display:grid;place-items:center;border-radius:50%;color:#18172a;background:linear-gradient(135deg,#f7e3a5,#b18d4c);box-shadow:0 0 20px #e9c77c35}.planet-one{width:26px;height:26px;top:42px;left:51px}.planet-two{width:19px;height:19px;right:30px;top:122px;font-size:11px;background:linear-gradient(135deg,#d4ccff,#8f84d1)}.planet-three{width:11px;height:11px;bottom:27px;left:95px}.hero-spark{position:absolute;color:var(--gold);font-size:19px}.spark-one{top:46px;right:62px}.spark-two{bottom:50px;right:47px;color:#b9adff}.hero-foot{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:9px;padding:13px 42px;background:#070b17a6;border-top:1px solid #ffffff09;font-size:8px;letter-spacing:1.35px;color:#9da8bf}.hero-foot>span{color:var(--gold);font-size:13px}.hero-foot-right{margin-left:auto;color:#6f7c96}.section-heading,.results-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:37px 0 17px}.section-heading h2,.results-intro h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:27px;letter-spacing:-.4px;margin:5px 0 4px}.section-heading p,.results-intro p{margin:0;color:var(--muted);font-size:12px}.step-chip,.results-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:9px;background:#121a2b;border:1px solid var(--line);color:#aab6ce;font-size:10px;white-space:nowrap}.step-chip span{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#e9c77c1c;color:var(--gold);font-weight:700}.card{background:linear-gradient(145deg,rgba(20,29,48,.96),rgba(15,23,39,.98));border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:16px 0;box-shadow:0 12px 35px #00000012}.card h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:22px;margin:0 0 13px}.card h3{font-size:14px;margin:24px 0 10px;color:#e3e8f5}.sub{color:var(--muted);font-size:12px;line-height:1.7}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;color:#dce3f2;font-size:12px;font-weight:600}input,select,textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid #33405a;border-radius:11px;background:#0c1425;color:#f3f4fa;outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#697894}input:focus,select:focus,textarea:focus{border-color:#b5a2ff;box-shadow:0 0 0 3px #a9a0ff19}input[type=date],input[type=time]{color-scheme:dark}button{margin-top:18px;padding:12px 17px;border:1px solid transparent;border-radius:11px;cursor:pointer;font-weight:700;font-size:12px;transition:transform .15s,filter .15s,background .15s}button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}#calculate{background:linear-gradient(135deg,#f3d996,#d9b56b);color:#171827;box-shadow:0 8px 24px #d3b16b1c}button.secondary{background:#1a263c;color:#e6ebf6;border-color:#33415b;margin-top:0}.suggestions{position:relative;z-index:10}.suggestions div{padding:12px 14px;background:#131d31;border:1px solid #33415a;border-top:0;cursor:pointer;color:#e8edf8;font-size:12px}.suggestions div:hover{background:#25324c}.selected{margin-top:7px;color:var(--green);font-size:11px}.hidden{display:none!important}.error{color:var(--danger);margin-top:12px;font-size:12px}.ok{color:var(--green);margin-top:12px;font-size:12px}#status,#adminStatus,#recordsStatus{display:block;margin-top:10px;font-size:12px}.trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0 35px}.trust-row>div{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#10182a}.trust-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:#e9c77c13;color:var(--gold);font-size:19px}.trust-row strong,.trust-row small{display:block}.trust-row strong{font-size:11px;color:#e6eaf4}.trust-row small{margin-top:3px;font-size:10px;color:#8794ad}.results-intro{margin-top:42px}.results-badge{letter-spacing:1px;color:var(--gold)}#result{scroll-margin-top:20px}#result .card{overflow:hidden}#summary,#ascendant{color:#d8e0f0;line-height:1.8;font-size:13px} .tableWrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;margin:14px 0}table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-size:11px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #ffffff0c;vertical-align:top}th{background:#1b2740;color:#bfc9de;font-size:10px;font-weight:700;white-space:nowrap}td{color:#d6deef}tbody tr{background:#111a2b}tbody tr:nth-child(even){background:#141f33}tbody tr:hover{background:#1b2941}tbody tr:last-child td{border-bottom:0}pre{background:#080e1b;color:#cbd6eb;padding:17px;border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:460px;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.marriageSummary{line-height:1.8;margin-top:18px;color:#d9e1f0;font-size:13px}#grahNirdeshanTable td:last-child{font-weight:600}.admin-divider{display:flex;align-items:center;gap:14px;margin:48px 0 16px;padding:19px 21px;border:1px solid #e9c77c24;border-radius:16px;background:linear-gradient(110deg,#211e2b,#141b2b)}.admin-divider-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e9c77c18;color:var(--gold);font-size:21px}.admin-divider strong{font-size:13px}.admin-divider p{margin:3px 0 0;color:var(--muted);font-size:11px}.admin-divider a{margin-left:auto;color:var(--gold);font-size:11px;font-weight:700;white-space:nowrap}#savedRecordsCard{scroll-margin-top:20px}#savedRecordsCard h2{display:flex;align-items:center;gap:10px}#savedRecordsCard .sub{margin:10px 0 16px}#savedRecordsCard .grid{margin-top:14px}.app-footer{display:flex;align-items:center;gap:20px;padding:26px 0 4px;margin-top:35px;border-top:1px solid var(--line);color:#7f8ba4;font-size:10px}.footer-brand{color:#d8c58d;font-family:'Playfair Display',Georgia,serif;font-size:14px}.app-footer a{margin-left:auto;color:#b8c3d9}.mobile-nav{display:none}
@media(max-width:1100px){.sidebar{width:218px}.main-content{margin-left:218px}.hero{padding-left:30px}.hero-art{right:0;transform:scale(.86);transform-origin:center right;opacity:.62}.hero-copy{max-width:550px}.page-content{padding-left:28px;padding-right:28px}.trust-row{grid-template-columns:1fr}.trust-row>div{padding:12px}}
@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.main-content{margin-left:0;padding-bottom:76px}.topbar{height:59px;padding:0 17px}.breadcrumb{font-size:11px}.secure-pill{display:none}.topbar-right{gap:0}.page-content{padding:17px 14px 25px}.hero{min-height:310px;padding:27px 22px 57px;border-radius:20px}.hero-copy{max-width:100%}.hero h1{max-width:410px;font-size:34px;letter-spacing:-.7px}.hero p{max-width:390px;font-size:12px;padding-right:8px}.hero-art{width:190px;height:190px;right:-29px;top:100px;opacity:.22;transform:none}.orbit-one{width:100px;height:100px}.orbit-two{width:145px;height:145px}.orbit-three{width:190px;height:190px}.orbit-core{width:60px;height:60px;font-size:34px}.planet-one{top:23px;left:28px;width:18px;height:18px}.planet-two{right:14px;top:83px;width:14px;height:14px}.planet-three{bottom:16px;left:61px}.hero-foot{padding:11px 20px;font-size:7px;letter-spacing:.8px}.hero-foot-right{display:none}.section-heading,.results-intro{align-items:flex-start;flex-direction:column;gap:12px;margin:30px 0 14px}.section-heading h2,.results-intro h2{font-size:25px}.step-chip{align-self:flex-start}.card{padding:18px 15px;border-radius:17px;margin:13px 0}.card h2{font-size:20px}.grid{grid-template-columns:1fr;gap:14px}.full{grid-column:auto}input{padding:13px;font-size:16px}.trust-row{gap:8px;margin:16px 0 30px}.trust-row>div{padding:12px}.admin-divider{padding:14px;gap:10px;align-items:flex-start}.admin-divider-icon{width:34px;height:34px}.admin-divider a{font-size:10px;margin-top:8px}.app-footer{flex-wrap:wrap;gap:9px 15px}.app-footer span:nth-child(2){order:3;width:100%}.app-footer a{font-size:10px}table{min-width:680px}.mobile-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));border:1px solid #ffffff15;border-radius:18px;background:rgba(13,20,36,.94);box-shadow:0 10px 40px #0008;backdrop-filter:blur(18px)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8491ab;font-size:9px}.mobile-nav a span{font-size:19px;line-height:1.2;color:#d7c18a}.mobile-nav a:active{color:var(--gold)}#savedRecordsCard .grid{margin-top:12px}.tableWrap{border-radius:10px}}
@media(max-width:390px){.hero h1{font-size:30px}.hero{padding-left:18px;padding-right:18px}.hero-foot{padding-left:16px;padding-right:16px}.section-heading h2,.results-intro h2{font-size:23px}.admin-divider{flex-wrap:wrap}.admin-divider a{margin-left:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Vimshottari Dasha click-to-drill-down */
.dasha-explorer{margin-top:22px}
.dasha-level{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.dasha-instructions{display:flex;align-items:center;gap:12px;padding:13px 15px;margin:18px 0 14px;border:1px solid rgba(233,199,124,.18);border-radius:13px;background:rgba(233,199,124,.045)}
.dasha-step{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e9c77c1c;color:var(--gold);font-weight:700}
.dasha-instructions strong{display:block;color:var(--text);font-size:12px}
.dasha-instructions p{margin:2px 0 0;color:var(--muted);font-size:11px}
.dasha-hint{margin-left:8px;color:var(--muted);font:500 10px 'DM Sans',sans-serif;letter-spacing:.2px}
.dasha-select-row{cursor:pointer;transition:background .15s,box-shadow .15s}
.dasha-select-row:hover{background:#26334c!important}
.dasha-select-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.dasha-select-row.dasha-selected{background:rgba(233,199,124,.13)!important;box-shadow:inset 3px 0 0 var(--gold)}
.dasha-select-row.dasha-selected td:first-child{color:var(--gold-strong);font-weight:700}
@media(max-width:760px){.dasha-instructions{padding:12px;align-items:flex-start}.dasha-hint{display:block;margin:3px 0 0}.dasha-level{margin-top:20px;padding-top:16px}}
