/* EVIE glass layer — loaded last. Opaque frosted glass over a soft white light. Light theme inverts. */
:root{--g-bg:#070a14;--g-rgb:22,28,46;--g-a:.62;--g-line:rgba(255,255,255,.09);--g-hi:rgba(255,255,255,.14);--g-text:#f3f6ff;--g-muted:#a9b3c9;--g-accent:#a9c0ff;--g-blur:28px;--g-r:22px;--g-shadow:0 18px 50px rgba(0,0,0,.35);--mx:50%;--my:30%;--evie-level:0;--nav-h:76px}
:root[data-theme=light]{--g-bg:#e9edf5;--g-rgb:255,255,255;--g-a:.66;--g-line:rgba(20,30,60,.08);--g-hi:rgba(255,255,255,.9);--g-text:#121a2c;--g-muted:#5d6880;--g-accent:#3d5fd9;--g-shadow:0 18px 50px rgba(40,60,110,.12)}
html.evie-ui body{background:var(--g-bg)!important;color:var(--g-text)}
#evie-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(60vmax 60vmax at var(--mx) var(--my),rgba(255,255,255,.10),transparent 60%),var(--g-bg);transition:background-position .3s}
:root[data-theme=light] #evie-backdrop{background:radial-gradient(60vmax 60vmax at var(--mx) var(--my),rgba(255,255,255,.95),transparent 60%),var(--g-bg)}
#evie-backdrop i{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(70px);opacity:.28;animation:evieblob 26s ease-in-out infinite alternate}
#evie-backdrop i:nth-child(1){background:#7f9bff;left:-12vmax;top:-14vmax}
#evie-backdrop i:nth-child(2){background:#c39bff;right:-16vmax;top:20vh;animation-duration:32s}
#evie-backdrop i:nth-child(3){background:#ffffff;left:30vw;bottom:-24vmax;opacity:.12;animation-duration:38s}
:root[data-theme=light] #evie-backdrop i{opacity:.22}
@keyframes evieblob{to{transform:translate(6vmax,4vmax) scale(1.12)}}
html.evie-ui :is(.panel,.stat-card,.detail-card,.bank-card,.client-card,.journal-card,.evm-card,.topbar:not(body.hud-home .topbar),.sidebar,.ivy-intelligence,.today-strip,.agenda-day,.agenda-list,.tabs){background:rgba(var(--g-rgb),var(--g-a))!important;border:1px solid var(--g-line)!important;backdrop-filter:blur(var(--g-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--g-blur)) saturate(140%);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow)!important;color:var(--g-text)}
html.evie-ui :is(.panel,.stat-card,.detail-card,.evm-card,.bank-card){border-radius:var(--g-r)!important}
html.evie-ui .topbar{border-width:0 0 1px!important;border-radius:0!important;box-shadow:none!important;position:sticky;top:0;z-index:30}
html.evie-ui .sidebar{border-width:0 1px 0 0!important;border-radius:0!important}
html.evie-ui :is(.muted,small,.dialog-subtitle){color:var(--g-muted)}
html.evie-ui .button{border-radius:14px;border:1px solid var(--g-line);background:rgba(var(--g-rgb),.5);color:var(--g-text);transition:transform .15s,background .2s}
html.evie-ui .button.primary{background:linear-gradient(135deg,#dfe6ff,#a9bcff);color:#0b1020;border:0}
:root[data-theme=light].evie-ui .button.primary{background:linear-gradient(135deg,#2f4fd1,#6d5cf0);color:#fff}
html.evie-ui .button:hover{background:rgba(var(--g-rgb),.8)}
html.evie-ui dialog{background:rgba(var(--g-rgb),.92)!important;backdrop-filter:blur(30px);border:1px solid var(--g-line);border-radius:24px;color:var(--g-text);max-width:min(640px,calc(100vw - 24px))}
html.evie-ui dialog::backdrop{background:rgba(5,8,16,.45);backdrop-filter:blur(6px)}
/* home core */
html.evie-ui .dali-core-control[data-renderer=evie]{background:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer}
html.evie-ui #neural-canvas{width:100%;height:100%;display:block}
/* mobile nav + orb */
@media(max-width:1023px){
 html.evie-ui .mobile-nav{display:flex!important;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:var(--nav-h);border-radius:26px;padding:0 6px;background:rgba(var(--g-rgb),.78)!important;backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);border:1px solid var(--g-line);box-shadow:var(--g-shadow);justify-content:space-between;gap:2px}
 html.evie-ui .mobile-nav>a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--g-muted);padding:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html.evie-ui .mobile-nav>a span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
 html.evie-ui .mobile-nav>a.active{color:var(--g-text)}
 html.evie-ui main{padding-bottom:calc(var(--nav-h) + 40px + env(safe-area-inset-bottom))!important}
 html.evie-ui .app-footer{padding-bottom:calc(var(--nav-h) + 24px)}
 html.evie-ui .toast-region{bottom:calc(var(--nav-h) + 24px)!important}
}
.evie-orb-button{flex:0 0 58px;width:58px;height:58px;margin-top:-26px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:radial-gradient(circle at 35% 30%,#fff,#c9d6ff 35%,#7e93ff 70%,#5a49d8);box-shadow:0 10px 30px rgba(120,140,255,.55),inset 0 -6px 14px rgba(40,20,120,.35);display:grid;place-items:center;cursor:pointer;transform:scale(calc(1 + var(--evie-level)*.18));transition:transform .08s}
.evie-orb-core{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 18px #fff}
html[data-evie=listening] .evie-orb-button{animation:evieping 1.2s infinite}
html[data-evie=thinking] .evie-orb-core{animation:eviespin 1s linear infinite;border-radius:30%}
@keyframes evieping{0%{box-shadow:0 0 0 0 rgba(140,220,255,.6)}100%{box-shadow:0 0 0 18px rgba(140,220,255,0)}}
@keyframes eviespin{to{transform:rotate(360deg)}}
@media(min-width:1024px){.mobile-nav{display:none!important}}
/* hide legacy floating pill on web: no overlaps */
html.evie-ui:not([data-desktop=true]) #ivy-voice-dock{display:none!important}
/* EVIE panel */
#evie-panel{position:fixed;z-index:60;right:20px;bottom:20px;width:min(400px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 120px));display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:26px;background:rgba(var(--g-rgb),.9);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border:1px solid var(--g-line);box-shadow:var(--g-shadow);color:var(--g-text)}
#evie-panel[hidden]{display:none}
@media(max-width:1023px){#evie-panel{left:12px;right:12px;width:auto;bottom:calc(var(--nav-h) + 22px + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--nav-h) - 110px)}}
.evie-panel-head{display:flex;align-items:center;gap:10px}.evie-panel-head div{flex:1;display:flex;flex-direction:column}.evie-panel-head small{color:var(--g-muted)}
.evie-panel-orb{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#a9bcff 50%,#6a55e0);box-shadow:0 0 18px rgba(150,170,255,.6)}
.evie-log{overflow:auto;display:flex;flex-direction:column;gap:8px;min-height:60px;padding-right:2px}
.evie-msg{margin:0;padding:9px 13px;border-radius:16px;max-width:88%;line-height:1.4;font-size:14px}
.evie-msg.user{align-self:flex-end;background:linear-gradient(135deg,#dfe6ff,#b6c5ff);color:#0b1020}
.evie-msg.evie{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid var(--g-line)}
.evie-suggest{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.evie-chip{flex:0 0 auto;border:1px solid var(--g-line);background:rgba(255,255,255,.05);color:var(--g-text);border-radius:999px;padding:7px 12px;font-size:12.5px;cursor:pointer}
.evie-form{display:flex;gap:6px;align-items:center}.evie-form input{flex:1;min-width:0;border-radius:16px;border:1px solid var(--g-line);background:rgba(255,255,255,.06);color:var(--g-text);padding:11px 14px}
.evie-draft{border:1px dashed var(--g-accent);border-radius:16px;padding:10px}.evie-draft dl{display:grid;gap:4px;margin:6px 0}.evie-draft dl div{display:flex;justify-content:space-between;gap:10px}.evie-draft dt{color:var(--g-muted)}
#evie-mode-badge{border-radius:999px;border:1px solid var(--g-accent);background:rgba(169,192,255,.12);color:var(--g-text);padding:6px 12px;font-size:12px;display:inline-flex;gap:6px;align-items:center}
.evie-live-dot{width:7px;height:7px;border-radius:50%;background:#7ff0c8;box-shadow:0 0 10px #7ff0c8}
/* modules */
.evm-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));margin:16px 0}
.evm-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.evm-card{display:flex;flex-direction:column;gap:6px;padding:18px;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.evm-business::before{content:"";position:absolute;inset:-40% -40% auto auto;width:160px;height:160px;border-radius:50%;background:var(--accent);opacity:.18;filter:blur(30px)}
.evm-card header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.evm-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.evm-big{font-size:clamp(24px,5vw,32px);font-weight:700;letter-spacing:-.02em;margin:4px 0 0}
.evm-bar{height:6px;border-radius:9px;background:rgba(127,140,180,.2);overflow:hidden}.evm-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#a9c0ff,#d3a6ff)}.evm-bar.warn i{background:linear-gradient(90deg,#ffb27d,#ff7d8a)}
.evm-sub,.evm-muted{color:var(--g-muted);font-size:13px;margin:0}
.evm-note{display:flex;gap:8px;align-items:flex-start;color:var(--g-muted);font-size:12.5px;margin:12px 0 0}.evm-note svg{flex:0 0 16px}
.evm-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px}.evm-hero-amount{font-size:clamp(30px,7vw,46px);font-weight:700;margin:4px 0}.evm-hero-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--g-muted)}
.evm-kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px}
.evm-col{background:rgba(255,255,255,.04);border:1px solid var(--g-line);border-radius:16px;padding:10px;min-height:120px}.evm-col h4{margin:0 0 8px;display:flex;justify-content:space-between}
.evm-task{background:rgba(var(--g-rgb),.8);border:1px solid var(--g-line);border-radius:12px;padding:8px 10px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:6px}.evm-task p{margin:0;font-size:13.5px}
.evm-table{display:flex;flex-direction:column}.evm-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--g-line);flex-wrap:wrap}.evm-row>span:nth-child(2){flex:1;min-width:140px;display:flex;flex-direction:column}
.evm-dot{width:9px;height:9px;border-radius:50%;background:#7ff0c8}.evm-dot.expense{background:#ff7d8a}
.evm-acc-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin-top:12px}
.evm-acc{border:1px solid var(--g-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:6px}
.evm-acc.credit{background:linear-gradient(140deg,rgba(40,70,190,.55),rgba(20,30,80,.6));color:#fff}
.evm-acc header{display:flex;justify-content:space-between;align-items:center}.evm-acc header span{display:flex;gap:8px;align-items:center;font-weight:600}
.evm-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:8px 0}.evm-dl dt{font-size:11px;opacity:.7}.evm-dl dd{margin:0;font-weight:600;font-size:13px}
.evm-assign{margin-top:12px}.evm-assign select{max-width:180px}
.evm-cal-form{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));align-items:end}.evm-cal-form .wide{grid-column:span 2}@media(max-width:520px){.evm-cal-form .wide{grid-column:1/-1}}
.evm-cal-result{display:grid;gap:12px;margin-top:16px}.evm-macros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}.evm-macros article{border:1px solid var(--g-line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px}
.evm-emo-layout{display:grid;gap:18px;grid-template-columns:minmax(0,260px) 1fr;align-items:center}@media(max-width:640px){.evm-emo-layout{grid-template-columns:1fr}}
.evm-radar{width:100%;max-width:280px;margin:auto;overflow:visible}.evm-radar .grid,.evm-trend .grid{fill:none;stroke:var(--g-line);stroke-width:1}.evm-radar .shape{fill:rgba(169,192,255,.28);stroke:#a9c0ff;stroke-width:2}.evm-radar text{fill:var(--g-muted);font-size:10px}
.evm-emo-bars{display:flex;flex-direction:column;gap:10px}.evm-emo{display:grid;grid-template-columns:90px 1fr 36px;gap:10px;align-items:center;font-size:13px}.evm-emo strong{text-align:right}
.evm-trend{margin:16px 0 0}.evm-trend svg{width:100%;height:120px}.evm-trend figcaption{font-size:12.5px;color:var(--g-muted);margin-bottom:6px}
.evm-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.evm-mod input{position:absolute;opacity:0}.evm-mod span{display:flex;gap:8px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--g-line);cursor:pointer}.evm-mod input:checked+span{border-color:var(--g-accent);background:rgba(169,192,255,.14)}.evm-mod input:focus-visible+span{outline:2px solid var(--g-accent)}
.evie-switches{display:grid;gap:10px;margin:12px 0}.evie-switch{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.evie-switch input{position:absolute;opacity:0}.evie-switch-ui{flex:0 0 42px;height:24px;border-radius:99px;background:rgba(127,140,180,.35);position:relative;transition:background .2s}.evie-switch-ui::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.evie-switch input:checked+.evie-switch-ui{background:#7f9bff}.evie-switch input:checked+.evie-switch-ui::after{transform:translateX(18px)}.evie-switch input:focus-visible+.evie-switch-ui{outline:2px solid var(--g-accent)}.evie-switch span:last-child{display:flex;flex-direction:column}
.evie-status-row{display:flex;gap:8px;flex-wrap:wrap}.tag.ok{border-color:#7ff0c8;color:#7ff0c8}
.evie-usage{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;margin:6px 0;font-size:13px}@media(max-width:520px){.evie-usage{grid-template-columns:1fr}}
.evie-people{list-style:none;padding:0;display:grid;gap:6px}.evie-people li{display:flex;gap:8px;align-items:center}.evie-invite-out code{font-size:16px;letter-spacing:.08em}
.evie-field{display:flex;flex-direction:column;gap:6px;margin:8px 0}
/* splash */
#evie-splash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;align-content:center;gap:10px;background:radial-gradient(circle at 50% 45%,#1a2140,#05070e 70%);color:#fff;cursor:pointer}
.splash-dots{position:absolute;width:0;height:0;left:50%;top:45%}.splash-dots i{position:absolute;width:6px;height:6px;border-radius:50%;background:#cfd9ff;box-shadow:0 0 12px #a9c0ff;transform:rotate(calc(var(--a)*1deg)) translateX(calc(var(--r)*1px))}
.splash-orb{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#b6c5ff 40%,#5a49d8);box-shadow:0 0 60px rgba(150,170,255,.7)}
.splash-word{margin:28px 0 0;font-size:38px;font-weight:700;letter-spacing:.32em;overflow:hidden;display:flex}.splash-word span{display:inline-block}.splash-tag{margin:0;color:#a9b3c9;font-size:13px;letter-spacing:.08em}
/* login */
#account-gate{background:var(--g-bg)!important;display:grid;place-items:center;padding:20px;overflow:auto}
.gate-aurora{position:fixed;inset:0;pointer-events:none;overflow:hidden}.gate-aurora i{position:absolute;width:50vmax;height:50vmax;border-radius:50%;filter:blur(80px);opacity:.35;animation:evieblob 20s ease-in-out infinite alternate}.gate-aurora i:nth-child(1){background:#7f9bff;left:-15vmax;top:-15vmax}.gate-aurora i:nth-child(2){background:#c39bff;right:-15vmax;bottom:-15vmax}.gate-aurora i:nth-child(3){background:#fff;left:30%;top:30%;opacity:.12}
#account-gate .account-card{position:relative;width:min(420px,100%);padding:28px;border-radius:28px;background:rgba(var(--g-rgb),.7)!important;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border:1px solid var(--g-line);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow);color:var(--g-text)}
#account-gate .account-mark{display:flex;align-items:center;gap:10px;margin-bottom:12px}.gate-orb canvas{width:48px;height:48px;display:block}.gate-word{font-weight:700;letter-spacing:.3em}
#account-gate form{display:grid;gap:12px}#account-gate label{display:flex;flex-direction:column;gap:6px;font-size:13px}#account-gate input{border-radius:14px;border:1px solid var(--g-line);background:rgba(255,255,255,.06);color:var(--g-text);padding:12px 14px;font-size:16px}
#account-gate .account-submit{padding:13px;font-size:15px}#account-gate .account-secondary{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
@media(prefers-reduced-motion:reduce){#evie-backdrop i,.gate-aurora i,.evie-orb-button,.evie-orb-core{animation:none!important}}
html[data-motion=reduced] #evie-backdrop i{animation:none}
html.evie-ui .mobile-nav .evie-orb-button{border-radius:50%!important;padding:0!important;flex:0 0 58px!important;width:58px!important;height:58px!important;min-width:58px}

/* ===================== v2.3 · design system fixes ===================== */
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--fs-xs:12px;--fs-sm:13.5px;--fs-md:15px;--tap:44px;--dock-gap:12px}
/* Toolbars: never squeeze buttons into letter-by-letter columns */
html.evie-ui .toolbar .button,html.evie-ui .toolbar>a.button{flex:0 1 auto;min-width:max-content;white-space:nowrap;min-height:var(--tap);font-size:var(--fs-sm)}
html.evie-ui .journal-tools{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}
html.evie-ui .journal-tools>.button{width:100%;min-width:0;white-space:normal;text-align:center;line-height:1.25;padding:10px 14px}
html.evie-ui .journal-tools>.button:first-child{grid-column:1/-1;background:linear-gradient(135deg,#dfe6ff,#a9bcff);color:#0b1020;border:0}
@media(max-width:520px){html.evie-ui .toolbar{gap:8px}html.evie-ui .toolbar>.button,html.evie-ui .toolbar>a.button{flex:1 1 calc(50% - 8px);min-width:0;white-space:normal;line-height:1.25;text-align:center;padding:8px 12px}}
/* Dialogs: bottom sheet on phones, one column, sticky header + footer above safe area */
html.evie-ui dialog#app-dialog{padding:0;overflow:hidden;display:none;flex-direction:column}
html.evie-ui dialog#app-dialog[open]{display:flex}
html.evie-ui #dialog-content{display:flex;flex-direction:column;min-height:0;max-height:inherit;flex:1}
html.evie-ui .dialog-header{position:sticky;top:0;z-index:3;padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--g-line);background:rgba(var(--g-rgb),.96)!important}
html.evie-ui .dialog-header h2{font-size:clamp(18px,4.6vw,22px);line-height:1.2;margin:0}
html.evie-ui .dialog-body{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 20px 0;flex:1;min-height:0}
html.evie-ui .form-footer{position:sticky;bottom:0;z-index:3;display:flex!important;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:16px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:rgba(var(--g-rgb),.97)!important;border-top:1px solid var(--g-line)}
html.evie-ui .form-footer .button{flex:1 1 auto;min-width:0;white-space:normal;line-height:1.2;min-height:var(--tap)}
html.evie-ui .form-footer .button.primary{flex:1.4 1 auto}
html.evie-ui .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html.evie-ui .form-grid>.full,html.evie-ui .form-grid>.form-footer,html.evie-ui .form-grid>p,html.evie-ui .form-grid>fieldset,html.evie-ui .form-grid>details{grid-column:1/-1}
html.evie-ui .dialog-body label{font-size:var(--fs-sm);color:var(--g-muted);display:flex;flex-direction:column;gap:6px;min-width:0}
html.evie-ui .dialog-body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){width:100%;min-height:var(--tap);font-size:16px;border-radius:14px;border:1px solid var(--g-line);background:rgba(255,255,255,.06)!important;color:var(--g-text)!important;padding:10px 14px}
:root[data-theme=light] html.evie-ui .dialog-body :is(input,select,textarea){background:rgba(255,255,255,.75)!important}
@media(max-width:600px){
 html.evie-ui dialog#app-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:min(92dvh,calc(100dvh - 12px));border-bottom:0}
 html.evie-ui .form-grid{grid-template-columns:1fr!important}
 html.evie-ui .form-footer{justify-content:stretch}
}
/* Mobile dock: perfectly centered orb */
@media(max-width:1023px){
 html.evie-ui .mobile-nav{display:grid!important;grid-template-columns:repeat(var(--nav-cols,6),minmax(0,1fr));align-items:center;justify-items:center;padding:0 4px;left:max(var(--dock-gap),env(safe-area-inset-left));right:max(var(--dock-gap),env(safe-area-inset-right))}
 html.evie-ui .mobile-nav>a{width:100%;min-height:var(--tap)}
 html.evie-ui .mobile-nav .evie-orb-button{grid-column:var(--orb-col,4);grid-row:1;justify-self:center;margin:-30px 0 0!important}
 html.evie-ui main{padding-bottom:calc(var(--nav-h) + 56px + env(safe-area-inset-bottom))!important}
 html.evie-ui .app-footer{margin-bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom))}
 /* simplified header */
 html.evie-ui .topbar{min-height:60px;padding:8px 12px;gap:8px;flex-wrap:nowrap}
 html.evie-ui .topbar .breadcrumb-workspace,html.evie-ui .topbar .global-clock,html.evie-ui .topbar .search-trigger span,html.evie-ui .topbar .search-trigger kbd,html.evie-ui .topbar-divider,html.evie-ui .topbar .ivy-rail-toggle,html.evie-ui .topbar .ivy-pause,html.evie-ui .topbar .notification-button{display:none!important}
 html.evie-ui .topbar-actions{flex-wrap:nowrap;gap:6px;margin-left:auto}
 html.evie-ui #sync-status{max-width:96px;font-size:11px;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html.evie-ui .topbar .icon-button,html.evie-ui .search-trigger{min-width:var(--tap);min-height:var(--tap)}
}
@media(max-width:360px){html.evie-ui #sync-status{display:none}}
@media(max-width:1023px) and (orientation:landscape) and (max-height:500px){:root{--nav-h:60px}html.evie-ui .mobile-nav>a span{display:none}}
/* Creator credit */
.evie-credit{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-muted);opacity:.8;white-space:nowrap}
.evie-credit strong{color:var(--g-text);font-weight:600}
.sidebar .evie-credit{display:block;padding:10px 6px 14px;text-align:center}
@media(max-width:1023px){.topbar .evie-credit{display:none}#evie-credit-mobile{display:block;text-align:center;margin:8px 0 0}}
@media(min-width:1024px){#evie-credit-mobile{display:none}}
.splash-credit{margin:22px 0 0;font-size:clamp(15px,3.8vw,20px);letter-spacing:.22em;text-transform:uppercase;color:#dfe6ff}
.splash-credit b{font-weight:700;color:#fff}
/* Glass everywhere (with solid fallback) */
html.evie-ui :is(.neural-hero,.rancho-hero,.rancho-rail,.alvento-editorial,.next-actions,.client-card,.module-hero,.insight-card,.chart-card,table,.record-row,.task-row,.widget,.summary-grid>*,.search-result,.empty-state,.notice){background:rgba(var(--g-rgb),var(--g-a))!important;border-color:var(--g-line)!important;color:var(--g-text)}
html.evie-ui .neural-hero{background:transparent!important;border:0!important;box-shadow:none!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--g-a:.96}}
/* Desktop: dominant neural core */
@media(min-width:1024px){
 html.evie-ui .neural-hero{display:grid!important;grid-template-columns:minmax(260px,.75fr) minmax(0,1.6fr);grid-template-rows:auto 1fr auto;align-items:center;min-height:min(78vh,820px)!important;gap:0 24px}
 html.evie-ui .neural-hero-copy{grid-column:1;grid-row:1/3;align-self:center;text-align:left}
 html.evie-ui .neural-hero .neural-orb{grid-column:2;grid-row:1/3;height:min(70vh,760px)!important;min-height:520px!important;width:100%}
 html.evie-ui .neural-hero .dali-core-control{width:100%!important;height:100%!important;aspect-ratio:auto!important;max-width:none!important}
 html.evie-ui .neural-hero .hero-bottom{grid-column:1/-1;grid-row:3}
 html.evie-ui .neural-hero-copy h1{font-size:clamp(40px,4.4vw,68px);letter-spacing:-.03em}
}
/* Inline composer + subtitles under the core */
.evie-stage{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 auto 18px;max-width:640px;width:100%;padding:0 4px}
.evie-subs{min-height:3.2em;text-align:center;display:flex;flex-direction:column;gap:6px;width:100%}
.evie-subs p{margin:0;line-height:1.45;max-width:58ch;margin-inline:auto;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.evie-subs .you{color:var(--g-muted);font-size:var(--fs-sm)}
.evie-subs .you::before{content:"Tú · ";opacity:.7}
.evie-subs .evie{color:var(--g-text);font-size:clamp(16px,2.2vw,19px);font-weight:500}
.evie-subs .status{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--g-accent)}
.evie-composer{display:flex;align-items:center;gap:6px;width:100%;padding:6px;border-radius:999px;background:rgba(var(--g-rgb),.55);border:1px solid var(--g-line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 var(--g-hi)}
.evie-composer input{flex:1;min-width:0;border:0;background:transparent;color:var(--g-text);font-size:16px;padding:10px 12px;outline:0}
.evie-composer:focus-within{border-color:var(--g-accent)}
.evie-composer .icon-button{min-width:var(--tap);min-height:var(--tap);border-radius:50%}
.evie-composer .evie-send{background:linear-gradient(135deg,#dfe6ff,#a9bcff);color:#0b1020}
html[data-evie=listening] .evie-composer .evie-mic{background:#7ff0c8;color:#0b1020}
.evie-stage-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:var(--fs-xs)}
.evie-stage-links button{background:none;border:0;color:var(--g-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.evie-stage .evie-draft{width:100%}
/* v2.3b refinements */
html.evie-ui .form-footer{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}
html.evie-ui .form-footer .button{white-space:nowrap;padding:0 12px;font-size:var(--fs-sm)}
html.evie-ui .form-footer .button.primary{order:3}
@media(max-width:600px){html.evie-ui .form-footer{grid-template-columns:1fr 1fr}html.evie-ui .form-footer .button.primary{grid-column:1/-1;order:-1}}
html.evie-ui .evie-composer input{background:transparent!important;border:0!important;box-shadow:none!important}
@media(min-width:1024px){
 html.evie-ui .neural-hero{min-height:min(66vh,720px)!important}
 html.evie-ui .neural-hero .neural-orb{height:min(60vh,680px)!important;min-height:460px!important}
 html.evie-ui .evie-stage{margin-top:-28px;position:relative;z-index:2}
}
html.evie-ui .mobile-nav>a span{font-size:11px}
/* ===== Hábitos / Logros / Tendencias / Compras ===== */
.ev-habit-hero,.ev-ach-hero{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:18px;align-items:center;padding:20px}
@media(max-width:600px){.ev-habit-hero,.ev-ach-hero{grid-template-columns:1fr}}
.evm-hero-amount span{font-size:.5em;color:var(--g-muted)}
.ev-constellation{width:100%;max-height:170px}.ev-constellation .ring{fill:none;stroke:var(--g-line)}.ev-constellation .off{fill:rgba(169,192,255,.18)}.ev-constellation .on{fill:#a9c0ff;filter:drop-shadow(0 0 4px #a9c0ff)}.ev-constellation .sun{fill:#fff;filter:drop-shadow(0 0 10px #a9c0ff)}
html:not([data-motion=reduced]) .ev-constellation .on{animation:evtwinkle 3s ease-in-out infinite;animation-delay:calc(var(--k)*.3s)}@keyframes evtwinkle{50%{opacity:.55}}
.ev-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ev-checklist li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--g-line);border-radius:16px;background:rgba(255,255,255,.03);flex-wrap:wrap}
.ev-checklist li>a{flex:1;min-width:140px;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.ev-checklist li.done{border-color:rgba(127,240,200,.4);background:rgba(127,240,200,.07)}.ev-checklist li.done strong{text-decoration:line-through;text-decoration-color:rgba(127,240,200,.6)}
.ev-checklist li.min{border-style:dashed}
.ev-checklist.compact li{padding:6px 10px}
.ev-check{flex:0 0 var(--tap);width:var(--tap);height:var(--tap);border-radius:50%;border:1.5px solid var(--g-accent);background:transparent;color:var(--g-text);display:grid;place-items:center;cursor:pointer}
li.done>.ev-check,li.bought>.ev-check{background:#7ff0c8;border-color:#7ff0c8;color:#0b1020}
.ev-templates{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ev-templates .evie-chip{display:inline-flex;gap:6px;align-items:center}.ev-templates .evie-chip svg{width:15px;height:15px}
.ev-heat{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;width:max-content;max-width:100%;overflow-x:auto}
.ev-heat i{width:13px;height:13px;border-radius:3px;background:rgba(127,140,180,.15)}.ev-heat i.ok{background:#7ff0c8}.ev-heat i.min{background:rgba(127,240,200,.45)}.ev-heat i.miss{background:rgba(255,125,138,.25)}
.ev-days{display:flex;gap:6px;flex-wrap:wrap;border:0;padding:0}.ev-days legend{font-size:var(--fs-sm);color:var(--g-muted);margin-bottom:6px}.ev-days label{flex-direction:row!important}.ev-days input{position:absolute;opacity:0}.ev-days span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--g-line);color:var(--g-text);cursor:pointer}.ev-days input:checked+span{background:#a9c0ff;color:#0b1020;border-color:#a9c0ff}.ev-days input:focus-visible+span{outline:2px solid var(--g-accent)}
.ev-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:12px;margin:16px 0}
.ev-badge-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 12px;border-radius:20px;border:1px solid var(--g-line);background:rgba(var(--g-rgb),.45);opacity:.6;filter:grayscale(.7)}
.ev-badge-card.got{opacity:1;filter:none;border-color:rgba(211,166,255,.45);box-shadow:0 0 30px rgba(169,192,255,.15)}
.ev-badge-card .evm-bar{width:100%}
.ev-badge{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:conic-gradient(from 210deg,#a9c0ff,#d3a6ff,#7ff0c8,#a9c0ff);color:#0b1020;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.ev-badge-card:not(.got) .ev-badge{background:rgba(127,140,180,.25);color:var(--g-muted)}
.ev-proof{color:#7ff0c8}
.ev-next{display:flex;flex-direction:column;gap:6px}
.ev-award-toast{position:fixed;z-index:120;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:20px;width:min(420px,calc(100vw - 24px));background:rgba(var(--g-rgb),.92);backdrop-filter:blur(24px);border:1px solid rgba(211,166,255,.45);box-shadow:var(--g-shadow);color:var(--g-text)}
.ev-award-toast small{color:var(--g-accent);letter-spacing:.14em;font-size:10.5px}.ev-award-toast p{margin:2px 0 0;color:var(--g-muted);font-size:13px}.ev-award-toast strong{display:block}
.ev-confetti{position:fixed;inset:0;z-index:119;pointer-events:none}
.ev-sound{margin-top:10px}
.ev-heatmap{display:flex;flex-direction:column;gap:3px;overflow-x:auto;padding-bottom:4px}
.ev-heatmap>div{display:grid;grid-template-columns:38px repeat(24,minmax(10px,1fr));gap:3px;align-items:center;min-width:340px}
.ev-heatmap span{font-size:11px;color:var(--g-muted)}
.ev-heatmap i{aspect-ratio:1;border-radius:3px;background:rgba(169,192,255,calc(.07 + var(--v)*.9))}
.ev-hours b{font-size:10px;color:var(--g-muted);font-weight:500}
.ev-obs{margin:0 0 10px;line-height:1.5}
.ev-range{margin:0}
.ev-list-card{text-align:left;cursor:pointer;font:inherit}
.ev-shop-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.ev-shop-sum div{border:1px solid var(--g-line);border-radius:14px;padding:10px;display:flex;flex-direction:column}.ev-shop-sum strong{font-size:16px}.ev-shop-sum .neg{color:#ff7d8a}
.ev-item-form{display:grid;grid-template-columns:1fr 64px 84px var(--tap);gap:6px;margin-bottom:8px}
.ev-item-form input{min-width:0;min-height:var(--tap);border-radius:12px;border:1px solid var(--g-line);background:rgba(255,255,255,.06);color:var(--g-text);padding:8px 10px;font-size:16px}
.ev-items{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.ev-items li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:14px;border:1px solid var(--g-line)}
.ev-items li span{flex:1;display:flex;flex-direction:column;min-width:0}.ev-items li.bought strong{text-decoration:line-through;opacity:.7}
.ev-home-habits{max-width:760px;margin:0 auto 18px}
.ev-conns{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin-bottom:8px}
.ev-conn{border:1px solid var(--g-line);border-radius:18px;padding:14px;background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:6px}
.ev-conn header{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.ev-conn.ok{border-color:rgba(127,240,200,.35)}.ev-conn.err{border-color:rgba(255,125,138,.45)}.ev-conn.muted{opacity:.75}
.tag.warn{border-color:#ffd36e;color:#ffd36e}.tag.err{border-color:#ff7d8a;color:#ff7d8a}
.ev-conn-group{margin:14px 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-muted)}
html.evie-ui .evie-composer #evie-stage-input,html.evie-ui .evie-composer input{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--g-text)!important}
html.evie-ui #evie-settings,html.evie-ui .evm-accounts,html.evie-ui .ev-shop,html.evie-ui .evm-calories,html.evie-ui .evm-emotions,html.evie-ui .evm-prompts{padding:clamp(16px,4vw,24px)!important}
html.evie-ui .evie-status-row{margin:10px 0}
/* light theme parity */
:root[data-theme=light].evie-ui{color-scheme:light}
:root[data-theme=light].evie-ui .evie-subs p{text-shadow:none}
:root[data-theme=light].evie-ui .evie-msg.evie,:root[data-theme=light].evie-ui .evm-col,:root[data-theme=light].evie-ui .ev-checklist li{background:rgba(255,255,255,.6)}
:root[data-theme=light].evie-ui .evm-acc.credit{color:#fff}
/* login: secondary buttons readable on glass */
#account-gate .button:not(.primary){background:rgba(255,255,255,.08)!important;color:var(--g-text)!important;border:1px solid var(--g-line)!important;min-height:44px}
#account-gate .button.primary{background:linear-gradient(135deg,#dfe6ff,#a9bcff)!important;color:#0b1020!important;border:0!important;min-height:48px}
#account-gate .password-control{display:flex;gap:8px}#account-gate .password-control input{flex:1;min-width:0}
#account-gate .account-secondary .button{width:100%}

/* Home core v2.3.1 — single EVIE neural renderer, square, centered; no legacy sphere/rings. */
html.evie-ui #neural-home-hero .neural-orb{display:grid!important;place-items:center!important;overflow:visible}
html.evie-ui #neural-home-hero .dali-core-control{position:relative;width:min(100%,62vh,760px)!important;height:auto!important;aspect-ratio:1/1!important;max-width:100%!important;margin:auto;padding:0;border-radius:50%!important;background:none!important;box-shadow:none!important;border:0!important;overflow:visible}
html.evie-ui #neural-home-hero .dali-core-control::before,html.evie-ui #neural-home-hero .dali-core-control::after{content:none!important;display:none!important}
html.evie-ui #neural-home-hero #neural-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 71%);mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 71%)}
html.evie-ui #neural-home-hero .dali-core-control:focus-visible{outline:2px solid rgba(160,190,255,.9);outline-offset:4px}
html.evie-ui #neural-home-hero .orb-coordinate{position:absolute;left:0;right:0;text-align:center;z-index:3;pointer-events:none}
html.evie-ui #neural-home-hero .coordinate-top{top:2%}html.evie-ui #neural-home-hero .coordinate-bottom{bottom:2%}
@media(max-width:767px){html.evie-ui #neural-home-hero .neural-orb{height:auto!important;min-height:0!important;margin:8px auto 16px!important}html.evie-ui #neural-home-hero .dali-core-control{width:min(86vw,360px)!important}}

/* v2.4 voice: replay control when iOS blocks autoplay (re-uses the already generated audio) */
.evie-replay{display:inline-flex;align-items:center;gap:8px;margin:6px auto;padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid rgba(190,170,255,.55);background:rgba(150,120,255,.18);color:inherit;font:inherit;font-size:14px;cursor:pointer;backdrop-filter:blur(10px)}
.evie-replay[hidden]{display:none!important}.evie-replay svg{width:16px;height:16px}
.evie-subs .evie-replay{display:flex}

/* v2.4 Configuración personalizada */
.evp{padding:clamp(16px,3vw,28px)}.evp-form{display:grid;gap:22px}
.evp-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.evp-preview{border-radius:18px;padding:16px;background:linear-gradient(135deg,rgba(140,120,255,.16),rgba(120,200,255,.08));border:1px solid rgba(180,170,255,.28)}
.evp-preview p{margin:6px 0;font-size:15px;line-height:1.5}.evp-preview small,.evp-hint,.evp-field small{color:var(--muted,#9aa4bf);font-size:12px;line-height:1.4}
.evp-group{border:1px solid var(--glass-line,rgba(255,255,255,.1));border-radius:18px;padding:16px 18px;margin:0;min-width:0}
.evp-group legend{font-weight:700;padding:0 6px}.evp-hint{margin:0 0 12px}
.evp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.evp-field{display:grid;gap:6px;min-width:0}.evp-field.wide{grid-column:1/-1}.evp-field span{font-size:13px;font-weight:600}
.evp-field .input,.evp-field .select{width:100%;min-height:44px}
.evp-switch{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:6px 0}.evp-switch input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:#9b8cff}
.evp-switch span{display:grid;gap:2px}.evp-switch small{color:var(--muted,#9aa4bf);font-size:12px}
.evp-privacy{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted,#9aa4bf);margin:0}.evp-privacy svg{width:16px;height:16px;flex:none}
.evp-actions{display:flex;flex-wrap:wrap;gap:10px}.evp-actions .button{min-height:44px}
@media(max-width:700px){.evp-top{grid-template-columns:1fr}.evp-actions .button{flex:1 1 100%}}
/* EVIE web sources */
.evie-sources{margin:8px auto 0;max-width:640px;text-align:left;font-size:13px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.evie-sources span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa4bf)}
.evie-sources ol{margin:6px 0 0;padding-left:20px;display:grid;gap:4px}.evie-sources a{color:#b9b0ff;text-decoration:underline;word-break:break-word}
.evie-sources small{color:var(--muted,#9aa4bf)}.evie-src-note{display:block;color:var(--muted,#9aa4bf);font-size:12px}
html[data-theme=light] .evie-sources a{color:#4b3fd6}
/* v2.4 Finanzas: saldo disponible + barras agrupadas */
.bank-sub{margin:6px 0 0;font-size:12px;line-height:1.4;opacity:.85;max-width:34ch}
.bank-cta{margin-top:10px;display:inline-flex;gap:6px;align-items:center;min-height:40px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:inherit;font:inherit;font-size:13px;cursor:pointer}
.bank-cta svg{width:15px;height:15px}
.fc-panel{padding:clamp(16px,2.6vw,26px);display:grid;gap:14px}
.fc-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end}.fc-head h2{margin:4px 0 0}
.fc-range{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.fc-chip{min-height:36px;padding:6px 14px;border-radius:999px;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.fc-chip.active{background:linear-gradient(135deg,#c9c2ff,#9fb7ff);color:#141430;font-weight:700}
.fc-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fc-sum>div{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);min-width:0}
.fc-sum small{font-size:12px;color:var(--muted,#9aa4bf);display:flex;align-items:center;gap:6px}.fc-sum strong{font-size:clamp(15px,2vw,20px);overflow-wrap:anywhere}
.fc-dot{display:inline-block;width:10px;height:10px;border-radius:3px}.fc-dot.in{background:#7fe3c4}.fc-dot.out{background:#ff9bb3}.fc-in{fill:#7fe3c4}.fc-out{fill:#ff9bb3}
.fc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.fc-svg{width:100%;min-width:300px;height:220px;display:block}
.fc-grid line{stroke:rgba(255,255,255,.08)}.fc-grid text,.fc-x{fill:var(--muted,#9aa4bf);font-size:10px}
.fc-svg:hover rect{opacity:.6}.fc-svg rect:hover{opacity:1}
.fc-empty{display:grid;gap:4px;place-items:center;text-align:center;padding:36px 12px;border:1px dashed rgba(255,255,255,.14);border-radius:16px;color:var(--muted,#9aa4bf)}.fc-empty strong{color:inherit}
html[data-theme=light] .fc-grid line{stroke:rgba(20,30,60,.1)}html[data-theme=light] .fc-in{fill:#1fa37a}html[data-theme=light] .fc-out{fill:#d9466a}html[data-theme=light] .fc-dot.in{background:#1fa37a}html[data-theme=light] .fc-dot.out{background:#d9466a}
html[data-theme=light] .fc-range,html[data-theme=light] .fc-sum>div{background:rgba(255,255,255,.55);border-color:rgba(20,30,60,.08)}
@media(prefers-reduced-motion:no-preference){html:not([data-motion=reduced]):not([data-paused=true]) .fc-svg rect{animation:fc-grow .5s ease-out both;transform-origin:bottom;transform-box:fill-box}}
@keyframes fc-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:600px){.fc-sum{grid-template-columns:1fr 1fr}.fc-sum>div:last-child{grid-column:1/-1}.fc-range{width:100%;justify-content:space-between}.fc-chip{flex:1}}

/* v2.4 Agenda: día / semana / mes / tareas */
.ag-views{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);width:max-content;max-width:100%;overflow-x:auto;margin:4px 0 8px}
.ag-tab{min-height:40px;padding:6px 16px;border-radius:999px;border:0;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.ag-tab.active{background:linear-gradient(135deg,#c9c2ff,#9fb7ff);color:#141430;font-weight:700}
.ag-dest{font-size:12px;color:var(--muted,#9aa4bf);display:flex;gap:6px;align-items:center;margin:0 0 12px}.ag-dest svg{width:14px;height:14px}
.ag-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.ag-nav .icon-button{min-width:44px;min-height:44px}
.ag-range{font-size:clamp(16px,2.2vw,20px);margin:0 auto 0 6px;text-transform:capitalize}.ag-jump .input{min-height:40px}
.ag-day{padding:16px;display:grid;gap:12px}.ag-allday{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ag-hours{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ag-hours>li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start}
.ag-hours time{font-variant-numeric:tabular-nums;font-weight:700;padding-top:14px;color:#b9b0ff}.ag-free{grid-template-columns:1fr!important;text-align:center;padding:20px;color:var(--muted,#9aa4bf)}
.ag-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ag-wday{display:flex;flex-direction:column;gap:6px;min-height:180px;padding:10px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);min-width:0}
.ag-wday.today{border-color:rgba(185,176,255,.6);box-shadow:inset 0 0 0 1px rgba(185,176,255,.25)}
.ag-wday-h{display:flex;justify-content:space-between;align-items:baseline;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:2px 0;text-transform:capitalize}.ag-wday-h strong{font-size:20px}
.ag-chip{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:10px;background:rgba(150,130,255,.16);border-left:3px solid #9b8cff;color:inherit;text-decoration:none;font-size:12px;min-width:0}
.ag-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ag-chip time{font-weight:700;font-variant-numeric:tabular-nums}.ag-chip.done{opacity:.55;text-decoration:line-through}
.ag-chip.k-event{border-color:#7fd3ff;background:rgba(127,211,255,.14)}.ag-chip.k-reminder{border-color:#ffd27f;background:rgba(255,210,127,.14)}
.ag-none{font-size:12px;color:var(--muted,#9aa4bf)}.ag-add{margin-top:auto;min-height:36px;border-radius:10px;border:1px dashed rgba(255,255,255,.2);background:transparent;color:inherit;cursor:pointer;font-size:18px}
.ag-month{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.ag-mhead,.ag-mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ag-mhead span{padding:8px;text-align:center;font-size:12px;color:var(--muted,#9aa4bf);background:rgba(255,255,255,.04)}
.ag-cell{min-height:92px;display:flex;flex-direction:column;gap:3px;align-items:stretch;text-align:left;padding:6px;border:0;border-top:1px solid rgba(255,255,255,.06);border-left:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;font:inherit;cursor:pointer;min-width:0}
.ag-cell.out{opacity:.35}.ag-cell.today .ag-n{background:#b9b0ff;color:#141430;border-radius:999px;padding:0 7px}.ag-n{font-weight:700;font-size:13px;align-self:flex-start}
.ag-dot{font-size:11px;padding:2px 5px;border-radius:6px;background:rgba(150,130,255,.2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ag-dot.done{opacity:.5;text-decoration:line-through}.ag-dot.k-event{background:rgba(127,211,255,.2)}
.ag-more{font-size:11px;color:var(--muted,#9aa4bf)}
.ag-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.ag-group h2{display:flex;gap:8px;align-items:center;font-size:17px}.ag-group h2 span{font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08)}
.ag-wd{display:flex;gap:6px;flex-wrap:wrap;border:0;padding:0;margin:0}.ag-wd legend{font-size:13px;margin-bottom:6px}.ag-wd-b input{position:absolute;opacity:0;pointer-events:none}
.ag-wd-b span{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.2);cursor:pointer}.ag-wd-b input:checked+span{background:#b9b0ff;color:#141430;font-weight:700}.ag-wd-b input:focus-visible+span{outline:2px solid #b9b0ff;outline-offset:2px}
html[data-theme=light] .ag-wday,html[data-theme=light] .ag-mhead span,html[data-theme=light] .ag-views{background:rgba(255,255,255,.6);border-color:rgba(20,30,60,.1)}
html[data-theme=light] .ag-hours time{color:#4b3fd6}html[data-theme=light] .ag-cell{border-color:rgba(20,30,60,.07)}
@media(max-width:900px){.ag-week{grid-template-columns:1fr}.ag-wday{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center}.ag-wday-h{width:100%}.ag-add{margin:0 0 0 auto;width:44px}}
@media(max-width:600px){.ag-cell{min-height:58px;padding:4px}.ag-dot{font-size:0;height:6px;padding:0;border-radius:3px}.ag-range{width:100%;order:5;margin:4px 0 0}.ag-views{width:100%}.ag-tab{flex:1;padding:6px 8px}}
.evie-draft-amount{display:grid;gap:6px;font-size:13px;margin:8px 0}.evie-draft-amount .input{min-height:44px}
.evie-draft dd{overflow-wrap:anywhere}

/* ===== v2.4 M9 · Gimnasio general ===== */
.gym-tabs{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:flex-end}
.gym-tab-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.35rem;border-radius:16px;background:color-mix(in srgb,var(--surface,#fff) 55%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.gym-tab-group>small{width:100%;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65;padding:0 .35rem}
.gym-tab-hint{margin:.25rem 0 1rem;font-size:.85rem;opacity:.7}
.gl-form .gl-list{display:grid;gap:.75rem}
.gl-ex{position:relative;display:grid;grid-template-columns:2fr 1.4fr repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem;border-radius:14px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);background:color-mix(in srgb,var(--surface,#fff) 40%,transparent);min-width:0}
.gl-ex legend{font-size:.75rem;font-weight:600;opacity:.75;padding:0 .3rem}
.gl-ex label{display:grid;gap:.2rem;font-size:.78rem;min-width:0}
.gl-ex input,.gl-ex select{width:100%;min-width:0}
.gl-ex .gl-detail{grid-column:1/-1}
.gl-remove{position:absolute;top:.2rem;right:.3rem;width:32px;height:32px;font-size:1.1rem}
@media (max-width:640px){.gl-ex{grid-template-columns:repeat(3,minmax(0,1fr))}.gl-ex .gl-name{grid-column:1/-1}.gl-ex label:has(select){grid-column:1/-1}}
.ev-pantry .cards-grid{margin-top:.75rem}
