/* MEU AGENTE FINANCEIRO — NOVA EXPERIÊNCIA 2026
   Interface criada do zero. O personagem e a camada funcional são preservados. */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --canvas:#f4f1ea;--surface:#fffefa;--surface-2:#ebe7de;--surface-3:#ded9ce;
  --ink:#151719;--ink-2:#50545a;--muted:#858991;--line:#d8d3c9;
  --rail:#191b1f;--rail-2:#24272d;--rail-text:#f6f4ee;--rail-muted:#a6a8ad;
  --accent:#b79cff;--accent-ink:#211638;--accent-glow:rgba(183,156,255,.22);--violet:#7357d6;--violet-soft:#ebe5ff;
  --hero-bg:#17191d;--hero-text:#fffefa;--hero-muted:#c7c3ce;--hero-soft:rgba(255,255,255,.08);
  --green:#16835d;--green-soft:#e1f4eb;--red:#c44e5b;--red-soft:#f9e5e8;
  --amber:#9a6a00;--amber-soft:#f8edcf;--blue:#347ca7;--blue-soft:#e2f1f8;
  --purp:#7357d6;--purp-bg:#ebe5ff;--lilac:#bfaeff;--lilac-dark:#7357d6;
  --pink:#efbbc5;--pink-dark:#c45f75;--yellow:#f2d981;--yellow-dark:#9a6a00;--brown:#5e4a31;
  --danger:#c44e5b;--danger-bg:#f9e5e8;--warn-bg:#f8edcf;--warn-text:#875d00;
  --dup-bg:#fff2ef;--dup-border:#eea191;--inv-paid-bg:#eceae5;--inv-paid-border:#cbc6bb;
  --inv-closed-bg:#fbe5df;--inv-closed-border:#e9a390;--gray-chip-bg:#e7e4de;--gray-chip-text:#64666b;
  --card:var(--surface);--bg:var(--canvas);--header:var(--surface-2);--border:var(--line);
  --text:var(--ink);--text-sub:var(--ink-2);--text-muted:var(--muted);
  --green-bg:var(--green-soft);--red-bg:var(--red-soft);--blue-bg:var(--blue-soft);--blue-dark:var(--blue);
  --yellow-bg:var(--amber-soft);--lilac-bg:var(--violet-soft);
  --input-bg:#f1eee7;--menu-bg:#fffefa;--chat-fade:rgba(244,241,234,.92);--scrollbar-thumb:#bbb6ad;
  --display:'Instrument Serif',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;
  --shadow-sm:0 1px 1px rgba(18,20,23,.04),0 10px 28px rgba(18,20,23,.055);
  --shadow-md:0 3px 8px rgba(18,20,23,.06),0 22px 54px rgba(18,20,23,.11);
  --shadow-lg:0 28px 90px rgba(18,20,23,.22);--ring:0 0 0 3px rgba(115,87,214,.18);
}
:root[data-theme="dark"]{
  --canvas:#0d0f12;--surface:#191d22;--surface-2:#252a31;--surface-3:#313740;
  --ink:#f5f3f7;--ink-2:#c8c6cf;--muted:#a19fa9;--line:#3b414a;
  --rail:#080a0d;--rail-2:#171b20;--rail-text:#f7f5f8;--rail-muted:#b9b7c0;
  --accent:#bda7ff;--accent-ink:#1d1531;--accent-glow:rgba(189,167,255,.25);--violet:#bda7ff;--violet-soft:#302746;
  --hero-bg:#17151d;--hero-text:#fffaf2;--hero-muted:#c9c4d1;--hero-soft:rgba(255,255,255,.085);
  --green:#7ee2ba;--green-soft:#193a2f;--red:#ff9aa6;--red-soft:#43242b;
  --amber:#e0bd62;--amber-soft:#362f1d;--blue:#84c6eb;--blue-soft:#1a303b;
  --purp:#c7b5ff;--purp-bg:#33294d;--lilac:#c7b5ff;--lilac-dark:#bca5ff;
  --pink:#e9a7b5;--pink-dark:#ee8ca0;--yellow:#e5cb73;--yellow-dark:#e0bd62;--brown:#2c2412;
  --danger:#ff9aa6;--danger-bg:#43242b;--warn-bg:#f2d981;--warn-text:#2c2412;
  --dup-bg:#3d2825;--dup-border:#a7665a;--inv-paid-bg:#252c2b;--inv-paid-border:#527266;
  --inv-closed-bg:#342c20;--inv-closed-border:#a9873f;--gray-chip-bg:#353a42;--gray-chip-text:#d0ced5;
  --card:var(--surface);--bg:var(--canvas);--header:var(--surface-2);--border:var(--line);
  --text:var(--ink);--text-sub:var(--ink-2);--text-muted:var(--muted);
  --green-bg:var(--green-soft);--red-bg:var(--red-soft);--blue-bg:var(--blue-soft);--blue-dark:var(--blue);
  --yellow-bg:var(--amber-soft);--lilac-bg:var(--violet-soft);
  --input-bg:#252a31;--menu-bg:#191d22;--chat-fade:rgba(13,15,18,.92);--scrollbar-thumb:#59606b;
  --shadow-sm:0 1px 1px rgba(0,0,0,.2),0 14px 32px rgba(0,0,0,.22);
  --shadow-md:0 3px 10px rgba(0,0,0,.28),0 24px 60px rgba(0,0,0,.34);
  --shadow-lg:0 30px 100px rgba(0,0,0,.6);--ring:0 0 0 3px rgba(165,138,240,.24);
}
html{scroll-behavior:smooth;background:var(--canvas)}
body{font-family:var(--sans);color:var(--ink);background:var(--canvas);min-height:100vh;letter-spacing:-.01em;transition:background .25s,color .25s}
button,input,select,textarea{font:inherit}button{transition:transform .12s,background .18s,color .18s,border-color .18s,box-shadow .18s}button:active{transform:scale(.97)}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px;border:2px solid var(--canvas)}

/* Shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}
.side-rail{position:fixed;inset:0 auto 0 0;width:244px;padding:18px 14px 16px;background:var(--rail);color:var(--rail-text);display:flex;flex-direction:column;z-index:120;border-right:1px solid rgba(255,255,255,.06)}
.rail-brand{display:flex;align-items:center;gap:10px;padding:3px 8px 14px;font-weight:800;font-size:13px;letter-spacing:-.3px}.rail-brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:900}.rail-brand small{display:block;color:var(--rail-muted);font-size:8px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin-top:2px}
.rail-bunny{position:relative;min-height:205px;border-radius:20px;background:radial-gradient(circle at 50% 25%,var(--accent-glow),transparent 46%),var(--rail-2);display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden;border:1px solid rgba(255,255,255,.07)}
.rail-bunny::after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.055);border-radius:50%;top:12px}.rail-bunny #bunny-mascot{position:relative;z-index:1;min-height:145px;display:flex;align-items:center;justify-content:center;cursor:pointer}.rail-bunny #bunny-mascot img{height:145px!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))!important}.rail-mood{position:relative;z-index:1;margin:-3px 12px 11px;padding:7px 10px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--rail-text);font-size:8.5px;font-weight:700;text-align:center;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-nav{display:flex;flex-direction:column;gap:4px}.nav-btn{width:100%;border:0;background:transparent;color:var(--rail-muted);display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;cursor:pointer;text-align:left;font-size:10.5px;font-weight:700}.nav-btn:hover{background:rgba(255,255,255,.055);color:var(--rail-text)}.nav-btn.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px var(--accent-glow)}.nav-glyph{width:22px;height:22px;border-radius:7px;border:1px solid currentColor;display:grid;place-items:center;font-size:10px;flex-shrink:0}.nav-btn.active .nav-glyph{background:rgba(33,22,56,.08)}
.rail-footer{margin-top:auto;display:flex;flex-direction:column;gap:7px;padding-top:12px}.rail-user{display:flex;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.08);padding:13px 7px 6px}.rail-avatar{width:31px;height:31px;border-radius:10px;object-fit:cover;background:var(--violet);display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff}.rail-user-copy{min-width:0;flex:1}.rail-user-copy strong{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-user-copy span{display:block;color:var(--rail-muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rail-tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.rail-tool{height:34px;border:1px solid rgba(255,255,255,.08);background:var(--rail-2);color:var(--rail-muted);border-radius:9px;cursor:pointer;font-size:12px}.rail-tool:hover{color:var(--rail-text);border-color:rgba(255,255,255,.18)}
.workspace{grid-column:2;min-width:0}.workspace-top{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px 14px;background:color-mix(in srgb,var(--canvas) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.page-kicker{font-size:8px;font-weight:800;color:var(--violet);text-transform:uppercase;letter-spacing:1.35px;margin-bottom:3px}.page-title{font-size:18px;font-weight:800;letter-spacing:-.65px}.top-actions{display:flex;align-items:center;gap:7px}.top-pill,.icon-action{border:1px solid var(--line);background:var(--surface);color:var(--ink);height:38px;border-radius:11px;cursor:pointer}.top-pill{padding:0 13px;font-size:9.5px;font-weight:800}.top-pill.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.icon-action{width:38px;font-size:14px}.mobile-head,.mobile-nav{display:none}
.body{width:100%;max-width:1360px;margin:0 auto;padding:22px 28px 60px}

/* Período */
.mbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm)}
.period-controls{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.period-nav{display:flex;align-items:center;gap:5px}.period-arrow{width:34px;height:34px;border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:10px;cursor:pointer}.period-count{font-size:8.5px;color:var(--muted);font-weight:700;margin-left:auto}.quick-add{display:flex;gap:6px;align-items:center}.quick-add .btn{min-width:0}

/* Home criada do zero */
.home-hero{position:relative;min-height:315px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);overflow:hidden;background:var(--hero-bg);color:var(--hero-text);border-radius:28px;margin-bottom:14px;box-shadow:var(--shadow-md)}
.home-hero::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-160px;top:-170px;border:1px solid rgba(255,255,255,.1)}.home-hero::after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-50px;top:12px;background:radial-gradient(circle,var(--accent-glow),transparent 66%)}
.hero-copy{position:relative;z-index:2;padding:31px 32px;display:flex;flex-direction:column;justify-content:center}.hero-label{font-size:8px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;color:var(--accent);margin-bottom:10px}.hero-value{font-family:var(--display);font-size:clamp(47px,6vw,76px);font-weight:400;letter-spacing:-2.7px;line-height:.95;margin-bottom:10px;color:var(--hero-text)}.hero-caption{font-size:10.5px;color:var(--hero-muted);max-width:410px;line-height:1.55}.hero-caption strong{color:var(--hero-text)}.hero-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.hero-action{height:38px;border-radius:11px;padding:0 14px;border:1px solid rgba(255,255,255,.2);background:var(--hero-soft);color:var(--hero-text);font-size:9.5px;font-weight:800;cursor:pointer}.hero-action.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.hero-bunny{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;min-height:315px}.hero-bunny img{height:285px!important;max-width:100%;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(0,0,0,.46))!important}.hero-status{position:absolute;right:22px;top:22px;z-index:3;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:99px;background:var(--hero-soft);border:1px solid rgba(255,255,255,.12);color:var(--hero-text);font-size:8px;font-weight:700}.hero-status i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric{min-height:117px;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px 17px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-label{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.metric-glyph{width:29px;height:29px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;font-size:12px}.metric-value{font-size:20px;font-weight:800;letter-spacing:-.75px}.metric.green .metric-value{color:var(--green)}.metric.red .metric-value{color:var(--red)}.metric.violet .metric-value{color:var(--violet)}
.bento-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:10px}.bento-col{min-width:0;display:flex;flex-direction:column;gap:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-label{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:1.05px;color:var(--muted)}.panel-link{border:0;background:none;color:var(--violet);font-size:8.5px;font-weight:800;cursor:pointer}.account-list,.credit-list,.category-list{display:flex;flex-direction:column}.account-item,.credit-item,.category-item{padding:11px 0;border-bottom:1px solid var(--line)}.account-item:last-child,.credit-item:last-child,.category-item:last-child{border-bottom:0}.account-main,.credit-main,.category-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-name,.credit-name,.category-name{font-size:10px;font-weight:700}.account-value{font-size:11px;font-weight:800;color:var(--green)}.credit-value,.category-value{font-size:10px;font-weight:800}.item-meta{font-size:7.5px;color:var(--muted);margin-top:4px}.category-bar{height:5px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-top:7px}.category-fill{height:100%;background:var(--violet);border-radius:99px}.empty-state{color:var(--muted);font-size:9px;text-align:center;padding:20px 8px}

/* Componentes funcionais herdados, redesenhados */
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.tx-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 7px;border-bottom:1px solid var(--line);border-radius:9px}.tx-row:last-child{border-bottom:0}.tx-row:hover{background:var(--canvas)}
.badge{display:inline-flex;align-items:center;border-radius:7px;padding:3px 7px;font-size:7.5px;font-weight:800;letter-spacing:.35px;text-transform:uppercase}
.prog-wrap{height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden}.prog-fill{height:100%;border-radius:99px;transition:width .35s ease}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.kpi{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:17px;padding:15px;min-height:105px;display:flex;flex-direction:column;justify-content:space-between}.kpi-topline{display:flex;align-items:center;justify-content:space-between}.kpi-icon{width:28px;height:28px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center}.kpi-label{font-size:7.5px!important;text-transform:uppercase;letter-spacing:.8px;font-weight:800}.kpi-value{font-size:18px!important;font-weight:800;font-variant-numeric:tabular-nums}
.btn{min-height:36px;border:1px solid transparent;border-radius:10px;padding:8px 13px;font-size:9.5px;font-weight:800;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:none}.btn-primary:hover{background:var(--violet);color:#fff}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-income{background:var(--green-soft);color:var(--green)}.btn-expense{background:var(--red-soft);color:var(--red)}.btn-card-type{background:var(--violet-soft);color:var(--violet)}.btn-icon{width:29px;height:29px;display:inline-grid;place-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer}.btn-icon:hover{background:var(--surface-2);color:var(--ink)}.btn-csv{font-size:8px;padding:6px 9px}.opt-btn{display:block;width:100%;white-space:normal;text-align:left;line-height:1.4}
.inp{width:100%;min-height:39px;background:var(--input-bg);border:1px solid transparent;border-radius:10px;padding:9px 11px;color:var(--ink);font-size:10px;outline:0}.inp:focus{background:var(--surface);border-color:var(--violet);box-shadow:var(--ring)}.lbl{display:block;font-size:7.5px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.85px;margin:0 0 5px}.field{margin-bottom:11px}.row2{display:flex;gap:8px}
.type-row{display:flex;gap:5px;margin-bottom:12px}.type-btn{flex:1;min-height:36px;border:1px solid var(--line);background:var(--input-bg);color:var(--muted);border-radius:10px;font-size:9px;font-weight:800;cursor:pointer}.active-expense{background:var(--red-soft)!important;color:var(--red)!important;border-color:var(--red)!important}.active-income{background:var(--green-soft)!important;color:var(--green)!important;border-color:var(--green)!important}.active-card,.active-installment,.active-loan{background:var(--violet-soft)!important;color:var(--violet)!important;border-color:var(--violet)!important}.active-transfer{background:var(--blue-soft)!important;color:var(--blue)!important;border-color:var(--blue)!important}.active-recurring{background:var(--amber-soft)!important;color:var(--amber)!important;border-color:var(--amber)!important}.uni-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}.uni-sub-label{font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:3px 0 5px}
.overlay{position:fixed;inset:0;background:rgba(5,7,9,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .16s ease}.modal,.confirm-box{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-lg);animation:rise .22s ease}.modal{max-width:450px;max-height:90vh;overflow:auto;padding:22px}.confirm-box{max-width:360px;padding:22px}.modal-title{font-family:var(--display);font-size:23px;line-height:1;margin-bottom:16px}.card-menu{background:var(--menu-bg);border:1px solid var(--line);border-radius:12px;margin-top:8px;padding:5px;box-shadow:var(--shadow-md)}.card-menu-item{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--ink);padding:9px 10px;border-radius:8px;text-align:left;font-size:9px;cursor:pointer}.card-menu-item:hover{background:var(--surface-2)}.card-menu-item.danger{color:var(--red)}
.billing-ok,.billing-next,.inst-preview,.alert-info{border-radius:11px;padding:9px 11px;margin-bottom:10px;font-size:9px}.billing-ok{background:var(--green-soft);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 35%,transparent)}.billing-next,.alert-info{background:var(--amber-soft);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}.inst-preview{background:var(--violet-soft);color:var(--violet);border:1px solid color-mix(in srgb,var(--violet) 30%,transparent)}
.proj-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:10px;align-items:start}.proj-col-left,.proj-col-right{min-width:0}
.user-card{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);gap:8px;flex-wrap:wrap}.user-avatar,.user-avatar-placeholder{width:36px;height:36px;border-radius:10px}.user-avatar{object-fit:cover}.user-avatar-placeholder{display:grid;place-items:center;background:var(--violet);color:#fff;font-weight:800}

/* Login completamente nova */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(370px,.8fr);background:var(--rail);color:var(--rail-text);position:relative;overflow:hidden}.login-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(circle at 55% 48%,rgba(183,156,255,.2),transparent 27%),linear-gradient(135deg,#111316,#202329)}.login-stage::before,.login-stage::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.075)}.login-stage::before{width:610px;height:610px}.login-stage::after{width:420px;height:420px}.login-scene{position:relative;z-index:2;text-align:center;max-width:620px}.login-wordmark{position:absolute;left:26px;top:24px;z-index:3;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800}.login-wordmark i{width:29px;height:29px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-style:normal}.login-bunny img{height:min(45vh,430px)!important;filter:drop-shadow(0 34px 32px rgba(0,0,0,.42))!important}.login-stage h1{font-family:var(--display);font-size:clamp(42px,5vw,72px);font-weight:400;line-height:.92;letter-spacing:-2.4px;margin:-8px auto 12px;max-width:640px}.login-stage p{color:rgba(255,255,255,.54);font-size:10.5px;line-height:1.6;max-width:400px;margin:auto}.login-panel{background:var(--surface);color:var(--ink);padding:46px clamp(30px,5vw,76px);display:flex;flex-direction:column;justify-content:center;position:relative}.login-panel-label{font-size:8px;color:var(--violet);font-weight:800;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:12px}.login-panel h2{font-family:var(--display);font-size:38px;font-weight:400;line-height:1;margin-bottom:12px}.login-panel>p{font-size:10.5px;line-height:1.65;color:var(--ink-2);margin-bottom:26px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--ink);color:var(--surface);font-size:10px;font-weight:800;cursor:pointer}.google-btn:hover{background:var(--violet)}.login-note{font-size:8px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.5}.theme-float{position:absolute;right:18px;top:18px;width:39px;height:39px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;z-index:5}

/* Chat */
.chat-fab{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border:0;border-radius:15px;background:var(--accent);color:var(--accent-ink);font-size:18px;cursor:pointer;box-shadow:0 14px 38px rgba(55,75,20,.22);z-index:997;display:flex;align-items:center;justify-content:center;overflow:hidden}.chat-fab img{height:58px!important;max-width:64px;filter:none!important}.chat-panel{position:fixed;right:20px;bottom:83px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 110px);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:996;transition:opacity .18s,transform .18s}.chat-panel.hidden{opacity:0;pointer-events:none;transform:translateY(12px) scale(.98)}.chat-header{min-height:76px;padding:12px 14px;background:var(--rail);color:var(--rail-text);display:flex;align-items:center;gap:10px}.chat-header-bunny{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--rail-2);overflow:hidden}.chat-header-bunny img{height:53px!important}.chat-header-copy{flex:1}.chat-header-title{font-size:10.5px;font-weight:800}.chat-header-sub{font-size:8px;color:var(--rail-muted);margin-top:2px}.chat-close{width:30px;height:30px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--rail-2);color:var(--rail-text);cursor:pointer}.chat-msgs{flex:1;overflow:auto;padding:13px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(var(--chat-fade),transparent 100px)}.chat-bubble-user,.chat-bubble-ai,.chat-bubble-typing{padding:9px 11px;max-width:86%;font-size:9.5px;line-height:1.5}.chat-bubble-user{align-self:flex-end;background:var(--ink);color:var(--surface);border-radius:13px 13px 4px 13px}.chat-bubble-ai,.chat-bubble-typing{align-self:flex-start;background:var(--surface-2);color:var(--ink);border-radius:13px 13px 13px 4px}.typing-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--muted);animation:bounce .8s infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.chat-suggestion{background:var(--violet-soft);border:1px solid color-mix(in srgb,var(--violet) 25%,transparent);border-radius:13px;padding:10px}.chat-suggestion-title{font-size:8px;color:var(--violet);font-weight:800;text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px}.chat-suggestion-field{font-size:9px;color:var(--ink-2)}.chat-confirm-row{display:flex;gap:5px;margin-top:8px}.chat-confirm-btn{flex:1;border:0;border-radius:8px;min-height:31px;font-size:8px;font-weight:800;cursor:pointer}.chat-confirm-btn.ok{background:var(--green-soft);color:var(--green)}.chat-confirm-btn.edit{background:var(--amber-soft);color:var(--amber)}.chat-confirm-btn.no{background:var(--red-soft);color:var(--red)}.chat-input-row{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:var(--surface)}.chat-input{flex:1;min-width:0;height:38px;border:1px solid var(--line);background:var(--input-bg);border-radius:10px;padding:0 11px;color:var(--ink);font-size:9px;outline:0}.chat-input:focus{border-color:var(--violet)}.chat-mic{width:38px;height:38px;border:1px solid var(--line);background:var(--input-bg);border-radius:10px;cursor:pointer}.chat-mic.listening{background:var(--red-soft);color:var(--red);animation:pulse 1s infinite}.chat-send{height:38px;border:0;border-radius:10px;padding:0 12px;background:var(--ink);color:var(--surface);font-size:9px;font-weight:800;cursor:pointer}

/* Simulacao "e se...?" e atalhos do chat. Painel estreito: fonte miuda, tabela
   com rolagem propria e KPIs em duas colunas. */
.chat-sim{align-self:flex-start;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:10px}
.chat-sim-title{font-size:8px;color:var(--violet);font-weight:800;text-transform:uppercase;letter-spacing:.7px;margin-bottom:7px}
.chat-sim-kpis{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;margin-bottom:8px}
.chat-sim-kpi{display:flex;flex-direction:column;gap:1px;min-width:0}
.chat-sim-kpi span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-sim-kpi b{font-size:9.5px;font-weight:800}
.chat-sim-table-wrap{max-height:150px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chat-sim-table{width:100%;border-collapse:collapse;font-size:8px}
.chat-sim-table th{position:sticky;top:0;background:var(--surface-2);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px;text-align:right;padding:4px 3px}
.chat-sim-table th:first-child,.chat-sim-table td:first-child{text-align:left}
.chat-sim-table td{padding:3px;text-align:right;white-space:nowrap;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.chat-sim-est{color:var(--muted);margin-left:2px;cursor:help}
.chat-sim-more{margin-top:6px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);min-height:26px;font-size:8px;font-weight:800;cursor:pointer}
.chat-sim-alert{margin-top:6px;padding:6px 8px;border-radius:8px;background:var(--amber-soft);color:var(--amber);font-size:8px;line-height:1.45}
.chat-sim-note{margin-top:6px;font-size:7.5px;color:var(--muted);line-height:1.45}
.chat-chips{align-self:flex-start;display:flex;flex-wrap:wrap;gap:5px;max-width:96%}
.chat-chip{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:6px 10px;font-size:8px;font-weight:700;text-align:left;cursor:pointer}
.chat-chip:hover{border-color:var(--violet);color:var(--violet)}

/* A mascote da IA flutua sem placa colorida e sem recorte durante os moods. */
.chat-fab{width:64px;height:64px;padding:3px;background:transparent;color:inherit;border-radius:0;box-shadow:none;overflow:visible}
.chat-fab:hover,.chat-fab:focus-visible{background:transparent}
.chat-fab img{height:60px!important;max-width:68px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.25))!important}
.chat-header-bunny{background:transparent;overflow:visible}
.login-stage{background:radial-gradient(circle at 55% 48%,var(--accent-glow),transparent 27%),linear-gradient(135deg,#111316,#202329)}

/* Calculadora */
#calc-backdrop{position:fixed;inset:0;background:rgba(5,7,9,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:none;z-index:9000}#calc-backdrop.open{display:block}#calc-panel{position:fixed;bottom:0;left:0;right:0;max-width:470px;margin:auto;background:var(--surface);border-radius:22px 22px 0 0;padding:14px 14px 24px;box-shadow:var(--shadow-lg);transform:translateY(105%);transition:transform .25s;z-index:9001}#calc-panel.open{transform:none}#calc-display{display:flex;align-items:flex-end;justify-content:space-between;background:var(--input-bg);border-radius:13px;padding:11px 14px;margin-bottom:10px}#calc-expr{font-size:8px;color:var(--muted);min-height:14px}#calc-val{font-size:24px;font-weight:800;text-align:right}#calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-btn{height:50px;border:0;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer}.calc-num{background:var(--input-bg);color:var(--ink)}.calc-op{background:var(--violet-soft);color:var(--violet)}.calc-del{background:var(--amber-soft);color:var(--amber)}.calc-clr{background:var(--red-soft);color:var(--red)}.calc-ok{background:var(--ink);color:var(--surface)}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes bounce{50%{transform:translateY(-4px)}}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--red) 12%,transparent)}}
.bunny-anim{animation:bunnyIdle 3.2s ease-in-out infinite;transform-origin:50% 95%;will-change:transform}.bunny-anim-happy{animation:bunnyHappy 1.7s ease-in-out infinite}.bunny-anim-sad{animation:bunnySad 4.2s ease-in-out infinite}.bunny-anim-angry{animation:bunnyAngry 2.4s ease-in-out infinite}.bunny-anim-scared{animation:bunnyScared 1.1s ease-in-out infinite}@keyframes bunnyIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) scale(1.015)}}@keyframes bunnyHappy{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(3deg)}}@keyframes bunnySad{50%{transform:translateY(2px) rotate(-2deg)}}@keyframes bunnyAngry{82%{transform:translateX(-2px)}88%{transform:translateX(2px)}94%{transform:translateX(-2px)}}@keyframes bunnyScared{50%{transform:translateY(-1px) scale(.985)}}

@media(max-width:1020px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.side-rail{width:210px}.workspace{grid-column:2}.rail-bunny{min-height:180px}.rail-bunny #bunny-mascot img{height:120px!important}.body{padding:20px}.workspace-top{padding:16px 20px 13px}.home-hero{grid-template-columns:1fr 280px}.hero-copy{padding:27px}.hero-bunny img{height:245px!important}.proj-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  body{padding-bottom:78px}.app-shell{display:block}.side-rail,.workspace-top{display:none}.workspace{min-width:0}.mobile-head{position:sticky;top:0;z-index:110;display:flex;align-items:center;justify-content:space-between;gap:10px;height:66px;padding:7px 12px;background:color-mix(in srgb,var(--canvas) 90%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-brand{display:flex;align-items:center;gap:6px;min-width:0}.mobile-brand-bunny{width:50px;height:54px;display:flex;align-items:center;justify-content:center}.mobile-brand-bunny img{height:57px!important}.mobile-brand strong{display:block;font-size:10px}.mobile-brand span{display:block;font-size:7.5px;color:var(--muted);margin-top:2px}.mobile-head-actions{display:flex;gap:5px}.mobile-head-actions button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.mobile-nav{position:fixed;display:flex;left:8px;right:8px;bottom:7px;z-index:995;background:var(--rail);border:1px solid rgba(255,255,255,.08);padding:6px;border-radius:18px;box-shadow:var(--shadow-lg);overflow-x:auto;gap:3px;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav .nav-btn{flex:0 0 70px;min-width:70px;flex-direction:column;gap:3px;padding:7px 4px;font-size:7px;text-align:center;justify-content:center}.mobile-nav .nav-glyph{width:20px;height:20px;border-radius:6px}.body{padding:13px 10px 28px}.mbar{padding:7px;margin-bottom:11px;border-radius:13px}.period-controls{gap:5px}.period-arrow{width:31px;height:31px}.period-count{display:none}.mbar .inp{min-height:33px;padding:6px 8px}.home-hero{min-height:385px;display:block;border-radius:22px}.hero-copy{padding:24px 22px 0}.hero-label{margin-bottom:8px}.hero-value{font-size:45px}.hero-caption{font-size:9px;max-width:270px}.hero-actions{margin-top:16px}.hero-action{height:34px;padding:0 11px;font-size:8px}.hero-bunny{position:absolute;right:-2px;bottom:-2px;min-height:0}.hero-bunny img{height:205px!important}.hero-status{top:17px;right:16px;font-size:7px}.metric-grid{grid-template-columns:1fr 1fr;gap:7px}.metric{min-height:102px;padding:13px}.metric:nth-child(3){grid-column:1/-1}.metric-value{font-size:17px}.bento-grid{grid-template-columns:1fr}.panel{border-radius:16px;padding:15px}.kpi-grid{grid-template-columns:1fr 1fr;gap:7px}.kpi{min-height:96px;padding:12px}.kpi-value{font-size:15px!important}.card{border-radius:15px;padding:14px}.row2{flex-direction:column}.chat-fab{right:13px;bottom:88px;width:48px;height:48px;border-radius:14px}.chat-panel{left:9px;right:9px;bottom:146px;width:auto;height:min(560px,calc(100vh - 170px));border-radius:18px}.login-wrap{display:block;min-height:100vh;overflow:auto}.login-stage{min-height:55vh;padding:60px 20px 24px}.login-stage::before{width:360px;height:360px}.login-stage::after{width:260px;height:260px}.login-wordmark{left:18px;top:17px}.login-bunny img{height:235px!important}.login-stage h1{font-size:43px;margin-top:-4px}.login-stage p{font-size:9px;padding:0 12px}.login-panel{min-height:45vh;padding:32px 24px 42px}.login-panel h2{font-size:34px}.proj-grid{display:block}.uni-type-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:380px){.hero-value{font-size:39px}.hero-bunny img{height:182px!important}.metric-value{font-size:15px}.mobile-nav .nav-btn{flex-basis:65px;min-width:65px}.top-pill{padding:0 9px}}
@media(max-width:760px){.chat-fab{width:60px;height:60px;right:11px;bottom:84px}}

/* Hotfix de contraste e acessibilidade, sem alterar o layout do produto. */
.rail-tool{color:var(--rail-text);border-color:rgba(255,255,255,.16);font-weight:700}
.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;color:#ffd9de;border-color:rgba(255,154,166,.45);background:rgba(255,154,166,.12)}
.logout-btn:hover{background:rgba(255,154,166,.2);border-color:var(--red)}
.billing-next,.alert-info{background:var(--warn-bg);color:var(--warn-text);border-color:color-mix(in srgb,var(--amber) 55%,#000)}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .panel,:root[data-theme="dark"] .metric,:root[data-theme="dark"] .kpi{box-shadow:0 1px 0 rgba(255,255,255,.025),0 14px 32px rgba(0,0,0,.28)}
:root[data-theme="dark"] th{color:var(--ink-2)!important;border-color:var(--line)!important}
:root[data-theme="dark"] td{border-color:var(--line)}
.tx-row[style*="opacity"]{opacity:1!important}
@media(max-width:760px){.mobile-head-actions .mobile-logout{color:var(--red);border-color:color-mix(in srgb,var(--red) 48%,var(--line))}.mobile-nav{border-color:rgba(255,255,255,.16)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Progresso de operações em lote (parcelamentos longos, recorrências) */
#bulk-progress{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,7,9,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .16s ease}
.bulk-box{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-lg);padding:24px 22px;text-align:center;animation:rise .22s ease}
.bulk-title{font-family:var(--display);font-size:21px;line-height:1.1;margin-bottom:7px}
.bulk-sub{font-size:9.5px;color:var(--ink-2);line-height:1.5;margin-bottom:15px;min-height:14px}
.bulk-track{height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.bulk-fill{height:100%;width:0;border-radius:99px;background:var(--violet);transition:width .2s ease}
.bulk-count{font-size:9px;font-weight:800;color:var(--violet);margin-top:10px;letter-spacing:.4px}
.bulk-note{font-size:8px;color:var(--muted);margin-top:6px}


/* ── VISUAL ESCURO "FINTECH" (veio da versão Android) ──────────────────────
   Tudo escopado em [data-theme="dark"]: o tema claro continua como era.
   O tema escuro virou o padrão (script no <head> do index.html). */
/* Referência: estudo de caso de app financeiro do Behance ──────────────────────
   Estética inspirada no estudo de caso de app financeiro do Behance:
   Superfícies em vidro fosco (glassmorphism), cartões bento com cantos arredondados,
   auras radiais elegantes no cartão de saldo, dock bar flutuante premium e
   paleta nas cores originais: Obsidiana (#121418), Roxo Imperial (#64336A),
   Lilás Neon (#BDA7FF), Esmeralda (#10B981) e Coral (#EF4444). */

:root[data-theme="dark"] {
  --canvas: #121418;
  --surface: #181b21;
  --surface-2: #21252d;
  --surface-3: #2b303b;
  --ink: #f8f7fa;
  --ink-2: #c4c2cb;
  --muted: #8e8b98;
  --line: rgba(255, 255, 255, 0.085);
  --rail: #0e1013;
  --rail-2: #16191f;
  --rail-text: #f8f7fa;
  --rail-muted: #9592a0;
  --accent: #bda7ff;
  --accent-ink: #180f28;
  --accent-glow: rgba(140, 76, 148, 0.35);
  --violet: #bda7ff;
  --violet-soft: #2e1e3b;
  --hero-bg: linear-gradient(145deg, #2f1738 0%, #1a1c22 65%, #131418 100%);
  --hero-text: #ffffff;
  --hero-muted: #b8b3c3;
  --hero-soft: rgba(255, 255, 255, 0.08);
  --green: #10b981;
  --green-soft: rgba(16, 185, 129, 0.14);
  --red: #ef4444;
  --red-soft: rgba(239, 68, 68, 0.14);
  --amber: #f59e0b;
  --amber-soft: rgba(245, 158, 11, 0.14);
  --shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 12px 36px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.65);
}


/* Cartão Hero de Saldo Estilo Fintech Behance */
:root[data-theme="dark"] .home-hero {
  background: linear-gradient(135deg, rgba(100, 51, 106, 0.42) 0%, rgba(24, 27, 33, 0.95) 70%), #14161b !important;
  border: 1px solid rgba(189, 167, 255, 0.24) !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.45), 0 0 32px rgba(100, 51, 106, 0.2) !important;
  position: relative;
  overflow: hidden;
}


:root[data-theme="dark"] .home-hero::before {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  right: -60px;
  top: -80px;
  background: radial-gradient(circle, rgba(140, 76, 148, 0.28), transparent 70%) !important;
  pointer-events: none;
}


:root[data-theme="dark"] .hero-value {
  letter-spacing: -1.5px !important;
  font-weight: 500 !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
}


:root[data-theme="dark"] .hero-label {
  font-size: 9px !important;
  letter-spacing: 1.8px !important;
  font-weight: 800 !important;
  color: #bda7ff !important;
}


:root[data-theme="dark"] .hero-actions .hero-action {
  border-radius: 14px !important;
  backdrop-filter: blur(14px) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}


:root[data-theme="dark"] .hero-action.primary {
  background: linear-gradient(135deg, #8C4C94 0%, #64336A 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 8px 24px rgba(100, 51, 106, 0.5) !important;
}


:root[data-theme="dark"] .hero-action:not(.primary) {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}


:root[data-theme="dark"] .hero-action:hover {
  transform: translateY(-2px);
}


/* Métricas e Cards Bento (Estudo de Caso Behance) */
:root[data-theme="dark"] .metric {
  border-radius: 22px !important;
  background: var(--surface) !important;
  border: 1px solid rgba(255, 255, 255, 0.085) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}


:root[data-theme="dark"] .metric:hover {
  transform: translateY(-3px);
  border-color: rgba(189, 167, 255, 0.3) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.4) !important;
}


:root[data-theme="dark"] .metric-glyph {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.065) !important;
}


:root[data-theme="dark"] .panel, :root[data-theme="dark"] .card {
  border-radius: 24px !important;
  background: var(--surface) !important;
  border: 1px solid rgba(255, 255, 255, 0.085) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}


/* Linhas de Lançamento / Extrato refinadas */
:root[data-theme="dark"] .tx-row {
  padding: 13px 12px !important;
  border-radius: 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  margin-bottom: 3px !important;
  transition: background 0.18s ease, transform 0.15s ease !important;
}


:root[data-theme="dark"] .tx-row:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  transform: translateX(2px);
}

@media(max-width: 760px) {

  :root[data-theme="dark"] body {
    padding-bottom: 92px !important;
  }


  :root[data-theme="dark"] .mobile-head {
    background: rgba(16, 18, 22, 0.88) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    height: 64px !important;
    padding: 8px 16px !important;
  }


  :root[data-theme="dark"] .mobile-nav {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    border-radius: 26px !important;
    background: rgba(20, 23, 29, 0.88) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    backdrop-filter: blur(24px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.6) !important;
    padding: 7px 8px !important;
    gap: 4px !important;
  }


  :root[data-theme="dark"] .mobile-nav .nav-btn {
    border-radius: 18px !important;
    padding: 8px 6px !important;
    transition: all 0.2s ease !important;
  }


  :root[data-theme="dark"] .mobile-nav .nav-btn.active {
    background: linear-gradient(135deg, #8C4C94 0%, #64336A 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 24px rgba(100, 51, 106, 0.55) !important;
  }


  :root[data-theme="dark"] .home-hero {
    min-height: 340px !important;
    border-radius: 26px !important;
  }


  :root[data-theme="dark"] .hero-value {
    font-size: 46px !important;
  }
}


/* Botões, Entradas e Modais */
:root[data-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, #8C4C94 0%, #64336A 100%) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 20px rgba(100, 51, 106, 0.4) !important;
}


:root[data-theme="dark"] .inp {
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--ink) !important;
}


:root[data-theme="dark"] .inp:focus {
  border-color: #bda7ff !important;
  box-shadow: 0 0 0 3px rgba(189, 167, 255, 0.22) !important;
}


:root[data-theme="dark"] .modal, :root[data-theme="dark"] .confirm-box {
  border-radius: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.7) !important;
}


:root[data-theme="dark"] #calc-panel {
  border-radius: 28px 28px 0 0 !important;
  background: rgba(24, 27, 33, 0.98) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.6) !important;
}

/* ── GRÁFICO DE ROSCA (DONUT) NA ABA PROJEÇÃO ── */
.donut-slice-group path {
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.18s ease, filter 0.18s ease;
}
.donut-slice-group:hover path {
  opacity: 0.94;
  filter: brightness(1.15) drop-shadow(0 2px 10px rgba(0,0,0,0.3));
  transform: scale(1.025);
}
.donut-legend-row {
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.donut-legend-row:hover {
  background: var(--surface-2, rgba(255,255,255,0.08)) !important;
  border-color: var(--line) !important;
  transform: translateX(2px);
}
