/* Datylux workspace theme: preserve geometry, data colors, controls, and dark mode. */
:root{--bg:#edf4fc;--bg-elev:#fff;--surface:#fff;--surface-2:#f4f8fd;--surface-3:#e8f1fb;--border:#cdddeb;--border-2:#b7cde1;--text:#12203a;--text-2:#435e7b;--text-3:#607a94;--brand:#1769ff;--brand-2:#089bad;--brand-3:#13bdd2;--brand-soft:#1769ff0d;--brand-border:#1769ff40;--brand-grad:linear-gradient(125deg,#1769ff,#089bad);--brand-grad-v:linear-gradient(180deg,#1769ff,#13bdd2);--r-lg:15px;--r-xl:19px}
:root.dark{--bg:#061126;--bg-elev:#0b1b32;--surface:#0d2039;--surface-2:#122b48;--surface-3:#173553;--border:#26415d;--border-2:#355675;--text:#edf5ff;--text-2:#b9cee4;--text-3:#9db8d2;--brand:#7ab5ff;--brand-2:#50d3e1;--brand-soft:#1769ff26;--brand-border:#78b7ff55}
body.app-page{background:radial-gradient(ellipse at 95% 0,#d9e9fb,transparent 60%),var(--bg);font-family:var(--astra-body)}
:root.dark body.app-page{background:radial-gradient(ellipse at 95% 0,#123258,transparent 65%),var(--bg)}
.app-page .content-wrap{background-image:radial-gradient(#1769ff16 .6px,transparent .6px);background-size:25px 25px}
.app-page h1,.app-page h2,.app-page h3,.app-page .shell-settings-head strong,.app-page .safe-zone-preview-toolbar h3{font-family:var(--astra-display);font-weight:500;letter-spacing:-.025em}
.app-page .shell-page-copy h1{font-size:25px;font-weight:500}
.app-page .shell-topbar{background:color-mix(in srgb,var(--surface) 96%,transparent);border-color:var(--border);box-shadow:0 4px 16px #0b315505}
.app-page .bar{--txt:#eff6ff;--txt2:#b8cee5;--txt3:#9fb9d4;--text:#eff6ff;--text-2:#b8cee5;--text-3:#9fb9d4;--surface:#0c213d;--surface-2:#153351;--border:#294562;--border2:#355a7e;--accent:#82bfff;--abg:#1769ff2b;--aborder:#5a9af450;background:radial-gradient(ellipse at 0 10%,#173961,transparent 58%),#061126;color:var(--txt);border-right-color:#264563}
:root.dark .app-page .bar{background:radial-gradient(ellipse at 0 10%,#153557,transparent 58%),#041023}
.app-page .bar .tab.on{background:linear-gradient(100deg,#1769ff44,#1769ff12);color:#edf6ff;box-shadow:inset 2px 0 0 #55bdff}
.app-page .bar .context-subnav button{color:#9ab8d5}.app-page .bar .context-subnav button.on{color:#e0f2ff}
.app-page .side-label{font-size:9px;letter-spacing:.14em;font-weight:500}
.astra-app-wordmark{display:block;width:140px;height:auto;max-width:100%}.app-page .bar .astra-app-wordmark{filter:brightness(0) invert(1)}
.app-page .logo-bar,body.astra-account .logo-bar,body.astra-dashboard .logo-bar{display:none}
.app-page.nav-collapsed .logo-bar{display:block}
.astra-boot-logo{width:190px;height:auto;display:block}:root.dark .astra-boot-logo{filter:brightness(0) invert(1)}
.app-page .kpi,.app-page .panel,.app-page .plan-stat,.app-page .plan-alloc,.app-page .plan-hero-budget,.app-page .plat-plan-card{box-shadow:0 8px 26px #16385b08;border-color:var(--border)}
.app-page .kpi{background:linear-gradient(135deg,var(--surface),var(--surface-2))}
.app-page .kpi-val,.app-page .kval,.app-page .plan-stat-val,.app-page .ph-big-input{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-weight:550}
.app-page .btn.primary,.app-page .btn.grad{background:#1769ff;border-color:#1769ff;box-shadow:inset 0 1px 0 #ffffff30;color:#fff}
.app-page .btn.primary:hover,.app-page .btn.grad:hover{background:#0756e5;color:#fff}
.app-page .modal,.app-page .welcome-card{border-radius:19px;box-shadow:0 28px 75px #06112630}
.app-page .welcome-choice{border-radius:13px}
.app-page .site-footer{background:var(--surface);border-color:var(--border)}
.app-page .site-footer .footer-links a,.app-page .site-footer .footer-copy,.app-page .site-footer .footer-social-label{color:var(--text-2)!important}
.app-page .site-footer .social-icon{background:var(--surface-2);border-color:var(--border);color:var(--text-2)}
/* Account and saved-dashboard pages use the same restrained surface system. */
body.astra-account,body.astra-dashboard{--accent:#1769ff;--txt:#12203a;--txt2:#435e7b;--txt3:#607a94;--card:#fff;--card2:#f4f8fd;--border:#cdddeb;--border2:#b7cde1;--nav:#fff;--input-bg:#fff;--input-disabled:#edf3fa;--muted:#607a94;color:var(--txt)}
body.astra-account,body.astra-dashboard{display:flex;flex-direction:column;min-height:100vh}
body.astra-account>nav,body.astra-dashboard>nav{flex-shrink:0}
body.astra-account main,body.astra-dashboard main{flex:1}
body.astra-account h1,body.astra-dashboard h1{font-family:var(--astra-display);font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1.1}
body.astra-account h2,body.astra-dashboard h2{font-size:24px;letter-spacing:-.025em}
body.astra-account main,body.astra-dashboard main{max-width:1080px;width:100%;padding:55px 32px 70px}
body.astra-account .section,body.astra-dashboard .stat-card,body.astra-dashboard .view-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 15px 45px #173b5e0c}
body.astra-account .section{padding:30px}
body.astra-account .plan-card{background:var(--card2);border-color:var(--border);border-radius:11px}
body.astra-account .nav-link,body.astra-dashboard .nav-link{color:var(--txt2);font-size:13px}
body.astra-account .nav-link:hover,body.astra-dashboard .nav-link:hover{color:#1769ff;background:#1769ff0d}
body.astra-account .nav-link.active,body.astra-dashboard .nav-link.active{color:#1769ff;background:#1769ff0d}
body.astra-account .btn-logout,body.astra-dashboard .btn-logout{color:var(--txt2);border-color:var(--border);min-height:36px}
body.astra-account .btn,body.astra-dashboard .btn-primary{background:#1769ff;color:#fff;border-color:#1769ff;border-radius:7px}
body.astra-dashboard .stat-label,body.astra-dashboard .view-meta,body.astra-dashboard .greeting,body.astra-dashboard .section-title,body.astra-dashboard .empty,body.astra-dashboard .loading{color:var(--txt3)}
body.astra-dashboard .stat-value,body.astra-dashboard .view-name,body.astra-dashboard .empty h3{color:var(--txt);font-family:var(--astra-display)}
body.astra-dashboard .view-btn{background:var(--card2);color:var(--txt2);border-color:var(--border)}
:root.dark body.astra-account,:root.dark body.astra-dashboard{--txt:#edf5ff;--txt2:#b9cee4;--txt3:#9db8d2;--card:#0d2039;--card2:#122b48;--border:#26415d;--border2:#355675;--nav:#0b1b32;--input-bg:#091a30;--input-disabled:#11233b;--muted:#9db8d2;background:radial-gradient(ellipse at 95% 0,#123258,transparent 65%),#061126;color:var(--txt)}
:root.dark body.astra-account :is(h1,h2,h3,h4),:root.dark body.astra-dashboard :is(h1,h2,h3,h4){color:var(--txt)}
:root.dark body.astra-account>nav,:root.dark body.astra-dashboard>nav{background:#0b1b32;border-color:var(--border)}
:root.dark body.astra-account .astra-app-wordmark,:root.dark body.astra-dashboard .astra-app-wordmark{filter:brightness(0) invert(1)}
:root.dark body.astra-account .field input{color:var(--txt);background:var(--input-bg);border-color:var(--border)}
:root.dark body.astra-account .site-footer,:root.dark body.astra-dashboard .site-footer{background:#0b1b32;border-color:var(--border)}
:root.dark body.astra-account .site-footer :is(.footer-links a,.footer-copy,.footer-social-label),:root.dark body.astra-dashboard .site-footer :is(.footer-links a,.footer-copy,.footer-social-label){color:#b9cee4!important}
/* Internal tester keeps its access gate and working layout. */
body.astra-tester{font-family:var(--astra-body);background:radial-gradient(ellipse at 90% 0,#d9e9fb,transparent 65%),#edf4fc}
.astra-tester h1,.astra-tester h2,.astra-tester h3{font-family:var(--astra-display);font-weight:500;letter-spacing:-.035em}
.astra-tester .tester-hero h1{font-size:clamp(35px,4vw,52px)}
.astra-tester .tester-nav{background:#fffffff5;border-color:#cdddeb}
.astra-tester .tester-panel,.astra-tester .access-card{border-radius:16px;border-color:#cdddeb;box-shadow:0 12px 35px #173b5e0d}
@media(max-width:760px){.app-page .shell-page-copy h1{font-size:20px}.astra-app-wordmark{width:125px}.app-page.nav-collapsed .logo-bar{display:none}body.astra-account main,body.astra-dashboard main{padding:35px 20px 50px}body.astra-account .section{padding:22px}body.astra-account .nav-link,body.astra-dashboard .nav-link{padding:7px 9px;font-size:11px}body.astra-account .btn-logout,body.astra-dashboard .btn-logout{padding:6px 9px;font-size:11px}}
@media(max-width:400px){body.astra-dashboard>nav{padding-inline:12px;gap:8px}body.astra-dashboard .astra-app-wordmark{width:100px}body.astra-dashboard .nav-link{padding-inline:5px}body.astra-account>nav{padding-inline:15px;gap:10px}body.astra-account .astra-app-wordmark{width:115px}}
@media(prefers-reduced-motion:reduce){.app-page .kpi,.app-page .plan-stat,.app-page .welcome-choice{animation:none!important;transition:none!important;opacity:1;transform:none}}

.ai-processing-notice{margin:8px 0 12px;color:var(--txt2);font-size:12px;line-height:1.5;}
.ai-processing-notice a{color:var(--accent);text-decoration:underline;}
