:root{
  --bg:#f7faff; --card:#ffffff; --ink:#071a35; --muted:#6c7890; --line:#dde7f7;
  --blue:#2557ff; --blue2:#7b61ff; --aqua:#20c8ff; --lime:#20c8ff; --red:#e5484d; --green:#0c9f6e;
  --shadow:0 24px 70px rgba(15,23,42,.10); --soft-shadow:0 14px 40px rgba(15,23,42,.08); --radius:28px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
[data-theme="dark"]{
  --bg:#080c14; --card:#101827; --ink:#eef4ff; --muted:#9aa7bc; --line:#263245;
  --shadow:0 24px 80px rgba(0,0,0,.34); --soft-shadow:0 14px 40px rgba(0,0,0,.22);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} [hidden]{display:none!important} body{margin:0;background:radial-gradient(circle at 15% 0%,rgba(54,197,255,.10),transparent 28%),radial-gradient(circle at 92% 8%,rgba(111,91,255,.10),transparent 30%),var(--bg);color:var(--ink);font-family:var(--font);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} button,input,select,textarea{font:inherit;color:inherit} button{cursor:pointer} a{color:inherit;text-decoration:none}.hidden{display:none!important}
.card{background:rgba(255,255,255,.86);border:1px solid rgba(229,232,239,.85);border-radius:var(--radius);box-shadow:var(--soft-shadow);backdrop-filter:blur(16px)}[data-theme="dark"] .card{background:rgba(16,24,39,.88);border-color:#263245}.glass-card{overflow:hidden;position:relative}.glass-card:before{content:"";position:absolute;inset:-60% auto auto -45%;width:90%;height:90%;background:linear-gradient(135deg,rgba(26,102,255,.20),rgba(111,91,255,.22));filter:blur(10px);border-radius:50%;pointer-events:none}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .78fr;gap:22px}.auth-hero{padding:38px;min-height:650px;display:flex;flex-direction:column;justify-content:space-between}.login-window{width:min(480px,100%);padding:30px}.login-brand-wrap{display:grid;gap:10px;margin-bottom:18px;text-align:left}.login-tagline{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800}.brand-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:800;box-shadow:0 14px 34px rgba(26,102,255,.26)}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.large-brand .brand-mark{width:56px;height:56px;border-radius:20px}.large-brand strong{font-size:22px}.hero-copy{position:relative;z-index:1}.eyebrow,.muted-label{margin:0 0 8px;color:var(--muted);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.hero-copy h1{font-size:clamp(36px,6vw,62px);line-height:1;letter-spacing:-.05em;margin:0 0 22px}.hero-copy p{font-size:18px;color:var(--muted);line-height:1.6;max-width:680px}.auth-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.auth-feature-grid span{padding:14px 16px;border:1px solid var(--line);background:rgba(255,255,255,.68);border-radius:18px;font-weight:800}[data-theme="dark"] .auth-feature-grid span{background:rgba(255,255,255,.04)}.security-note,.tiny-help{color:var(--muted);line-height:1.5;font-size:13px}.auth-card{padding:28px;align-self:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:6px;margin-bottom:24px}.auth-tabs button{border:0;background:transparent;border-radius:13px;padding:12px;font-weight:700;color:var(--muted)}.auth-tabs button.active{background:var(--card);color:var(--ink);box-shadow:0 8px 26px rgba(15,23,42,.08)}.auth-form{display:none;gap:16px}.auth-form.active{display:grid}.form-title h2{font-size:28px;letter-spacing:-.03em;margin:0} label{display:grid;gap:8px;font-weight:800;font-size:14px}input,select,textarea{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:13px 14px;outline:0;min-width:0}textarea{resize:vertical;min-height:92px}input:focus,select:focus,textarea:focus{border-color:rgba(26,102,255,.75);box-shadow:0 0 0 4px rgba(26,102,255,.13)}.toggle-row{display:flex;align-items:center;gap:10px;grid-template-columns:none}.toggle-row input{width:18px;height:18px}.primary-button,.secondary-button,.ghost-button,.danger-button,.text-button,.icon-button,.round-icon,.file-button{border:0;border-radius:16px;padding:12px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 14px 32px rgba(26,102,255,.24)}.secondary-button{background:#edf2ff;color:#11316c}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink)}.danger-button{background:#ffe7e8;color:#b42329}.text-button{background:transparent;color:var(--blue);padding:8px}.icon-button,.round-icon{background:var(--card);border:1px solid var(--line);width:44px;height:44px;padding:0}.round-icon{border-radius:999px}.full-width{width:100%}.compact-button{padding:10px 14px}.notice{padding:12px 14px;border-radius:16px;font-size:13px;line-height:1.4}.notice.error{background:#fff0f1;color:#ba1a1a}.notice.success{background:#edfff5;color:#067647}.notice.info{background:#edf7ff;color:#155a85}.app-shell{display:grid;grid-template-columns:282px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;background:rgba(255,255,255,.60);border-right:1px solid var(--line);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:24px}[data-theme="dark"] .sidebar{background:rgba(16,24,39,.70)}.side-nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;border-radius:17px;padding:13px 14px;text-align:left;font-weight:700;color:var(--muted);display:flex;gap:10px;align-items:center}.nav-item.active,.nav-item:hover{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:10px;color:var(--muted);font-size:12px}.main-area{padding:26px;max-width:1360px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}.topbar h1{font-size:42px;margin:0;letter-spacing:-.045em}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.user-chip{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:9px 12px}.user-avatar{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua),var(--lime));font-weight:800;color:#07111d}.user-chip small{display:block;color:var(--muted);font-size:12px}.page{display:none}.page.active{display:block}.hero-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.networth-card{padding:24px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(232,241,255,.88))}[data-theme="dark"] .networth-card{background:linear-gradient(135deg,rgba(16,24,39,.98),rgba(26,41,70,.88))}.cashflow-card,.section-card{padding:22px}.card-heading-row,.section-header,.cashflow-total{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.money-display{font-size:clamp(38px,7vw,64px);margin:6px 0 0;letter-spacing:-.05em;line-height:.92}.networth-foot{display:flex;justify-content:space-between;gap:16px;margin-top:34px;color:var(--muted);font-weight:700;flex-wrap:wrap}.summary-row{display:grid;gap:14px}.summary-row>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:20px;padding:16px}[data-theme="dark"] .summary-row>div{background:rgba(255,255,255,.04)}.summary-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;font-weight:800}.summary-icon.income{background:#eafbf3;color:var(--green)}.summary-icon.expense{background:#fff0f1;color:var(--red)}.summary-row small{display:block;color:var(--muted);font-weight:700}.summary-row strong,.cashflow-total strong{font-size:24px}.cashflow-total{margin-top:18px;align-items:center;color:var(--muted)}.content-grid{display:grid;gap:18px;margin-top:18px}.content-grid.two-thirds{grid-template-columns:1.25fr .75fr}.account-strip,.account-grid,.budget-grid,.goal-grid,.insight-grid,.settings-grid{display:grid;gap:14px}.account-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.account-grid,.budget-grid,.goal-grid,.insight-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.mini-card{background:rgba(250,252,255,.82);border:1px solid var(--line);border-radius:22px;padding:16px;display:grid;gap:12px}[data-theme="dark"] .mini-card{background:rgba(255,255,255,.04)}.mini-card h4{margin:0;font-size:18px}.mini-card p{margin:0;color:var(--muted)}.mini-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.emoji{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#eaf2ff;font-size:22px}.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action-grid button{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);padding:18px;font-weight:800;text-align:left;display:grid;gap:10px}.quick-action-grid span{font-size:28px}.list-container{display:grid;gap:10px}.empty-state{border:1px dashed #c7cedb;border-radius:22px;padding:28px;text-align:center;color:var(--muted);background:rgba(255,255,255,.48)}.list-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:rgba(250,252,255,.82);border-radius:20px;padding:13px}.list-row h4{margin:0}.list-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.row-right{text-align:right;font-weight:800}.filter-bar{display:grid;grid-template-columns:1.4fr .65fr .8fr .7fr;gap:10px;margin:16px 0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0 9px}.data-table th{font-size:12px;text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:4px 10px}.data-table td{background:rgba(250,252,255,.86);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 10px}.data-table td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.data-table td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0;text-align:right}.tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef3ff;color:#1f4e96;padding:6px 10px;font-size:12px;font-weight:800;text-transform:capitalize}.tag.income{background:#e8fff3;color:#027a48}.tag.expense{background:#fff0f1;color:#b42329}.tag.transfer{background:#eef3ff;color:#1d4ed8}.money.income{color:var(--green)}.money.expense{color:var(--red)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .span{grid-column:1/-1}.top-space{margin-top:18px}.file-button{background:#edf2ff;color:#11316c;position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.progress{height:13px;border-radius:999px;background:#e8edf5;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--blue2))}.progress.over span{background:linear-gradient(90deg,#ff6870,#b42329)}.chart-wrap{min-height:320px;display:grid;place-items:center}.modal-backdrop{position:fixed;inset:0;background:rgba(6,10,18,.58);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.modal-head h2{margin:0;letter-spacing:-.03em}.close-button{border:0;background:var(--bg);width:42px;height:42px;border-radius:14px;font-size:24px}.toast{position:fixed;right:22px;bottom:22px;background:#07111d;color:#fff;padding:14px 16px;border-radius:16px;box-shadow:var(--shadow);z-index:70;max-width:360px}.legal-copy{line-height:1.65;color:var(--muted)}.legal-copy h3{color:var(--ink);margin-top:22px}.danger-zone{border-color:rgba(229,72,77,.35)}
@media(max-width:1020px){.auth-panel,.app-shell,.hero-grid,.content-grid.two-thirds{grid-template-columns:1fr}.auth-hero{min-height:auto}.sidebar{position:static;height:auto}.side-nav{grid-template-columns:repeat(4,1fr)}.nav-item{justify-content:center}.filter-bar{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column}.main-area{padding:18px}}
@media(max-width:660px){.auth-gate{padding:14px}.auth-hero,.auth-card{padding:22px}.auth-feature-grid,.form-grid,.filter-bar{grid-template-columns:1fr}.side-nav{grid-template-columns:repeat(2,1fr)}.topbar h1{font-size:34px}.topbar-actions{width:100%}.primary-button,.secondary-button,.ghost-button,.danger-button{width:100%}.icon-button,.round-icon{width:44px}.user-chip{width:100%}.list-row{grid-template-columns:auto 1fr}.row-right{grid-column:2;text-align:left}.cashflow-total{align-items:flex-start;flex-direction:column}.money-display{font-size:46px}.data-table{min-width:760px}}


/* ------------------------------------------------------------
   Finora v2.0.4 — Finsights UI Refinement
   Softer Finsights-inspired visual system: lighter type, smaller
   desktop shell, rounded finance-app cards, session-first login.
------------------------------------------------------------ */
:root{
  --bg:#f7faff;
  --card:#ffffff;
  --surface:#ffffff;
  --surface-2:#f2f6ff;
  --surface-3:#e5edff;
  --ink:#071a35;
  --text:#071a35;
  --muted:#6c7890;
  --line:#dde7f7;
  --lime:#20c8ff;
  --lime-strong:#2557ff;
  --green-soft:#e8fff6;
  --green:#0c9f6e;
  --red-soft:#fff0f2;
  --red:#e5484d;
  --yellow:#2557ff;
  --blue:#2557ff;
  --blue2:#7b61ff;
  --aqua:#20c8ff;
  --shadow:0 16px 42px rgba(10,27,58,.08);
  --soft-shadow:0 8px 24px rgba(10,27,58,.06);
  --radius:22px;
  --radius-lg:22px;
  --radius-md:16px;
  --sidebar-width:248px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[data-theme="dark"]{
  --bg:#151618;
  --card:#202226;
  --surface:#202226;
  --surface-2:#292c31;
  --surface-3:#373a40;
  --ink:#f6f6f7;
  --text:#f6f6f7;
  --muted:#a7aab0;
  --line:#34373d;
  --shadow:0 16px 42px rgba(0,0,0,.24);
  --soft-shadow:0 8px 24px rgba(0,0,0,.18);
}
html,body{font-family:var(--font);}
body{background:var(--bg);color:var(--ink);font-size:16px;font-weight:400;letter-spacing:-.01em;}
body,button,input,select,textarea{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
strong,b,h1,h2,h3,h4,.brand,.primary-button,.secondary-button,.ghost-button,.danger-button,.text-button,.nav-item{font-weight:650;}
h1,h2,h3,h4,p{letter-spacing:-.02em;}

/* Login first screen */
.auth-gate{min-height:100vh;background:var(--bg);display:grid;place-items:center;padding:22px;}
.auth-panel{grid-template-columns:1fr;max-width:460px;}
.auth-hero{display:none;}
.auth-card,.login-window{width:min(440px,100%);padding:26px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.55);}
.login-brand-wrap{margin-bottom:16px;}
.login-tagline{font-size:13px;color:var(--muted);}
.form-title h2{font-size:24px;line-height:1.1;font-weight:650;letter-spacing:-.04em;}
.auth-tabs{border-radius:18px;background:var(--surface-2);padding:5px;gap:5px;margin-bottom:20px;}
.auth-tabs button{padding:11px 10px;border-radius:14px;font-weight:550;font-size:14px;}
.auth-tabs button.active{box-shadow:var(--shadow-soft);}
label{font-weight:600;font-size:13px;color:var(--ink);}
input,select,textarea{border-radius:15px;background:var(--surface);border-color:var(--line);padding:12px 13px;font-size:14px;}
.notice,.security-note,.tiny-help{font-size:12.5px;}

/* App shell: closer to original Finsights, less enterprise dashboard */
.app-shell{display:block;min-height:100vh;}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;padding:28px 20px;display:flex;flex-direction:column;gap:28px;background:var(--surface);border-right:1px solid var(--line);box-shadow:none;backdrop-filter:none;z-index:20;}
.main-area{margin-left:var(--sidebar-width);max-width:none;padding:28px 36px 56px;width:auto;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:4px 8px;}
.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--yellow);color:#111;font-size:24px;font-weight:800;box-shadow:none;}
.large-brand .brand-mark{width:50px;height:50px;border-radius:16px;}
.large-brand strong{font-size:21px;font-weight:650;}
.brand strong,.brand small{display:block;}
.brand strong{font-size:20px;letter-spacing:-.03em;font-weight:650;}
.brand small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;}
.side-nav{display:grid;gap:6px;}
.nav-item{border:0;background:transparent;cursor:pointer;width:100%;display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;color:var(--muted);text-align:left;font-weight:600;font-size:16px;}
.nav-item span{width:24px;font-size:20px;text-align:center;color:var(--ink);}
.nav-item:hover{background:var(--surface-2);color:var(--ink);}
.nav-item.active,.nav-item.active:hover{background:#111;color:#fff;}
.nav-item.active span{color:var(--lime);}
[data-theme="dark"] .nav-item.active{background:var(--lime);color:#101114;}
[data-theme="dark"] .nav-item.active span{color:#101114;}
.sidebar-footer{margin-top:auto;display:grid;gap:10px;color:var(--muted);font-size:12px;}

/* Header and actions */
.topbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;}
.topbar h1{margin:2px 0 0;font-size:clamp(28px,3vw,38px);line-height:1.05;letter-spacing:-.05em;font-weight:650;}
.eyebrow,.muted-label{margin:0 0 7px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.topbar-actions,.button-row{display:flex;gap:10px;align-items:center;}
.user-chip{padding:7px 10px;border-radius:16px;background:var(--surface);box-shadow:none;}
.user-avatar{width:32px;height:32px;border-radius:11px;background:var(--yellow);font-weight:700;color:#111;}
.user-chip strong{font-size:13px;font-weight:600;}
.user-chip small{font-size:10.5px;font-weight:400;}
.primary-button,.secondary-button,.danger-button,.text-button,.icon-button,.round-icon,.ghost-button,.file-button{border:0;cursor:pointer;border-radius:14px;font-weight:650;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease;}
.primary-button{background:#111;color:#fff;padding:13px 18px;box-shadow:var(--soft-shadow);}
.primary-button span{color:var(--lime);font-size:18px;}
.primary-button:hover{transform:translateY(-1px);}
.secondary-button{padding:12px 16px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);box-shadow:none;}
.ghost-button{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);box-shadow:none;}
.text-button{background:transparent;color:var(--muted);padding:8px 0;font-weight:600;}
.text-button:hover{color:var(--ink);}
.icon-button,.round-icon{width:44px;height:44px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;box-shadow:var(--shadow-soft);}
.round-icon{border-radius:999px;}

/* Cards */
.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.35);backdrop-filter:none;}
.card:before,.glass-card:before{display:none!important;}
.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;}
.networth-card{min-height:210px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#fff 0%,#f9f9f9 55%,#eeffd8 100%);}
[data-theme="dark"] .networth-card{background:linear-gradient(135deg,#25272b 0%,#202226 55%,#30421f 100%);}
.card-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
.money-display{margin:8px 0 0;font-size:clamp(34px,4.8vw,56px);line-height:1;letter-spacing:-.055em;font-weight:700;}
.networth-foot{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;font-weight:500;margin-top:28px;}
.cashflow-card{padding:26px;display:flex;flex-direction:column;justify-content:space-between;}
.summary-row{display:grid;gap:16px;}
.summary-row>div{display:flex;align-items:center;gap:13px;background:transparent;border:0;border-radius:0;padding:0;}
.summary-row small,.summary-row strong{display:block;}
.summary-row small{color:var(--muted);margin-bottom:4px;font-weight:400;font-size:14px;}
.summary-row strong{font-size:21px;font-weight:650;}
.summary-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:800;}
.summary-icon.income{background:var(--green-soft);color:var(--green);}
.summary-icon.expense{background:var(--red-soft);color:var(--red);}
.cashflow-total{padding-top:18px;margin-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);}
.cashflow-total strong{font-size:22px;font-weight:650;color:var(--ink);}
.content-grid{display:grid;gap:18px;margin-top:18px;}
.content-grid.two-thirds{grid-template-columns:1.35fr .75fr;}
.section-card{padding:22px;}
.section-header,.section-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.section-header{margin-bottom:18px;}
.section-header h3,.section-actions h2{margin:4px 0 0;letter-spacing:-.035em;font-size:20px;font-weight:650;}

/* Account cards and lists */
.account-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.account-grid,.budget-grid,.goal-grid,.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.mini-card{padding:15px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;display:grid;gap:10px;box-shadow:none;}
.mini-card h4{margin:0;font-size:15px;font-weight:600;letter-spacing:-.025em;}
.mini-card p{font-size:13px;color:var(--muted);font-weight:400;}
.mini-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.emoji{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--lime);font-size:19px;}
.row-right{font-weight:650;}
.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.quick-action-grid button{min-height:76px;border:1px solid var(--line);background:var(--surface-2);border-radius:16px;cursor:pointer;display:grid;place-items:center;gap:5px;font-weight:650;text-align:center;padding:14px;}
.quick-action-grid button span{font-size:21px;line-height:1;}
.quick-action-grid button:hover{background:var(--lime);color:#111;}
.empty-state{min-height:150px;display:grid;place-items:center;text-align:center;padding:24px;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted);background:transparent;}
.list-row{grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:12px 0;}
.list-row:last-child{border-bottom:0;}
.list-row h4{font-size:15px;font-weight:600;}
.list-row p{font-size:12.5px;color:var(--muted);}
.tag{font-weight:650;border-radius:999px;}
.data-table th{font-size:11px;font-weight:700;color:var(--muted);}
.data-table td{background:var(--surface-2);}
.progress{height:12px;background:#e8edf5;}
.progress span{background:var(--lime-strong);}
.progress.over span{background:#e31622;}

/* Dialogs */
.modal-backdrop{background:rgba(17,18,20,.48);}
.modal{border-radius:24px;background:var(--surface);box-shadow:var(--shadow);}
.modal-head h2{font-weight:650;}
.toast{background:#111;color:#fff;border-radius:16px;}

/* Responsive refinements */
@media (max-width:1100px){
  :root{--sidebar-width:86px;}
  .sidebar{width:var(--sidebar-width);padding:24px 14px;align-items:center;}
  .brand{padding:0;}
  .brand>span:last-child,.sidebar-footer small,.sidebar-footer .ghost-button{display:none;}
  .nav-item{justify-content:center;padding:12px;font-size:0;}
  .nav-item span{font-size:20px;}
  .main-area{margin-left:var(--sidebar-width);padding:26px 28px 56px;}
  .account-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  .sidebar{display:none;}
  .main-area{margin-left:0;padding:22px 18px 110px;}
  .topbar{margin-bottom:18px;align-items:flex-start;flex-direction:column;}
  .topbar-actions{width:100%;flex-wrap:wrap;}
  .topbar-actions .user-chip{order:-1;width:100%;}
  .hero-grid,.content-grid.two-thirds,.settings-grid{grid-template-columns:1fr;}
  .account-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cashflow-card{min-height:200px;}
  .filter-bar{grid-template-columns:1fr 1fr;}
}
@media (max-width:660px){
  .auth-gate{padding:14px;}
  .auth-card,.login-window{padding:22px;border-radius:24px;}
  .form-grid,.filter-bar{grid-template-columns:1fr;}
  .topbar h1{font-size:32px;}
  .primary-button,.secondary-button,.ghost-button,.danger-button{width:100%;}
  .icon-button,.round-icon{width:44px;}
  .account-strip{grid-template-columns:1fr;}
  .quick-action-grid{grid-template-columns:1fr 1fr;}
  .money-display{font-size:42px;}
  .data-table{min-width:760px;}
}


/*
   Finora v2.0.7 — DesignLab Colorway
   Blue-led DesignLab palette: white/light base, deep navy text, royal/electric blue accents,
   violet only as soft support. Removes the Finsights yellow/lime treatment.
*/
:root{
  --bg:#f7faff;
  --surface:#ffffff;
  --surface-2:#f2f6ff;
  --card:#ffffff;
  --ink:#071a35;
  --muted:#6c7890;
  --line:#dde7f7;
  --blue:#2557ff;
  --blue2:#7b61ff;
  --aqua:#20c8ff;
  --indigo:#3142ff;
  --lavender:#edeaff;
  --glow-blue:rgba(37,87,255,.14);
  --glow-violet:rgba(123,97,255,.12);
  --glow-cyan:rgba(32,200,255,.10);
  --lime:#20c8ff;
  --lime-strong:#2557ff;
  --yellow:#2557ff;
  --green:#0c9f6e;
  --green-soft:#e8fff6;
  --red:#e5484d;
  --red-soft:#fff0f2;
  --shadow:0 24px 70px rgba(10,27,58,.10);
  --soft-shadow:0 12px 34px rgba(10,27,58,.075);
  --shadow-soft:0 10px 26px rgba(10,27,58,.07);
}
[data-theme="dark"]{
  --bg:#07111f;
  --surface:#0d1728;
  --surface-2:#121f34;
  --card:#0d1728;
  --ink:#eef5ff;
  --muted:#a8b5cc;
  --line:#263653;
  --glow-blue:rgba(37,87,255,.22);
  --glow-violet:rgba(123,97,255,.18);
  --glow-cyan:rgba(32,200,255,.13);
}
body{
  background:
    radial-gradient(circle at 12% 0%,var(--glow-cyan),transparent 30%),
    radial-gradient(circle at 88% 8%,var(--glow-violet),transparent 32%),
    linear-gradient(180deg,#fbfdff 0%,var(--bg) 48%,#f3f7ff 100%);
}
[data-theme="dark"] body{
  background:
    radial-gradient(circle at 12% 0%,var(--glow-blue),transparent 30%),
    radial-gradient(circle at 88% 8%,var(--glow-violet),transparent 34%),
    var(--bg);
}
.brand-mark,
.large-brand .brand-mark,
.user-avatar{
  background:linear-gradient(135deg,var(--blue) 0%,var(--aqua) 55%,var(--blue2) 100%)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(37,87,255,.22)!important;
}
.brand small{color:var(--muted)!important;}
.login-tagline{color:#315aa8;}
[data-theme="dark"] .login-tagline{color:#b6c8ff;}
.auth-tabs button.active{
  background:linear-gradient(135deg,#ffffff,#f3f6ff)!important;
  color:var(--blue)!important;
  box-shadow:0 8px 24px rgba(37,87,255,.12)!important;
}
[data-theme="dark"] .auth-tabs button.active{background:var(--surface-2)!important;color:#dce7ff!important;}
input:focus,select:focus,textarea:focus{
  border-color:rgba(37,87,255,.78)!important;
  box-shadow:0 0 0 4px rgba(37,87,255,.12)!important;
}
.primary-button{
  background:linear-gradient(135deg,var(--blue) 0%,var(--aqua) 55%,var(--blue2) 100%)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(37,87,255,.24)!important;
}
.primary-button span{color:#fff!important;}
.secondary-button,.file-button{
  background:#eef4ff!important;
  color:#173d8f!important;
  border:1px solid var(--line)!important;
}
.ghost-button,.icon-button,.round-icon{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
}
.text-button{color:var(--blue)!important;}
.sidebar{background:rgba(255,255,255,.78)!important;border-right:1px solid var(--line)!important;}
[data-theme="dark"] .sidebar{background:rgba(13,23,40,.84)!important;}
.nav-item:hover{
  background:#eef4ff!important;
  color:var(--blue)!important;
}
.nav-item.active,.nav-item.active:hover,
[data-theme="dark"] .nav-item.active{
  background:linear-gradient(135deg,var(--blue) 0%,var(--indigo) 58%,var(--blue2) 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(37,87,255,.22)!important;
}
.nav-item.active span,
[data-theme="dark"] .nav-item.active span{color:#fff!important;}
.card{
  border-color:rgba(221,231,247,.96)!important;
  box-shadow:var(--soft-shadow)!important;
}
.networth-card{
  background:
    radial-gradient(circle at 92% 12%,rgba(123,97,255,.12),transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f7faff 54%,#eaf2ff 100%)!important;
}
[data-theme="dark"] .networth-card{
  background:
    radial-gradient(circle at 92% 12%,rgba(123,97,255,.20),transparent 36%),
    linear-gradient(135deg,#0d1728 0%,#101d33 58%,#132b51 100%)!important;
}
.summary-icon.income{background:#e8fff6!important;color:var(--green)!important;}
.summary-icon.expense{background:#fff0f2!important;color:var(--red)!important;}
.emoji{
  background:linear-gradient(135deg,#e8f1ff,#edf0ff)!important;
  color:var(--blue)!important;
}
.quick-action-grid button:hover{
  background:linear-gradient(135deg,#eef4ff,#edf0ff)!important;
  color:var(--blue)!important;
  border-color:rgba(37,87,255,.28)!important;
}
.progress span{
  background:linear-gradient(90deg,var(--blue),var(--aqua),var(--blue2))!important;
}
.tag{background:#eef4ff!important;color:#2450c6!important;}
.tag.income{background:#e8fff6!important;color:#047857!important;}
.tag.expense{background:#fff0f2!important;color:#b42329!important;}
.tag.transfer{background:#eef4ff!important;color:#2450c6!important;}
.notice.info{background:#eef7ff!important;color:#155a85!important;}
.notice.success{background:#e8fff6!important;color:#067647!important;}
.toast{background:#071a35!important;color:#fff!important;}
.money-display,
.topbar h1,
.section-header h3,
.section-actions h2{color:var(--ink);}


/*
   Finora v2.0.7 — Account Card + DesignLab Gradient Fix
   Fixes account card amount overflow and uses the usual DesignLab blue-to-purple gradient for action buttons.
*/
:root{
  --designlab-gradient:linear-gradient(135deg,#2557ff 0%,#7b61ff 100%);
  --designlab-gradient-hover:linear-gradient(135deg,#1f4dff 0%,#6e55f6 100%);
}

/* DesignLab gradient buttons: no cyan middle stop, cleaner blue → purple transition. */
.primary-button{
  background:var(--designlab-gradient)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(80,84,255,.24)!important;
}
.primary-button:hover{
  background:var(--designlab-gradient-hover)!important;
  transform:translateY(-1px);
}
.primary-button:active{transform:translateY(0);}

/* Keep active navigation in the same blue → purple language. */
.nav-item.active,.nav-item.active:hover,
[data-theme="dark"] .nav-item.active{
  background:var(--designlab-gradient)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(80,84,255,.20)!important;
}

/* Account center card refinement */
.account-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  align-items:stretch;
}
.account-card{
  min-width:0;
  overflow:hidden;
  gap:13px!important;
  padding:17px 18px!important;
  border-radius:18px!important;
}
.account-card .mini-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.account-card .emoji{
  flex:0 0 auto;
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  font-size:19px!important;
}
.account-card .tag{
  max-width:54%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px!important;
  padding:6px 10px!important;
  font-weight:650!important;
}
.account-card h4{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:16px!important;
  font-weight:650!important;
  letter-spacing:-.025em;
}
.account-card p{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px!important;
}
.account-card .small-money{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:clamp(28px,2.1vw,36px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:700!important;
  margin:2px 0 4px!important;
  font-variant-numeric:tabular-nums;
}
.account-card .button-row{
  gap:9px!important;
  flex-wrap:wrap;
}
.account-card .button-row button{
  min-width:82px;
  padding:9px 13px!important;
  border-radius:13px!important;
  font-size:14px!important;
  font-weight:650!important;
}

/* Dashboard mini account cards should stay compact and readable too. */
.account-strip .mini-card strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:clamp(20px,2vw,28px)!important;
  line-height:1.06;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
}
.account-strip .mini-card h4,
.account-strip .mini-card p{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1100px){
  .account-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;}
  .account-card .small-money{font-size:clamp(27px,4vw,34px)!important;}
}
@media (max-width:660px){
  .account-grid{grid-template-columns:1fr!important;}
  .account-card .small-money{font-size:34px!important;}
}
