/* Flusara-only names mapped onto the CloudBasket palette (defined in cb.css) */
:root{--panel2:var(--soft);--text:var(--ink);--muted:var(--mut2);--violet:var(--g2);--violet-d:var(--btn1);--violet-l:var(--g3);--teal:#14b8a6;--pink:#e11d62;--rose:var(--red);--mint:var(--pos);
  --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-text-size-adjust:100%}

input,textarea,select{-webkit-user-select:text;user-select:text}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}
button:active{transform:scale(.97)}
.num,h1,h2,.big{font-family:"SF Pro Display","Space Grotesk",-apple-system,system-ui,sans-serif;font-variant-numeric:tabular-nums}

/* layout now comes from cb.css (CloudBasket shell) */
/* type & surfaces */
h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.01em}
h2{margin:0;font-size:15px;font-weight:600}
.sub{color:var(--muted);font-size:13px;margin-top:2px}
.ptop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:48px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:18px 20px}
.card+.card{margin-top:14px}
.grid>.card{margin-top:0}
.row{display:flex;align-items:center;gap:12px}
.between{justify-content:space-between}
.muted{color:var(--muted)}
.small{font-size:12px}
.big{font-size:46px;font-weight:600;letter-spacing:-.02em;line-height:1.05}
.big small{font-size:18px;color:var(--muted);font-weight:500;margin-right:8px}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;background:var(--panel);border:1px solid var(--line);font-size:13px;font-weight:600}
.tag{font-size:10px;font-weight:600;border-radius:6px;padding:2px 6px;color:var(--violet-l);background:rgba(40,120,232,.25);white-space:nowrap}
.tag.amber{color:#FCD34D;background:rgba(251,191,36,.14)}.tag.mint{color:var(--mint);background:rgba(110,231,183,.12)}.tag.rose{color:#FDA4AF;background:rgba(251,113,133,.14)}
.bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;border-radius:4px;background:var(--violet)}
.btn{min-height:48px;padding:0 20px;border-radius:16px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--violet-d);color:#fff}
.btn.ghost{background:transparent;border:1px solid #3A3358;color:var(--text)}
.btn.danger{background:transparent;border:1px solid rgba(251,113,133,.4);color:#FDA4AF}
.btn.block{width:100%}
.btn[disabled]{opacity:.5}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{min-height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.chip.on{background:var(--violet-d);border-color:var(--violet-d);color:#fff}
.dot{width:9px;height:9px;border-radius:5px;flex:none}

/* lists */
.list{display:flex;flex-direction:column}
.item{display:flex;align-items:center;gap:12px;min-height:58px;padding:6px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}
.item:last-child{border-bottom:0}
.ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;font-weight:600;font-size:13px}
.item .t{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item .grow{flex:1;min-width:0}
.amt{font-weight:600;white-space:nowrap}.amt.in{color:var(--mint)}
.dayhead{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 0 2px}

/* forms */
label.f{display:block;font-size:12px;color:var(--muted);margin:14px 0 6px}
input,select,textarea{width:100%;min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--soft);color:var(--text);padding:0 14px;font:inherit;font-size:16px;outline:0}
textarea{padding:12px 14px;min-height:110px;resize:none;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--violet)}
.amount-in{font-size:40px;font-weight:600;text-align:center;min-height:72px;border-radius:20px;background:transparent;border:0;letter-spacing:-.02em}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--panel2);border-radius:14px;padding:3px}
.seg button{min-height:40px;border-radius:11px;font-weight:600;font-size:14px;color:var(--muted)}
.seg button.on{background:var(--violet-d);color:#fff}
.switch{width:50px;height:30px;border-radius:15px;background:#3A3358;position:relative;flex:none;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;transition:transform .2s}
.switch.on{background:var(--violet-d)}.switch.on::after{transform:translateX(20px)}
.banner{border-radius:14px;padding:10px 14px;font-size:13px;margin-top:12px}
.banner.ok{background:rgba(110,231,183,.1);border:1px solid rgba(110,231,183,.3);color:var(--mint)}
.banner.warn{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:#FCD34D}
.banner.info{background:rgba(40,120,232,.14);border:1px solid rgba(47,124,246,.4);color:var(--violet-l)}

/* sheet + toast */
#sheet-bg{position:fixed;inset:0;background:rgba(5,4,10,.6);opacity:0;pointer-events:none;transition:opacity .2s;z-index:30}
#sheet-bg.on{opacity:1;pointer-events:auto}
#sheet{position:fixed;left:0;right:0;bottom:0;max-height:88%;background:var(--panel);border-radius:28px 28px 0 0;border:1px solid var(--line);padding:10px 20px calc(20px + var(--sab));transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);z-index:31;overflow-y:auto}
#sheet.on{transform:none}
#sheet .grab{width:40px;height:5px;border-radius:3px;background:#3A3358;margin:0 auto 14px}
@media (min-width:900px){#sheet{left:50%;right:auto;bottom:auto;top:50%;width:520px;max-height:80%;border-radius:28px;transform:translate(-50%,-46%) scale(.96);opacity:0;transition:transform .2s,opacity .2s}#sheet.on{transform:translate(-50%,-50%);opacity:1}#sheet:not(.on){pointer-events:none}}
#toast{position:fixed;left:50%;bottom:calc(90px + var(--sab));transform:translate(-50%,20px);background:#2A2540;border:1px solid #3A3358;padding:12px 18px;border-radius:16px;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:40;max-width:88%}
#toast.on{opacity:1;transform:translate(-50%,0)}
.offline{background:rgba(251,191,36,.12);color:#FCD34D;font-size:12px;text-align:center;padding:calc(6px + var(--sat)) 12px 6px;font-weight:600}
.center-screen{margin:auto;width:100%;max-width:420px;padding:24px calc(24px + var(--sar)) 24px calc(24px + var(--sal))}
.week{display:flex;align-items:flex-end;gap:10px;height:96px;margin-top:12px}
.week .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.week .b{width:100%;border-radius:8px 8px 4px 4px;background:rgba(47,124,246,.35);min-height:4px}
.week .col.today .b{background:var(--violet)}
.week span{font-size:11px;color:var(--muted)}
.ring{position:relative;width:150px;height:150px;margin:0 auto}
.ring .mid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:600}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* polish: glass cards, glow, gradient bars */
.card{background:linear-gradient(160deg,rgba(26,23,40,.92),rgba(18,16,28,.92));border:1px solid rgba(47,124,246,.16);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 12px 32px rgba(0,0,0,.35);transition:border-color .2s,transform .2s}
@media (hover:hover){.card:hover{border-color:rgba(47,124,246,.38)}}
.grid>.card:first-child{background:radial-gradient(420px 220px at 0% 0%,rgba(47,124,246,.28),transparent 70%),linear-gradient(160deg,#1E1836,#13101F);border-color:rgba(47,124,246,.35)}
.bar{height:10px;border-radius:5px;background:rgba(255,255,255,.06)}
.bar>i{border-radius:5px;background:linear-gradient(90deg,#2878e8,#6aa0ff);box-shadow:0 0 12px rgba(47,124,246,.45)}
.btn:not(.ghost):not(.danger){background:linear-gradient(135deg,#2f7cf6,#1f5fd1);box-shadow:0 8px 20px rgba(31,95,209,.4)}
.pill{background:rgba(255,255,255,.04)}

/* accounts page */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.stat{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:20px;background:linear-gradient(160deg,rgba(26,23,40,.92),rgba(18,16,28,.92));border:1px solid rgba(47,124,246,.16)}
.dotc{width:12px;height:12px;border-radius:6px;flex:none;box-shadow:0 0 10px currentColor}
.sv{font-size:19px;font-weight:600}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:6px}
.chip{flex:none;min-height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:13px;font-weight:600;color:var(--muted)}
.chip i{font-style:normal;font-size:11px;margin-left:6px;padding:2px 7px;border-radius:10px;background:rgba(255,255,255,.08)}
.chip.on{background:linear-gradient(135deg,#2f7cf6,#1f5fd1);color:#fff;border-color:transparent}
.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.acard{min-height:170px;border-radius:22px;padding:16px 18px;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.acard::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.12)}
.ab{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.92);color:#222;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}
.av{font-size:26px;font-weight:700;letter-spacing:-.01em}
.flow{flex:1;border-radius:14px;padding:10px 12px}.flow b{font-size:17px}
.flow.in{background:rgba(16,185,129,.14);color:#6EE7B7}.flow.out{background:rgba(244,63,94,.14);color:#FDA4AF}
aside.c4{display:flex;flex-direction:column;gap:14px}
@media (max-width:899px){aside.c4,section.c8{width:100%}}

/* light theme */
html[data-mode=light]{--bg:#F4F2FB;--panel:#FFFFFF;--panel2:#ECE8F8;--line:#E3DEF3;--text:#1B1730;--muted:#6B6585;--violet-l:#1f5fd1;--mint:#059669;color-scheme:light}
html[data-mode=light] body{background-image:radial-gradient(520px 360px at 100% 0%,rgba(47,124,246,.16),transparent 70%),radial-gradient(480px 320px at 0% 100%,rgba(45,212,191,.12),transparent 70%)}
html[data-mode=light] .rail,html[data-mode=light] .tabbar{background:rgba(255,255,255,.88)}
html[data-mode=light] .card,html[data-mode=light] .stat{background:var(--card);border-color:var(--line);box-shadow:0 8px 24px rgba(80,60,140,.08)}
html[data-mode=light] .grid>.card:first-child{background:radial-gradient(420px 220px at 0% 0%,rgba(47,124,246,.18),transparent 70%),#fff;border-color:rgba(47,124,246,.35)}
html[data-mode=light] .big{background:linear-gradient(180deg,#1B1730,#1f5fd1);-webkit-background-clip:text;background-clip:text}
html[data-mode=light] h1{background:linear-gradient(90deg,#1B1730 30%,#1f5fd1);-webkit-background-clip:text;background-clip:text}
html[data-mode=light] input,html[data-mode=light] select,html[data-mode=light] textarea{background:#F7F5FD}
html[data-mode=light] .bar,html[data-mode=light] .pill,html[data-mode=light] .chip,html[data-mode=light] .chip i{background:rgba(80,60,140,.07)}
html[data-mode=light] .chip.on{color:#fff}
html[data-mode=light] .ico{filter:none}
html[data-mode=light] .btn.ghost{border-color:#CFC8E8;color:var(--text)}
html[data-mode=light] .switch,html[data-mode=light] #sheet .grab{background:#CFC8E8}
html[data-mode=light] #toast{background:#fff;border-color:#E3DEF3;color:var(--text);box-shadow:0 10px 30px rgba(80,60,140,.2)}
html[data-mode=light] #sheet-bg{background:rgba(30,20,60,.35)}
html[data-mode=light] .banner.warn,html[data-mode=light] .offline{color:#B45309}
html[data-mode=light] .tag{color:#1f5fd1}
html[data-mode=light] .flow.in{color:#047857}html[data-mode=light] .flow.out{color:#BE123C}
html[data-mode=light] svg circle[stroke="#231F36"]{stroke:#E3DEF3}
html[data-mode=light] svg text{fill:#6B6585}
html[data-mode=light] .week .b{background:rgba(47,124,246,.3)}
html[data-mode=light] .nav-btn.on{color:#1f5fd1}
html[data-mode=light] .chip.on{background:linear-gradient(135deg,#2f7cf6,#1f5fd1);color:#fff}
html[data-mode=light] .chip.on i{background:rgba(255,255,255,.25)}
.btn{white-space:nowrap}
@media (max-width:899px){.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:12px;gap:8px}.sv{font-size:16px}.ptop{flex-wrap:wrap}}

/* bulk select */
.chk{width:24px;height:24px;border-radius:8px;border:2px solid var(--muted);flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}
.chk.on{background:var(--violet-d);border-color:var(--violet-d)}
.bulk{margin-bottom:12px;border-color:rgba(47,124,246,.45)}
a.btn.ghost{color:var(--text)}

.ai{background:linear-gradient(135deg,rgba(124,92,255,.22),rgba(60,200,255,.10));border:1px solid rgba(124,92,255,.35)}
.ai-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.orb{width:44px;height:44px;border-radius:50%;flex:none;background:radial-gradient(circle at 30% 30%,#9fe8ff,#7c5cff 55%,#ff6bd6);box-shadow:0 0 22px rgba(124,92,255,.6);animation:orb 3.5s ease-in-out infinite}
.orb.listen{animation:orbl .8s ease-in-out infinite;box-shadow:0 0 34px rgba(255,107,214,.9)}
@keyframes orb{50%{transform:scale(1.07)}}@keyframes orbl{50%{transform:scale(1.25)}}
.ai-form{display:flex;gap:8px;align-items:center}.ai-form input{flex:1;min-width:0}
.mic{width:44px;height:44px;border-radius:50%;border:0;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7c5cff,#ff6bd6)}
.mic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ai-a{margin-top:12px;font-size:15px;line-height:1.55;font-weight:500}.ai-a:empty{display:none}

.bankpick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bk{border:0;border-radius:12px;color:#fff;font-weight:600;font-size:12px;padding:12px 6px;min-height:44px}
.acard.card::after,.acard.loan::after{content:"";position:absolute;right:16px;bottom:16px;width:34px;height:24px;border-radius:5px;background:linear-gradient(135deg,#f5d98a,#c9a24a);opacity:.85}
.acard.loan{filter:saturate(.8)}.acard{position:relative}

.wctl{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 10px;padding:6px 8px;border-radius:10px;background:rgba(124,92,255,.16)}
.wctl button{border:0;border-radius:8px;min-width:36px;min-height:32px;margin-left:4px;color:var(--text);background:rgba(255,255,255,.10);font-weight:600}
.wctl button:disabled{opacity:.3}
.grid.editing>section{outline:1px dashed rgba(124,92,255,.5)}

.smart{margin-bottom:16px;padding:14px;border-radius:16px;background:linear-gradient(135deg,rgba(124,92,255,.22),rgba(60,200,255,.10));border:1px solid rgba(124,92,255,.35)}
.smart-row{display:flex;gap:10px;align-items:center}.smart-row input{flex:1;min-width:0}
.orb.sm{width:28px;height:28px;box-shadow:0 0 14px rgba(124,92,255,.6)}

.buddy{background:none;border:0;padding:0;flex:none;width:64px;height:64px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.buddy .buddy-svg{width:64px;height:64px;overflow:visible}
.b-all{transform-origin:60px 106px;animation:bfloat 3.2s ease-in-out infinite}
.b-ant{transform-origin:60px 22px;animation:bsway 2.6s ease-in-out infinite}
.b-eyes{transform-origin:60px 62px;animation:bblink 4.5s infinite}
.b-pupil{animation:blook 6s ease-in-out infinite}
.buddy.listen .b-all{animation:bwiggle .35s ease-in-out infinite}
.buddy.hop .b-all{animation:bhop .5s ease-out 1}
.buddy-svg.worry .b-all{animation-duration:5s}
.bubble{position:relative;background:rgba(255,255,255,.08);border-radius:14px;padding:10px 14px;flex:1;font-size:14px}
.bubble::before{content:"";position:absolute;left:-7px;top:22px;border:7px solid transparent;border-left:0;border-right-color:rgba(255,255,255,.08)}
@keyframes bfloat{50%{transform:translateY(-4px)}}
@keyframes bsway{50%{transform:rotate(8deg)}}
@keyframes bblink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes blook{0%,40%,100%{transform:translateX(0)}50%,80%{transform:translateX(-2px)}}
@keyframes bwiggle{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
@keyframes bhop{30%{transform:translateY(-16px) scale(1.05)}60%{transform:translateY(0) scaleY(.92)}}
.donut-wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px}.legend{flex:1;min-width:130px;display:grid;gap:8px}
.dn-l{fill:#9a97b5;font-size:10px}.dn-v{fill:currentColor;font-size:18px;font-weight:700}
.arc{animation:arcin .9s ease-out both}
@keyframes arcin{from{stroke-dasharray:0 999}}
.trend{margin:10px 0 6px;overflow:visible}
.tline{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.tarea{animation:fadein 1.4s ease-out both}@keyframes fadein{from{opacity:0}}
.pulse{animation:pulse 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse{50%{transform:scale(1.7);opacity:.5}}
@media (prefers-reduced-motion:reduce){.b-all,.b-ant,.b-eyes,.b-pupil,.arc,.tline,.tarea,.pulse{animation:none!important}.tline{stroke-dashoffset:0}}

.bubble-act{display:flex;gap:14px;margin-top:6px}.bubble-act button{background:none;border:0;padding:0;color:var(--violet-l);font-weight:600}

.iconbtn{width:44px;min-width:44px;padding:0;display:grid;place-items:center}.iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.insights{display:grid;gap:10px;margin-top:10px}
.insight{display:flex;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05)}
.ibar{width:4px;border-radius:4px;background:var(--tone);flex:none}
.bar-g{transform-box:fill-box;transform-origin:bottom;animation:growy .8s ease-out both}
@keyframes growy{from{transform:scaleY(0)}}
.scan{position:relative}.scan::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);margin-left:8px;animation:pulse 1.4s ease-in-out infinite}

/* ===== Style themes: change the whole app look ===== */
html[data-style] body{font-family:var(--font);background-color:var(--bg);background-image:var(--bgimg)}
html[data-style] .num,html[data-style] h1,html[data-style] h2,html[data-style] .big{font-family:var(--font)}
html[data-style] h1,html[data-style] .big{background:none;-webkit-text-fill-color:var(--text);color:var(--text)}
html[data-style] .card,html[data-style] .stat,html[data-style] .smart,html[data-style] .ai{background:var(--cardbg);border:1px solid var(--cardborder);border-radius:var(--r);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.5);backdrop-filter:blur(var(--blur)) saturate(1.5)}
html[data-style] .grid>.card:first-child{background:var(--cardbg)}
html[data-style] .acard{border-radius:var(--r)}
html[data-style] .rail,html[data-style] .tabbar{background:var(--chrome);border-color:var(--cardborder);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.5);backdrop-filter:blur(var(--blur)) saturate(1.5)}
html[data-style] .logo{background:var(--violet-d);border-radius:var(--rs)}
html[data-style] .nav-btn{border-radius:var(--rs)}
html[data-style] .nav-btn.on{background:color-mix(in srgb,var(--violet-d) 22%,transparent);color:var(--violet-l)}
html[data-style] .tab.on{color:var(--violet-l)}
html[data-style] .btn,html[data-style] .seg button.on,html[data-style] .chip.on,html[data-style] .fab{background:var(--violet-d);color:#fff}
html[data-style] .btn{border-radius:var(--rs)}
html[data-style] .btn.ghost{background:transparent;border:1px solid var(--cardborder);color:var(--text)}
html[data-style] input,html[data-style] select,html[data-style] textarea{background:var(--field);border-color:var(--cardborder);border-radius:var(--rs);color:var(--text)}
html[data-style] .pill,html[data-style] .chip,html[data-style] .bubble,html[data-style] .insight{background:var(--chip);border-color:var(--cardborder)}
html[data-style] .chip.on{border-color:transparent}
html[data-style] .seg{background:var(--chip);border-radius:var(--rs)}
html[data-style] .seg button{border-radius:calc(var(--rs) - 3px)}
html[data-style] .item{border-bottom-color:var(--cardborder)}
html[data-style] #sheet{background:var(--sheet);border-color:var(--cardborder);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur))}
html[data-style] .bar{background:var(--chip)}
html[data-style] .dn-l{fill:var(--muted)}
html[data-style] .ico{border-radius:calc(var(--rs) - 2px)}
html[data-style] .tag{background:var(--chip)}

html[data-style=glass]{--font:-apple-system,"SF Pro Text",Inter,"Noto Sans Malayalam",system-ui,sans-serif;--r:28px;--rs:18px;--blur:28px;--violet-d:#6366F1;--violet-l:#C7D2FE;--text:#fff;--muted:rgba(255,255,255,.68);--bg:#070B1A;--cardbg:rgba(255,255,255,.09);--cardborder:rgba(255,255,255,.22);--chrome:rgba(255,255,255,.07);--field:rgba(255,255,255,.09);--chip:rgba(255,255,255,.10);--sheet:rgba(24,26,52,.80);--shadow:0 10px 36px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.28);--bgimg:radial-gradient(620px 440px at 8% 0%,rgba(99,102,241,.60),transparent 70%),radial-gradient(560px 400px at 100% 18%,rgba(236,72,153,.42),transparent 70%),radial-gradient(640px 440px at 50% 112%,rgba(20,184,166,.42),transparent 70%)}
html[data-style=glass][data-mode=light]{--text:#14183A;--muted:rgba(20,24,58,.62);--violet-l:#4338CA;--bg:#E6EDFC;--cardbg:rgba(255,255,255,.55);--cardborder:rgba(255,255,255,.85);--chrome:rgba(255,255,255,.55);--field:rgba(255,255,255,.65);--chip:rgba(255,255,255,.65);--sheet:rgba(255,255,255,.88);--shadow:0 10px 32px rgba(70,80,160,.18),inset 0 1px 0 #fff;--bgimg:radial-gradient(620px 440px at 8% 0%,rgba(129,140,248,.55),transparent 70%),radial-gradient(560px 400px at 100% 18%,rgba(244,114,182,.40),transparent 70%),radial-gradient(640px 440px at 50% 112%,rgba(45,212,191,.40),transparent 70%)}

html[data-style=mac]{--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Noto Sans Malayalam",system-ui,sans-serif;--r:12px;--rs:8px;--blur:30px;--violet-d:#0A84FF;--violet-l:#64B5FF;--text:#F5F5F7;--muted:#98989D;--bg:#1E1E1E;--cardbg:#2A2A2C;--cardborder:rgba(255,255,255,.09);--chrome:rgba(44,44,46,.72);--field:#1C1C1E;--chip:rgba(255,255,255,.08);--sheet:rgba(44,44,46,.92);--shadow:0 1px 3px rgba(0,0,0,.45);--bgimg:linear-gradient(135deg,#1B1B2E,#1E1E1E 60%)}
html[data-style=mac][data-mode=light]{--text:#1D1D1F;--muted:#6E6E73;--violet-d:#007AFF;--violet-l:#0A60D0;--bg:#F5F5F7;--cardbg:#FFFFFF;--cardborder:rgba(0,0,0,.08);--chrome:rgba(246,246,246,.78);--field:#F2F2F4;--chip:rgba(0,0,0,.05);--sheet:rgba(255,255,255,.95);--shadow:0 1px 2px rgba(0,0,0,.08),0 4px 14px rgba(0,0,0,.05);--bgimg:none}

html[data-style=win12]{--font:"Segoe UI Variable","Segoe UI",system-ui,"Noto Sans Malayalam",sans-serif;--r:8px;--rs:4px;--blur:40px;--violet-d:#0078D4;--violet-l:#60CDFF;--text:#FFFFFF;--muted:#C5C5C5;--bg:#202020;--cardbg:rgba(255,255,255,.06);--cardborder:rgba(255,255,255,.08);--chrome:rgba(32,32,32,.78);--field:rgba(255,255,255,.06);--chip:rgba(255,255,255,.07);--sheet:rgba(40,40,40,.92);--shadow:0 2px 8px rgba(0,0,0,.30);--bgimg:radial-gradient(700px 500px at 0% 0%,rgba(0,120,212,.30),transparent 70%),radial-gradient(600px 420px at 100% 100%,rgba(115,80,200,.22),transparent 70%)}
html[data-style=win12][data-mode=light]{--text:#1A1A1A;--muted:#5F5F5F;--violet-d:#0067C0;--violet-l:#005A9E;--bg:#F3F3F3;--cardbg:rgba(255,255,255,.72);--cardborder:rgba(0,0,0,.06);--chrome:rgba(243,243,243,.80);--field:rgba(255,255,255,.8);--chip:rgba(0,0,0,.045);--sheet:rgba(250,250,250,.95);--shadow:0 2px 8px rgba(0,0,0,.06);--bgimg:radial-gradient(700px 500px at 0% 0%,rgba(0,120,212,.14),transparent 70%),radial-gradient(600px 420px at 100% 100%,rgba(150,120,230,.12),transparent 70%)}

html[data-style=ubuntu]{--font:Ubuntu,Yaru,Cantarell,"Noto Sans Malayalam",system-ui,sans-serif;--r:10px;--rs:6px;--blur:0px;--violet-d:#E95420;--violet-l:#FF8A5B;--text:#FFFFFF;--muted:#CDB8C6;--bg:#2C001E;--cardbg:rgba(255,255,255,.07);--cardborder:rgba(255,255,255,.12);--chrome:#2B0A1F;--field:rgba(0,0,0,.25);--chip:rgba(255,255,255,.09);--sheet:#3A1230;--shadow:0 2px 6px rgba(0,0,0,.30);--bgimg:linear-gradient(160deg,#4A0D37,#2C001E 55%,#1D0014)}
html[data-style=ubuntu][data-mode=light]{--text:#2F2F2F;--muted:#6B6B6B;--violet-d:#E95420;--violet-l:#C34113;--bg:#F6F5F4;--cardbg:#FFFFFF;--cardborder:#DAD6D0;--chrome:#EDEBE8;--field:#F6F5F4;--chip:rgba(0,0,0,.05);--sheet:#FFFFFF;--shadow:0 1px 3px rgba(0,0,0,.10);--bgimg:none}

html[data-style=samsung]{--font:"SamsungOne","Samsung Sharp Sans",Roboto,"Noto Sans Malayalam",system-ui,sans-serif;--r:30px;--rs:22px;--blur:0px;--violet-d:#3E91FF;--violet-l:#7FB5FF;--text:#FFFFFF;--muted:#9C9C9C;--bg:#000000;--cardbg:#1C1C1E;--cardborder:transparent;--chrome:#0E0E0F;--field:#2A2A2C;--chip:#2A2A2C;--sheet:#1C1C1E;--shadow:none;--bgimg:none}
html[data-style=samsung][data-mode=light]{--text:#000000;--muted:#767676;--violet-d:#3E91FF;--violet-l:#1E6FDC;--bg:#F6F6F6;--cardbg:#FFFFFF;--cardborder:transparent;--chrome:#FFFFFF;--field:#F0F0F0;--chip:#F0F0F0;--sheet:#FFFFFF;--shadow:none;--bgimg:none}
html[data-style=samsung] h1{font-size:34px;font-weight:600}
html[data-style=samsung] .ptop{padding-top:18px;padding-bottom:6px}
html[data-style=samsung] .card{padding:22px}
.stylepick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.sty{border-radius:16px;border:2px solid transparent;padding:0;overflow:hidden;background:var(--chip);text-align:center;font-size:12px;font-weight:600}
.sty.on{border-color:var(--violet-d)}
.sty i{display:block;height:46px}
.sty span{display:block;padding:8px 4px}
html[data-style] .grid>.card:first-child{border-color:var(--cardborder)}

.buddy.talk .b-mouth{animation:btalk .22s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes btalk{50%{transform:scaleY(1.5)}}
.bubble-act{flex-wrap:wrap;gap:6px 14px}

/* dashboard polish: aligned widgets */
.grid>.wfill{display:flex;flex-direction:column;height:100%}
.wbody{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:14px;margin:12px 0}
.wbody.list{justify-content:flex-start;gap:0}
.brow{display:flex;gap:12px;align-items:center}
.brow .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.stag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted)}
.stag.mint{background:rgba(52,211,153,.16);color:var(--mint)}.stag.amber{background:rgba(251,191,36,.16);color:var(--amber)}.stag.rose{background:rgba(251,113,133,.16);color:var(--rose)}
.wlink{align-self:flex-start;color:var(--violet-l);font-weight:600;font-size:13px;padding:4px 0}
.grid>section.card{min-width:0}
/* floating buddy */
.bfloat{position:fixed;right:14px;bottom:calc(92px + var(--sab));z-index:40;display:flex;align-items:flex-end;gap:8px;max-width:min(92vw,380px);pointer-events:none}
.bfloat>*{pointer-events:auto}
.bfloat .bubble{max-width:270px;box-shadow:0 10px 30px rgba(0,0,0,.35);background:var(--panel2);opacity:0;transform:translateY(8px) scale(.96);transform-origin:bottom right;transition:opacity .25s,transform .25s;pointer-events:none}
.bfloat.show .bubble{opacity:1;transform:none;pointer-events:auto}
.bfloat .bubble::before{left:auto;right:-7px;border:7px solid transparent;border-right:0;border-left-color:var(--panel2);top:auto;bottom:22px}
.bfloat .buddy{filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.bfloat .buddy.mini{width:44px;height:44px}
.btip.swap{animation:fadein .5s ease-out}
.btip{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;line-height:1.4}
@media (min-width:900px){.bfloat{bottom:24px;right:28px}}
/* sidebar modes */
.nl{display:none}
html[data-rail=labels] .rail{width:210px;align-items:stretch;padding-left:16px;padding-right:16px}
html[data-rail=labels] .nav-btn{width:100%;justify-content:flex-start;gap:12px;padding:0 14px;font-weight:600;font-size:14px}
html[data-rail=labels] .nl{display:inline}
html[data-rail=labels] .rail .logo{align-self:flex-start}
@media (prefers-reduced-motion:reduce){.bfloat .bubble{transition:none}}

.acard[data-act]{cursor:pointer}
.ab{position:relative;overflow:hidden}
.ab .blogo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:4px;border-radius:inherit}

/* sidebar hidden: slide-over drawer */
.scrim,.appbar{display:none}
@media (min-width:900px){
  html[data-rail=hidden] .rail{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:70;width:230px;align-items:stretch;padding-left:16px;padding-right:16px;transform:translateX(-105%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
  html[data-rail=hidden] .rail.open{transform:none;box-shadow:14px 0 44px rgba(0,0,0,.5)}
  html[data-rail=hidden] .rail .nav-btn{width:100%;justify-content:flex-start;gap:12px;padding:0 14px;font-weight:600;font-size:14px}
  html[data-rail=hidden] .nl{display:inline}
  html[data-rail=hidden] .rail .logo{align-self:flex-start}
  html[data-rail=hidden] .scrim{display:block;position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s}
  html[data-rail=hidden] .scrim.on{opacity:1;pointer-events:auto}
  html[data-rail=hidden] .appbar{display:flex;align-items:center;gap:12px;padding:calc(12px + var(--sat)) 28px 0}
  .appbtn{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);color:var(--text)}
  .appbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .appttl{font-weight:700;letter-spacing:.3px;color:var(--muted)}
}
/* last 7 days chart */
.wk7{flex:1;min-height:190px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:14px 0 10px;align-items:stretch}
.wcol{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.wv{font-size:11px;color:var(--muted);min-height:15px;font-weight:600}
.wbar{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:14px;background:rgba(255,255,255,.04);padding:0 5px;min-height:110px}
.wbar i{display:block;width:100%;max-width:44px;border-radius:10px 10px 5px 5px;background:linear-gradient(180deg,#6aa0ff,#2f7cf6);transform-origin:bottom;animation:growy .8s cubic-bezier(.2,.8,.2,1) both}
.wbar i.zero{background:rgba(255,255,255,.12)}
.wcol.today .wbar i{background:linear-gradient(180deg,#f9a8d4,#2f7cf6);box-shadow:0 0 18px rgba(106,160,255,.55)}
.wcol.today .wd{color:var(--violet-l);font-weight:700}
.wd{font-size:12px;color:var(--muted);margin-top:2px}.wn{font-size:11px;color:var(--muted);opacity:.7}
.wk-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wk-foot>div{background:rgba(255,255,255,.05);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.wk-foot b{font-size:17px}
html[data-style] .wbar,html[data-style] .wk-foot>div{background:var(--chip)}
/* smooth page animation */
@keyframes rise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.content.enter .ptop{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.content.enter .grid>*,.content.enter .stats,.content.enter .acards>*,.content.enter>div>.card{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
.content.enter .grid>*:nth-child(1){animation-delay:.04s}.content.enter .grid>*:nth-child(2){animation-delay:.09s}.content.enter .grid>*:nth-child(3){animation-delay:.14s}.content.enter .grid>*:nth-child(4){animation-delay:.19s}.content.enter .grid>*:nth-child(5){animation-delay:.24s}.content.enter .grid>*:nth-child(6){animation-delay:.29s}.content.enter .grid>*:nth-child(7){animation-delay:.34s}.content.enter .grid>*:nth-child(n+8){animation-delay:.4s}
.card,.item,.chip,.pill,.btn,.nav-btn,.tab,.acard,.sty{transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .25s,border-color .25s,box-shadow .25s,color .2s,opacity .2s}
@media (hover:hover){.card:hover{transform:translateY(-2px)}.acard:hover{transform:translateY(-3px) scale(1.01)}.nav-btn:hover{background:rgba(255,255,255,.07)}}
.item:active,.chip:active,.pill:active{transform:scale(.97)}
.bar i,.wbar i{transition:width .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){.content.enter *{animation:none!important}.card,.item,.chip,.pill,.btn{transition:none}}

/* more styles */
html[data-style=aurora]{--font:-apple-system,"SF Pro Text",Inter,"Noto Sans Malayalam",system-ui,sans-serif;--r:26px;--rs:16px;--blur:26px;--violet-d:#2f7cf6;--violet-l:#2878e8;--text:#fff;--muted:rgba(255,255,255,.7);--bg:#050816;--cardbg:rgba(255,255,255,.08);--cardborder:rgba(255,255,255,.18);--chrome:rgba(255,255,255,.06);--field:rgba(255,255,255,.08);--chip:rgba(255,255,255,.09);--sheet:rgba(14,16,40,.85);--shadow:0 10px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2);--bgimg:linear-gradient(125deg,#050816,#1b1058 25%,#0e5a73 50%,#4a1470 75%,#050816)}
html[data-style=aurora] body{background-size:300% 300%;animation:aurora 22s ease-in-out infinite}
@keyframes aurora{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
html[data-style=aurora][data-mode=light]{--text:#171a3a;--muted:rgba(23,26,58,.62);--violet-d:#2878e8;--violet-l:#5B21B6;--bg:#EAF4FF;--cardbg:rgba(255,255,255,.6);--cardborder:rgba(255,255,255,.9);--chrome:rgba(255,255,255,.6);--field:rgba(255,255,255,.7);--chip:rgba(255,255,255,.7);--sheet:rgba(255,255,255,.9);--shadow:0 10px 30px rgba(90,80,180,.16);--bgimg:linear-gradient(125deg,#dff6ff,#e9e2ff 30%,#ffe3f1 60%,#d9fff1)}
html[data-style=sunset]{--font:-apple-system,"SF Pro Text",Inter,"Noto Sans Malayalam",system-ui,sans-serif;--r:30px;--rs:20px;--blur:20px;--violet-d:#F97316;--violet-l:#FDBA74;--text:#FFF7ED;--muted:rgba(255,237,213,.72);--bg:#1A0B2E;--cardbg:rgba(255,255,255,.09);--cardborder:rgba(255,200,150,.22);--chrome:rgba(40,12,50,.6);--field:rgba(255,255,255,.09);--chip:rgba(255,255,255,.10);--sheet:rgba(46,16,60,.92);--shadow:0 12px 34px rgba(0,0,0,.32);--bgimg:linear-gradient(160deg,#2a0a4a,#7a1f5c 45%,#f9731655 100%)}
html[data-style=sunset][data-mode=light]{--text:#3B1020;--muted:#8A4B5E;--violet-d:#EA580C;--violet-l:#C2410C;--bg:#FFF1E6;--cardbg:rgba(255,255,255,.7);--cardborder:rgba(255,160,100,.35);--chrome:rgba(255,245,238,.8);--field:rgba(255,255,255,.85);--chip:rgba(255,160,100,.16);--sheet:#FFF8F2;--shadow:0 10px 28px rgba(234,88,12,.12);--bgimg:linear-gradient(160deg,#ffe3d1,#ffd1e3 55%,#ffeccf)}
html[data-style=forest]{--font:"Inter",-apple-system,"Noto Sans Malayalam",system-ui,sans-serif;--r:18px;--rs:12px;--blur:0px;--violet-d:#10B981;--violet-l:#6EE7B7;--text:#ECFDF5;--muted:#8FBFAA;--bg:#04150F;--cardbg:#0B2A1F;--cardborder:rgba(110,231,183,.14);--chrome:#07201a;--field:#06241A;--chip:rgba(110,231,183,.09);--sheet:#0B2A1F;--shadow:0 6px 18px rgba(0,0,0,.35);--bgimg:radial-gradient(700px 500px at 100% 0%,rgba(16,185,129,.18),transparent 70%)}
html[data-style=forest][data-mode=light]{--text:#06281C;--muted:#4F7A68;--violet-d:#059669;--violet-l:#047857;--bg:#EAF7F0;--cardbg:#FFFFFF;--cardborder:rgba(5,150,105,.16);--chrome:#F5FCF8;--field:#F1FAF5;--chip:rgba(5,150,105,.08);--sheet:#FFFFFF;--shadow:0 6px 18px rgba(5,150,105,.10);--bgimg:none}
html[data-style=amoled]{--font:-apple-system,"SF Pro Text",Inter,"Noto Sans Malayalam",system-ui,sans-serif;--r:16px;--rs:12px;--blur:0px;--violet-d:#22D3EE;--violet-l:#67E8F9;--text:#FFFFFF;--muted:#8A8A8E;--bg:#000;--cardbg:#000;--cardborder:rgba(255,255,255,.14);--chrome:#000;--field:#0B0B0C;--chip:#111113;--sheet:#0A0A0B;--shadow:none;--bgimg:none}
html[data-style=amoled][data-mode=light]{--text:#000;--muted:#6B6B70;--violet-d:#0891B2;--violet-l:#0E7490;--bg:#FFFFFF;--cardbg:#FFFFFF;--cardborder:rgba(0,0,0,.14);--chrome:#FFFFFF;--field:#F6F6F7;--chip:#F0F0F2;--sheet:#FFFFFF;--bgimg:none}
html[data-style=amoled] .btn,html[data-style=amoled] .fab{color:#001014}
/* style personality */
html[data-style=mac] .nav-btn.on{background:var(--violet-d);color:#fff}
html[data-style=mac] .rail{backdrop-filter:blur(40px) saturate(1.8)}
html[data-style=mac] h2{font-size:15px;letter-spacing:.2px}
html[data-style=win12] .nav-btn.on{background:var(--chip);color:var(--text);box-shadow:inset 3px 0 0 var(--violet-d)}
html[data-style=win12] .btn{font-weight:600}
html[data-style=ubuntu] .nav-btn.on{background:transparent;color:var(--violet-d);box-shadow:inset 0 -3px 0 var(--violet-d)}
html[data-style=ubuntu] .rail{border-right:1px solid var(--cardborder)}
html[data-style=samsung] h2{font-size:19px}
html[data-style=samsung] .item{min-height:64px}
html[data-style=samsung] .nav-btn.on{background:var(--chip);color:var(--violet-d)}
html[data-style=sunset] .logo,html[data-style=aurora] .logo{background:linear-gradient(135deg,var(--violet-d),#EC4899)}
html[data-style=forest] .card{border-left:3px solid color-mix(in srgb,var(--violet-d) 60%,transparent)}
.accpick{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.acc{width:40px;height:40px;border-radius:50%;border:3px solid transparent;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.acc.on{border-color:var(--text)}
@media (prefers-reduced-motion:reduce){html[data-style=aurora] body{animation:none}}

.rail .logo svg{width:44px;height:44px;filter:drop-shadow(0 6px 14px rgba(14,42,54,.55))}
.logopick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.lg{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:16px;border:2px solid transparent;background:var(--chip,rgba(255,255,255,.05));font-size:12px;font-weight:600}
.lg.on{border-color:var(--violet-d)}

/* ---- v22: compact dashboard, loans and EMI, transactions ---- */
.grid{gap:14px}
.grid>.card{padding:14px 16px;border-radius:20px}
.grid>.card .big{font-size:32px}
.grid>.card h2{font-size:15px;margin:0}
.grid .ai-head{margin-bottom:8px}
@media (min-width:900px){.grid{gap:16px}}
.nbbar{display:flex;height:8px;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.08);margin:12px 0 8px;gap:2px}
.nbbar i{display:block;min-width:0}
.nbk{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.nbk span{display:flex;align-items:center;gap:6px}.nbk b{margin-left:auto;color:var(--text);font-weight:600}
.nbk u,.catkey u{display:inline-block;width:8px;height:8px;border-radius:50%;text-decoration:none}
.adv{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.35;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05)}
.adv .dotc{flex:none;width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--muted)}
.adv.mint .dotc{background:var(--mint)}.adv.rose .dotc{background:var(--rose)}.adv.amber .dotc{background:#f59e0b}
.advs{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.estats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}
.estat{background:rgba(255,255,255,.05);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.estat b{font-size:18px}
.estat .mint,.txst .mint,.dayhead .mint{color:var(--mint)}.estat .rose,.txst .rose{color:var(--rose)}.estat .amber{color:#f59e0b}
.ords{display:flex;flex-direction:column;gap:6px}
.ord{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05)}
.ord .n{width:24px;height:24px;border-radius:50%;background:var(--violet-d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.emis{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.emic{border-radius:22px;padding:16px;color:#fff;background:linear-gradient(135deg,var(--c1),color-mix(in srgb,var(--c2) 60%,var(--c1)));box-shadow:0 10px 28px rgba(0,0,0,.28);position:relative;overflow:hidden}
.emic::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.10)}
.emic .pbadge{font-weight:800;letter-spacing:.02em;font-size:15px}
.emic .tag{background:rgba(255,255,255,.22);color:#fff}
.emic .en{display:block;background:none;border:0;color:#fff;font-size:15px;font-weight:600;margin-top:10px;text-align:left;padding:0}
.emic .eamt{font-size:26px;font-weight:700;margin-top:4px}.emic .eamt small{font-size:12px;font-weight:500;opacity:.8}
.emic .dots{display:flex;gap:5px;margin:12px 0 10px}
.emic .dots i{flex:1;height:8px;border-radius:6px;background:rgba(255,255,255,.28)}.emic .dots i.on{background:#fff}
.emic .small{color:rgba(255,255,255,.88)}
.emic .pill.pay{background:#fff;color:#111;border:0;font-weight:700}
.txsts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:10px}
.txst{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 12px;display:flex;flex-direction:column;gap:1px}
.txst b{font-size:16px}
.catbar{display:flex;height:8px;border-radius:6px;overflow:hidden;gap:2px;margin:4px 0 6px}.catbar i{display:block}
.catkey{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted);margin-bottom:12px}.catkey span{display:flex;align-items:center;gap:5px}
.txsel{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.txsel select{flex:1;min-width:120px}
.dayhead.row{align-items:center}
.wk7{min-height:130px;margin:10px 0 8px;gap:8px}
.wbar{min-height:70px}
.grid{align-items:stretch}
.grid>.card{align-self:stretch;display:flex;flex-direction:column}
.grid>.card>.list{flex:1}
.grid>.card .wlink{margin-top:auto}
.nbk span{align-items:baseline}.nbk{margin-top:auto}
.nbbar{margin-top:auto}

/* ---- v24 ---- */
.c1{grid-column:span 1}.c2{grid-column:span 2}.c3{grid-column:span 3}.c9{grid-column:span 9}.c10{grid-column:span 10}.c11{grid-column:span 11}
.fxrow{display:flex;align-items:center;gap:8px;margin:12px 0 8px;flex-wrap:wrap}
.fxrow input{width:96px;min-height:40px;padding:0 10px;text-align:right}
.emic .pill.ed{background:rgba(255,255,255,.2);color:#fff;border:0;min-height:30px;padding:0 12px}
.emic .en{flex:1}
html[data-style=nothing]{--font:"Doto","Space Mono",ui-monospace,Menlo,monospace;--r:22px;--rs:12px;--blur:0px;--violet-d:#D71921;--violet-l:#FF5A60;--text:#FFFFFF;--muted:#8E8E93;--bg:#000;--cardbg:#0A0A0A;--cardborder:#2A2A2A;--chrome:#050505;--field:#111;--chip:#141414;--sheet:#0A0A0A;--shadow:none;--bgimg:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.2px);--mint:#fff;--rose:#D71921}
html[data-style=nothing][data-mode=light]{--text:#000;--muted:#6B6B6B;--bg:#F2F2F2;--cardbg:#FFFFFF;--cardborder:#D8D8D8;--chrome:#FAFAFA;--field:#EDEDED;--chip:#EAEAEA;--sheet:#FFFFFF;--bgimg:radial-gradient(rgba(0,0,0,.12) 1px,transparent 1.2px);--mint:#000}
html[data-style=nothing] body{font-family:"Space Mono",ui-monospace,Menlo,monospace;background-size:14px 14px}
html[data-style=nothing] h1,html[data-style=nothing] h2,html[data-style=nothing] .big,html[data-style=nothing] .num{font-family:"Doto","Space Mono",ui-monospace,monospace;font-weight:700;letter-spacing:.02em}
html[data-style=nothing] svg:not(.buddy-svg):not(.trend){stroke-width:1.2;stroke-linecap:square;stroke-linejoin:miter}
html[data-style=nothing] .card{border-style:solid;box-shadow:none}
html[data-style=nothing] .btn,html[data-style=nothing] .pill,html[data-style=nothing] .chip{border-radius:999px;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
html[data-style=nothing] .nav-btn.on{background:#D71921;color:#fff}
html[data-style=nothing] .stag{border-radius:4px}

/* ---- analytics dashboard ---- */
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--chip,rgba(255,255,255,.06));margin-bottom:12px}
.seg button{min-height:34px;padding:0 16px;border-radius:999px;border:0;background:none;color:var(--muted);font-weight:600}
.seg button.on{background:var(--violet-d);color:#fff}
.dash2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;align-items:start}
.dcolL,.dcolR{display:flex;flex-direction:column;gap:14px;min-width:0}
.dpair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.d3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 10px}
.dbig{font-size:24px;font-weight:700;line-height:1.2}.dbig.accn{color:var(--violet-l)}
.dleg{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:6px 0}.dleg u{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;text-decoration:none}
.dbars{display:flex;align-items:flex-end;gap:3px;height:180px;margin-top:22px;border-bottom:1px solid var(--cardborder,rgba(255,255,255,.1))}
.dcol{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;position:relative;min-width:0}
.db{flex:1;max-width:16px;border-radius:5px 5px 0 0;position:relative;min-height:1px}
.db em{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;font-style:normal;color:var(--violet-l);white-space:nowrap;padding-bottom:2px}
.dl{position:absolute;top:100%;font-size:10px;color:var(--muted);margin-top:3px}
.cal7{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}
.cal7 span{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}
.cd{position:relative;min-height:34px;border-radius:10px;border:0;background:var(--chip,rgba(255,255,255,.06));color:var(--text);font-size:13px}
.cd.tdy{outline:1px solid var(--violet-l)}.cd.sel{background:var(--violet-d);color:#fff}
.cd s{position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--violet-l)}.cd s.due{background:#FB923C}
.dsel,.dnext{margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--chip,rgba(255,255,255,.06))}
.drow{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--cardborder,rgba(255,255,255,.08))}
.dprog{height:5px;border-radius:4px;background:rgba(255,255,255,.1);margin:6px 0 4px;overflow:hidden}.dprog i{display:block;height:100%;background:var(--violet-l);border-radius:4px}
.d2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.dtile{padding:12px;border-radius:14px;background:var(--chip,rgba(255,255,255,.06));display:flex;flex-direction:column;gap:4px}.dtile b{font-size:24px}
@media (max-width:900px){.dash2{grid-template-columns:1fr}.dpair{grid-template-columns:1fr}.d3{grid-template-columns:1fr 1fr 1fr}.dbig{font-size:19px}}
.dbars{margin-bottom:24px}
@media (max-width:600px){.d3{grid-template-columns:1fr}.d3>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.d3>div>.muted:first-child{width:100%}}

/* ---- animated location card ---- */
.loc{position:relative;overflow:hidden;isolation:isolate}
.loc.day{background:linear-gradient(160deg,rgba(56,189,248,.28),rgba(124,92,255,.14) 70%),var(--cardbg)}
.loc.night{background:linear-gradient(160deg,rgba(30,27,75,.9),rgba(15,23,42,.9)),var(--cardbg)}
.locsky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.locsky .sun{position:absolute;right:16px;top:14px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,#FFE29A,#FFB703);box-shadow:0 0 0 8px rgba(255,183,3,.18),0 0 40px rgba(255,183,3,.55);animation:sunp 4s ease-in-out infinite}
.locsky .moon{position:absolute;right:18px;top:14px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#C7D2FE);box-shadow:0 0 30px rgba(199,210,254,.45);animation:sunp 5s ease-in-out infinite}
.locsky .cl{position:absolute;height:16px;border-radius:12px;background:rgba(255,255,255,.22);animation:drift 14s linear infinite}
.locsky .cl.c1{width:60px;top:42px;left:-70px}.locsky .cl.c2{width:44px;top:70px;left:-60px;animation-duration:20s;animation-delay:-8s}
.wx-cloud .locsky .cl{background:rgba(255,255,255,.34)}
.locsky .dr{position:absolute;top:-10px;width:2px;height:12px;border-radius:2px;background:rgba(147,197,253,.8);animation:fall 1.1s linear infinite}
.wx-snow .locsky .dr{width:5px;height:5px;border-radius:50%;background:#fff;animation-duration:3s}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--mint);letter-spacing:.06em;text-transform:uppercase}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:ping 1.8s ease-out infinite}
.pinrow{display:flex;gap:12px;align-items:center;margin-top:10px}
.pin{position:relative;width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center}
.pin i{width:14px;height:14px;border-radius:50%;background:var(--violet-l);position:relative;z-index:1}
.pin::before,.pin::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--violet-l);animation:ripple 2.4s ease-out infinite;opacity:0}
.pin::after{animation-delay:1.2s}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
@keyframes ripple{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.15);opacity:0}}
@keyframes sunp{50%{transform:scale(1.08)}}
@keyframes drift{to{transform:translateX(420px)}}
@keyframes fall{to{transform:translateY(190px);opacity:.2}}
@media (prefers-reduced-motion:reduce){.locsky *,.pulse,.pin::before,.pin::after{animation:none!important}}
