/* DALI Neural Interface: additive visual layer. Domain and stored keys stay independent. */
:root{--bg:#f3f6fb;--surface:#fff;--surface-alt:#edf2f8;--text:#14243a;--muted:#52647a;--line:#dce5ef;--blue:#235ce0;--blue-soft:#e9efff;--green:#08754b;--red:#bf314b;--amber:#8a5a0e;--radius:20px;--shadow:0 10px 32px #203d6010;--module:#235ce0;--module-rgb:35,92,224;--border:var(--line);--accent:var(--module)}
:root[data-theme=dark]{--bg:#07111f;--surface:#0e1c2e;--surface-alt:#14263c;--text:#eff5ff;--muted:#a2b5cd;--line:#263b54;--blue:#7ba5ff;--blue-soft:#162f56;--green:#55dda3;--red:#ff8ca0;--amber:#efc36b;--shadow:0 12px 35px #0002}
body{font-size:14px;background-image:radial-gradient(ellipse at 90% 5%,rgba(var(--module-rgb),.055),transparent 45%);font-variant-numeric:tabular-nums}body[data-module=granja]{--module:#08784f;--module-rgb:19,163,112}body[data-module=gimnasio]{--module:#137e97;--module-rgb:23,170,199}body[data-module=aprendizaje],body[data-module=objetivos]{--module:#7942ce;--module-rgb:136,88,224}body[data-module=soma]{--module:#a34475;--module-rgb:174,73,124}body[data-module=contenido]{--module:#aa338c;--module-rgb:186,65,163}body[data-module=libros],body[data-module=bitacora]{--module:#92632f;--module-rgb:172,120,57}body[data-module=alvento]{--module:#736248;--module-rgb:147,125,92}html[data-theme=dark] body{--module:var(--blue)}html[data-theme=dark] body[data-module=granja]{--module:#55dda3}html[data-theme=dark] body[data-module=contenido]{--module:#e69adb}html[data-theme=dark] body[data-module=aprendizaje]{--module:#ba9bff}
@media(min-width:1024px){.app-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}}
main{max-width:1700px;margin:0 auto;padding-top:30px}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding-top:24px}.brand{align-items:center;margin-bottom:10px;padding-left:7px}.brand-logo{width:38px;height:38px;object-fit:contain;border-radius:12px}.brand-word{letter-spacing:-1px;font-size:22px}.brand-version{color:var(--muted)}.nav-item{border-radius:12px;min-height:45px;position:relative}.nav-item>svg{padding:5px;box-sizing:content-box;background:var(--surface-alt);border-radius:8px;width:17px;height:17px}.nav-item.active{background:var(--blue-soft);color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.nav-item.active>svg{background:var(--blue);color:var(--bg)}.nav-group-label{color:var(--muted);letter-spacing:1.5px}.sidebar-profile{border-top:1px solid var(--line)}
.topbar{height:98px;background:var(--surface);border-bottom:1px solid var(--line);gap:18px}.global-clock{display:grid;text-align:center;flex-shrink:0}.global-clock time{font:750 28px 'Manrope',sans-serif;letter-spacing:-1px;line-height:1.3}.global-clock small{font-size:10px;color:var(--muted);text-transform:capitalize}.breadcrumbs{min-width:0}.search-trigger{background:var(--surface-alt);border:1px solid var(--line);border-radius:12px}.topbar .icon-button{width:44px;height:44px}.topbar-actions{gap:3px}.page-heading{position:relative;margin-bottom:26px;padding:22px 0 8px}.page-heading h1{font-size:36px;letter-spacing:-1.3px;line-height:1.2}.page-heading p{color:var(--muted);font-size:13px;max-width:620px;margin-top:10px}.eyebrow{color:var(--module);font-weight:700;letter-spacing:2px;font-size:9px}.heading-actions{gap:8px}.button{min-height:44px;border-radius:11px;font-size:12px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s}.button.primary{background:var(--module);color:#fff;border-color:transparent;box-shadow:0 5px 16px rgba(var(--module-rgb),.15)}html[data-theme=dark] .button.primary{background:#2f6bff;color:white}body[data-module=granja] .button.primary{background:#09734e;color:white}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)}.panel,.stat-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-header{padding-top:21px}.panel-title h2{font-size:14px}.detail-card{padding:24px}.record-row{min-height:72px}.record-main p{color:var(--muted)}.tag{font-size:10px;min-height:25px;align-items:center;border-radius:7px}.metric-value,.money,.bank-amount{font-variant-numeric:tabular-nums}.tabs{gap:8px;padding:6px;background:var(--surface-alt);border:1px solid var(--line);border-radius:15px;overflow-x:auto;scrollbar-width:thin}.tabs .tab{border:0;border-radius:10px;min-height:44px;flex-shrink:0}.tabs .tab.active{background:var(--surface);color:var(--module);box-shadow:0 3px 12px #0001}.toolbar{flex-wrap:wrap;gap:12px}.input,.select,textarea{border-radius:10px;min-height:44px;border-color:var(--line);background:var(--surface-alt);color:var(--text)}.form-field label{font-size:12px;color:var(--text)}.empty-state{padding:32px 25px;min-height:0;max-width:620px;margin:auto}.empty-state h3{font-size:21px}.empty-state p{font-size:13px;color:var(--muted)}.empty-state .module-icon{width:78px;height:78px;background:radial-gradient(circle,rgba(var(--module-rgb),.16),transparent);border:1px solid rgba(var(--module-rgb),.2);transform:rotate(-5deg);border-radius:24px}.empty-state .module-icon svg{width:32px;height:32px;color:var(--module)}.empty-state .button{margin-top:10px}.notice{border-radius:13px;font-size:12px;line-height:1.65}.numeric-stats{gap:16px}.stat-icon{background:var(--blue-soft);color:var(--module)}.bank-card{border-radius:20px;box-shadow:0 16px 32px #133b7824}.body-map{background:radial-gradient(ellipse,rgba(42,203,231,.1),transparent 65%);border-radius:20px}.body-map svg{min-height:320px}.vision-grid{gap:20px}
dialog{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:24px;box-shadow:0 28px 120px #0007;max-height:90dvh}dialog::backdrop{background:#020917a8;backdrop-filter:blur(7px)}.dialog-header{background:var(--surface);position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:23px;letter-spacing:-.6px}.dialog-subtitle{color:var(--muted)}.form-footer{position:sticky;bottom:-1px;background:var(--surface);padding:16px 0;border-top:1px solid var(--line);z-index:2}.form-details{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:8px}.form-details summary{cursor:pointer;min-height:30px;font-weight:650;list-style-position:inside}.form-details>.form-grid{padding-top:18px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-column:1/-1}.choice-card{border:1px solid var(--line);border-radius:12px;padding:12px 8px;min-height:56px;text-align:center;cursor:pointer;background:var(--surface-alt);display:flex;gap:8px;align-items:center;justify-content:center}.choice-card:has(input:checked){border-color:var(--module);background:rgba(var(--module-rgb),.10);box-shadow:inset 0 0 0 1px var(--module)}.choice-card input{accent-color:var(--module)}.neural-chart{height:260px;position:relative;margin:18px 0}.neural-chart canvas{max-width:100%}.chart-table{width:100%;border-collapse:collapse}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px}.chart-section{margin:22px 0;padding:24px}.chart-section>h2{font-size:18px}.chart-section>p{color:var(--muted);margin-top:6px}.neural-module-art{position:absolute;right:10px;top:0;opacity:.06;pointer-events:none}.neural-module-art svg{width:100px;height:100px}.neural-stage-rail{display:flex;gap:10px;overflow-x:auto;padding:10px 0;margin:10px 0 20px}.neural-stage-rail>article{min-width:130px;border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--surface)}.neural-stage-rail strong{display:block;font-size:21px;color:var(--module)}
.welcome-scene{position:fixed;inset:0;z-index:120;display:grid;place-content:center;text-align:center;color:#fff;background:#07111f;overflow:hidden}.welcome-scene::before,.welcome-scene::after{content:'';position:absolute;inset:0 50% 0 0;background:linear-gradient(90deg,#07111f,#122b45);border-right:1px solid #4fddf855;animation:welcome-left 1.6s ease-in-out forwards;z-index:-1}.welcome-scene::after{inset:0 0 0 50%;animation-name:welcome-right;transform:scaleX(-1)}.welcome-scene h2{font-size:clamp(28px,6vw,64px);letter-spacing:6px;font-weight:600}.welcome-scene p{color:#afc6e3;font-size:16px;margin-top:14px}.welcome-scene button{position:absolute;right:26px;top:24px;color:#fff;border:1px solid #55718d}.welcome-scene .welcome-line{height:2px;background:#4fddf8;width:90px;margin:0 auto 30px;box-shadow:0 0 35px #4fddf8}.welcome-scene.leaving{opacity:0;transition:opacity .25s;pointer-events:none}@keyframes welcome-left{70%{transform:translateX(0)}100%{transform:translateX(-100%)}}@keyframes welcome-right{70%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media(max-width:1150px){.global-clock time{font-size:23px}.search-trigger span,.search-trigger kbd{display:none}.topbar{gap:8px}.global-clock small{font-size:9px}}
@media(max-width:767px){main{padding:22px 16px 30px}.topbar{height:108px;flex-wrap:wrap;align-content:center;padding:8px 12px;gap:3px 8px}.breadcrumbs{order:1;flex:1}.topbar-actions{order:2}.global-clock{order:3;width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border-top:1px solid var(--line);padding:5px 4px 0}.global-clock time{font-size:23px}.global-clock small{font-size:9px;max-width:52%;text-align:right}.topbar .small-avatar{display:none}.topbar .search-trigger{min-width:44px}.page-heading h1{font-size:32px}.page-heading{padding-top:8px}.page-heading p{font-size:12px}.detail-card{padding:19px}.button{min-height:44px}.tabs{max-width:100%}.summary-grid .bank-card,.bank-card{width:100%;aspect-ratio:1.586/1;min-height:0;grid-column:1/-1}.mobile-nav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 28px #0001}.mobile-nav a{min-height:48px}.mobile-nav button{background:#2f6bff}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog{margin:auto 0 0;max-width:100%;width:100%;max-height:92dvh;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}.dialog-header h2{font-size:20px}.chart-section{padding:18px}.neural-chart{height:240px}}
html[data-visibility=hidden] *,html[data-visibility=hidden] *::before,html[data-visibility=hidden] *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after{animation:none!important;transition:none!important}.neural-view-enter{animation:neural-enter .32s ease-out}@keyframes neural-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
