:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sidebar-w:272px;
  --bg:#080b14;--bg-soft:#0d111d;--sidebar:#0a0d16;--panel:#111624;--panel-2:#151b2c;--panel-3:#1a2134;
  --text:#f6f8ff;--text-2:#c7cede;--muted:#7f8ba5;--line:#20283b;--line-soft:#181e2c;
  --cyan:#21c8dc;--cyan-soft:#0d3541;--green:#39d6ad;--green-soft:#0d362e;--orange:#ff9b57;--orange-soft:#3c2519;
  --violet:#806cff;--violet-soft:#272044;--rose:#ff6584;--rose-soft:#3e1f2c;--red:#ff6678;
  --shadow:0 18px 50px rgba(0,0,0,.24);--shadow-soft:0 9px 28px rgba(0,0,0,.14);
  --radius:22px;--radius-sm:14px;
  color:var(--text);background:var(--bg);color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#f3f5f8;--bg-soft:#eef1f5;--sidebar:#ffffff;--panel:#ffffff;--panel-2:#f8fafc;--panel-3:#f1f5f9;
  --text:#111827;--text-2:#344054;--muted:#738096;--line:#e3e7ee;--line-soft:#edf0f4;
  --cyan-soft:#e6f8fb;--green-soft:#e9faf5;--orange-soft:#fff2e7;--violet-soft:#f0edff;--rose-soft:#fff0f3;
  --shadow:0 18px 45px rgba(25,35,55,.08);--shadow-soft:0 8px 24px rgba(25,35,55,.06);color-scheme:light;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-size:15.5px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav-item .icon{width:20px;height:20px}.button .icon{width:17px;height:17px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:60;background:var(--sidebar);border-right:1px solid var(--line);padding:26px 18px 20px;display:flex;flex-direction:column;overflow-y:auto}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 5px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#24c7d9 0%,#626af5 58%,#9468ff 100%);box-shadow:0 9px 28px rgba(80,104,248,.26);position:relative}.brand-mark:after{content:"";position:absolute;inset:1px;border-radius:14px;border:1px solid rgba(255,255,255,.3)}.brand-mark span{font-weight:900;font-size:20px;color:white}.brand-copy{display:grid}.brand-copy strong{font-size:19px;letter-spacing:-.02em}.brand-copy small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:1px}.readonly-pill{margin:25px 5px 17px;padding:11px 12px;border:1px solid var(--line);background:var(--panel-2);border-radius:13px;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.readonly-pill strong{margin-left:auto;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent)}.side-nav{display:grid;gap:4px}.nav-label{margin:14px 12px 7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.nav-label-spaced{margin-top:25px}.nav-item{height:46px;padding:0 13px;border-radius:13px;display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:650;position:relative;border:0;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:linear-gradient(100deg,var(--cyan-soft),var(--violet-soft));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 15%,transparent)}.nav-item.active .icon{color:var(--cyan)}.nav-item.active i{width:3px;height:22px;position:absolute;right:4px;border-radius:3px;background:linear-gradient(var(--cyan),var(--violet))}.sidebar-bottom{margin-top:auto;padding-top:28px}.privacy-card{display:flex;align-items:center;gap:10px;margin:0 5px 12px;padding:13px;background:linear-gradient(135deg,var(--panel-2),var(--violet-soft));border:1px solid var(--line);border-radius:14px}.privacy-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--violet-soft);color:#9a8cff}.privacy-card div{display:grid;min-width:0}.privacy-card strong{font-size:12px}.privacy-card small{font-size:10px;color:var(--muted);margin-top:2px}.logout-form{margin:0}.logout{color:var(--muted)}.workspace{margin-left:var(--sidebar-w);min-width:0}.topbar{height:76px;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-title{display:grid}.topbar-title strong{font-size:15px}.topbar-kicker{font-size:9px;letter-spacing:.15em;color:var(--muted);font-weight:800}.quick-search{height:39px;min-width:250px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--muted);font-size:12px}.quick-search span:nth-child(2){flex:1}.quick-search kbd{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;padding:2px 6px;font-size:10px;color:var(--muted)}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text-2);display:grid;place-items:center}.icon-button:hover{border-color:color-mix(in srgb,var(--cyan) 45%,var(--line));color:var(--cyan)}.theme-toggle .theme-moon{display:none}.theme-toggle .theme-sun{display:grid}html[data-theme="light"] .theme-toggle .theme-sun{display:none}html[data-theme="light"] .theme-toggle .theme-moon{display:grid}.button{min-height:40px;border-radius:12px;border:1px solid transparent;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button-primary{color:#061017;background:linear-gradient(120deg,#43d8cc,#65a8ff 58%,#8c7cff);box-shadow:0 9px 23px rgba(61,168,230,.15)}.button-soft,.secondary{background:var(--panel-2);color:var(--text-2);border:1px solid var(--line)}.button-soft:hover,.secondary:hover{border-color:#42506c;color:var(--text)}.button-ghost{background:transparent;border-color:var(--line);color:var(--muted)}.button-small{min-height:34px;padding:6px 10px;font-size:12px}.content{padding:30px clamp(22px,3vw,46px) 55px;max-width:1680px;margin:0 auto}.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:3px 0 27px}.page-hero-tight{margin-bottom:19px}.eyebrow,.section-kicker{font-size:10px;line-height:1.2;color:var(--cyan);font-weight:850;letter-spacing:.13em;text-transform:uppercase}.page-hero h1{font-size:clamp(30px,3vw,42px);line-height:1.05;letter-spacing:-.045em;margin:7px 0 10px}.page-hero .muted{max-width:710px}.muted{color:var(--muted)}p{margin:0}.mobile-only,.mobile-sync{display:none}.toast{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;margin:-7px 0 18px;border:1px solid var(--line);background:var(--panel)}.toast>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:900}.toast strong{font-size:13px}.toast p{color:var(--muted);font-size:12px;margin-top:2px}.toast a{margin-left:auto;font-size:12px;font-weight:750}.toast-success>span{background:var(--green-soft);color:var(--green)}.toast-warning>span{background:var(--orange-soft);color:var(--orange)}.kpi-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:15px;margin-bottom:15px}.kpi-card,.panel,.bank-account-card,.mini-kpi,.account-summary-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.kpi-card{min-height:168px;border-radius:var(--radius);padding:19px 20px;display:flex;flex-direction:column;overflow:hidden;position:relative}.kpi-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-58px;background:radial-gradient(circle,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 68%);pointer-events:none}.kpi-balance{background:linear-gradient(140deg,color-mix(in srgb,var(--cyan) 15%,var(--panel)),color-mix(in srgb,var(--violet) 10%,var(--panel)))}.kpi-top{display:flex;align-items:center;gap:9px}.kpi-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:900}.icon-cyan{background:var(--cyan-soft);color:var(--cyan)}.icon-green{background:var(--green-soft);color:var(--green)}.icon-orange{background:var(--orange-soft);color:var(--orange)}.icon-violet{background:var(--violet-soft);color:#a294ff}.kpi-label{color:var(--muted);font-size:12px;font-weight:650}.kpi-value{font-size:clamp(25px,2.1vw,36px);line-height:1;letter-spacing:-.045em;margin:21px 0 18px}.kpi-bottom{margin-top:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.kpi-bottom a{margin-left:auto;color:var(--text-2);display:flex;align-items:center;gap:5px;font-weight:700}.kpi-bottom a .icon{width:13px;height:13px}.trend{padding:3px 7px;border-radius:999px;font-weight:800}.trend-good{background:var(--green-soft);color:var(--green)}.trend-bad{background:var(--rose-soft);color:var(--rose)}.text-green{color:var(--green)!important}.text-red{color:var(--red)!important}.text-main{color:var(--text)!important}.panel{border-radius:var(--radius);padding:20px;min-width:0}.panel-header,.panelhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.panel-header h2,.panelhead h2{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:4px 0 0}.panelhead p{margin-top:5px}.dashboard-grid{display:grid;gap:15px}.main-analytics-grid{grid-template-columns:minmax(0,1.75fr) minmax(330px,.85fr);margin-bottom:15px}.span-2{min-width:0}.chart-panel{min-height:380px}.legend{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:11px}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%}.dot-green{background:var(--green)}.dot-orange{background:var(--orange)}.period-chip,.privacy-badge,.status-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:10px;font-weight:750}.cashflow-chart-wrap{height:244px;margin-top:8px}.cashflow-chart{display:block;width:100%;height:218px;overflow:visible}.chart-gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.chart-line{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.income-line{stroke:var(--green)}.spend-line{stroke:var(--orange)}.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:0 8px}.chart-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:8px;padding-top:15px}.chart-stats div{display:grid;padding:0 14px;border-left:1px solid var(--line)}.chart-stats div:first-child{border-left:0;padding-left:0}.chart-stats small{color:var(--muted);font-size:10px}.chart-stats strong{margin-top:5px;font-size:16px}.text-link{font-size:11px;color:var(--cyan);font-weight:750;display:flex;align-items:center;gap:5px}.text-link .icon{width:13px;height:13px}.donut-layout{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:8px;min-height:290px}.donut{width:180px;height:180px}.donut.large{width:210px;height:210px}.donut-hole{fill:var(--panel)}.donut-label,.donut-value{fill:var(--muted);font-family:inherit;font-size:9px}.donut-value{fill:var(--text);font-size:12px;font-weight:800}.category-list{display:grid;gap:8px;min-width:0}.category-list.compact{gap:7px}.category-row{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 0}.category-icon,.merchant-icon{display:grid;place-items:center;border-radius:10px;font-style:normal;font-weight:800}.category-icon{width:31px;height:31px;font-size:12px}.category-row div{display:grid;min-width:0}.category-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-row small{font-size:9px;color:var(--muted)}.category-row b{font-size:11px}.cat-income{background:var(--green-soft)!important;color:var(--green)!important}.cat-housing{background:var(--violet-soft)!important;color:#9a8cff!important}.cat-groceries{background:#11362e!important;color:#55d9a2!important}.cat-restaurants{background:var(--orange-soft)!important;color:var(--orange)!important}.cat-transport{background:var(--cyan-soft)!important;color:var(--cyan)!important}.cat-shopping{background:var(--rose-soft)!important;color:var(--rose)!important}.cat-subscriptions{background:#29234a!important;color:#a894ff!important}.cat-health{background:#3b1d2a!important;color:#ff8299!important}.cat-leisure{background:#1c2e48!important;color:#66b7ff!important}.cat-bank{background:#2d2f35!important;color:#c4cad6!important}.cat-taxes{background:#33241b!important;color:#e5ae6c!important}.cat-travel{background:#15313e!important;color:#56cce6!important}.cat-energy{background:#312c17!important;color:#f5d657!important}.cat-transfer{background:#17333b!important;color:#59d5d1!important}.cat-other{background:var(--panel-3)!important;color:var(--muted)!important}.lower-grid{grid-template-columns:1fr 1fr;margin-bottom:15px}.account-cards-list{display:grid;gap:5px}.mini-account{display:grid;grid-template-columns:42px minmax(0,1fr) auto 14px;align-items:center;gap:11px;padding:10px 8px;border-radius:14px}.mini-account:hover{background:var(--panel-2)}.bank-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:850;font-size:12px;letter-spacing:-.02em}.bank-tone-1{background:linear-gradient(145deg,#22c6d8,#3974e7)}.bank-tone-2{background:linear-gradient(145deg,#936fff,#5c55e9)}.bank-tone-3{background:linear-gradient(145deg,#38d39f,#159c85)}.bank-tone-4{background:linear-gradient(145deg,#ff9b57,#e15f75)}.bank-tone-5{background:linear-gradient(145deg,#4fa8ff,#7768ff)}.mini-account div{display:grid;min-width:0}.mini-account strong{font-size:12px}.mini-account small{font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-account>b{font-size:13px}.account-arrow{color:var(--muted);font-size:19px}.insight-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.insight-card{min-height:100px;border:1px solid var(--line);border-radius:15px;padding:12px;display:flex;align-items:flex-start;gap:10px;background:var(--panel-2)}.insight-symbol{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;font-weight:900}.insight-card strong{font-size:11px}.insight-card p{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}.tone-green .insight-symbol{background:var(--green-soft);color:var(--green)}.tone-orange .insight-symbol{background:var(--orange-soft);color:var(--orange)}.tone-violet .insight-symbol{background:var(--violet-soft);color:#9d8fff}.tone-cyan .insight-symbol{background:var(--cyan-soft);color:var(--cyan)}.tone-rose .insight-symbol{background:var(--rose-soft);color:var(--rose)}.privacy-badge{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 18%,var(--line))}.privacy-badge-large{padding:8px 12px}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:39px minmax(0,1fr) 92px 125px;align-items:center;gap:11px;padding:10px 8px;border-top:1px solid var(--line-soft);border-radius:10px}.transaction-row:first-child{border-top:0}.transaction-row:hover{background:var(--panel-2)}.merchant-icon{width:36px;height:36px;font-size:12px}.transaction-main{display:grid;min-width:0}.transaction-main strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-main small{font-size:10px;color:var(--muted);margin-top:2px}.transaction-row time{color:var(--muted);font-size:10px}.transaction-row>b{text-align:right;font-size:12px}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted)}.empty-state>span{width:42px;height:42px;border-radius:13px;background:var(--panel-2);display:grid;place-items:center;color:var(--cyan);font-size:20px;margin-bottom:10px}.empty-state strong{color:var(--text);font-size:13px}.empty-state p{font-size:11px;max-width:330px;margin:4px auto 13px}.mini-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.mini-kpi{border-radius:16px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between}.mini-kpi span{font-size:11px;color:var(--muted)}.mini-kpi strong{font-size:17px}.filter-panel{padding:14px;margin-bottom:12px}.filters{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(5,minmax(120px,.65fr)) auto auto;gap:9px;align-items:end}.filters label{display:grid;gap:5px}.filters label>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.filters input,.filters select,.settings-form input,.settings-form textarea,.url-boxes input{height:39px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);padding:0 11px;outline:none}.filters input:focus,.filters select:focus,.settings-form input:focus,.settings-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 10%,transparent)}.search-field{position:relative}.search-field .icon{position:absolute;left:11px;bottom:10px;width:17px;height:17px;color:var(--muted)}.search-field input{padding-left:37px}.filter-submit,.filter-reset{height:39px;white-space:nowrap}.table-panel{padding:5px 0 0;overflow:hidden}.finance-table{display:grid}.finance-tr{display:grid;align-items:center;gap:14px;padding:11px 20px;border-top:1px solid var(--line-soft);min-width:0}.finance-table-transactions .finance-tr{grid-template-columns:minmax(250px,2fr) minmax(115px,.8fr) minmax(150px,1fr) 85px 110px}.finance-th{border-top:0;background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;padding-top:10px;padding-bottom:10px}.transaction-cell{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}.transaction-cell>span,.finance-tr>span:nth-child(3){display:grid;min-width:0}.finance-tr strong{font-size:11px}.finance-tr small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-pill{display:inline-flex!important;width:max-content;max-width:100%;padding:5px 8px;border-radius:8px;font-size:9px!important;font-weight:750;white-space:nowrap}.amount-cell{text-align:right;font-weight:800;font-size:11px}.table-empty{grid-column:1/-1}.pagination{border-top:1px solid var(--line);padding:13px 18px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.pagination div{display:flex;gap:7px}.disabled{pointer-events:none;opacity:.4}.account-summary-card{border-radius:22px;margin-bottom:15px;padding:24px 27px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--cyan) 11%,var(--panel)),color-mix(in srgb,var(--violet) 11%,var(--panel)))}.account-summary-card div:first-child{display:grid}.account-summary-card span{color:var(--muted);font-size:11px}.account-summary-card strong{font-size:34px;letter-spacing:-.04em;margin:5px 0}.account-summary-card small{color:var(--muted)}.account-summary-orb{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan),var(--violet));box-shadow:0 13px 34px rgba(78,116,246,.25)}.account-summary-orb span{font-size:27px;color:white;font-weight:900}.accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.bank-account-card{border-radius:22px;padding:19px;min-width:0}.bank-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.bank-card-head>div{display:grid}.bank-card-head strong{font-size:12px}.bank-card-head small{font-size:9px;color:var(--muted)}.status-ok{color:var(--green);background:var(--green-soft)}.status-error{color:var(--rose);background:var(--rose-soft)}.bank-card-balance{margin:22px 0 17px;padding-bottom:17px;border-bottom:1px solid var(--line);display:grid}.bank-card-balance span{font-size:10px;color:var(--muted)}.bank-card-balance strong{font-size:29px;letter-spacing:-.04em;margin:3px 0}.bank-card-balance small{font-size:9px;color:var(--muted);letter-spacing:.05em}.bank-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.bank-card-stats div{padding:10px;border:1px solid var(--line);background:var(--panel-2);border-radius:12px;display:grid}.bank-card-stats span{font-size:9px;color:var(--muted)}.bank-card-stats strong{font-size:13px;margin-top:2px}.bank-card-activity h3{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 5px}.tiny-transaction{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 0;border-top:1px solid var(--line-soft)}.tiny-transaction .merchant-icon{width:30px;height:30px}.tiny-transaction div{display:grid;min-width:0}.tiny-transaction strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-transaction small{font-size:8px;color:var(--muted)}.tiny-transaction>b{font-size:10px}.bank-account-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.bank-account-card footer a{display:flex;align-items:center;gap:4px;color:var(--cyan);font-weight:750}.bank-account-card footer .icon{width:11px;height:11px}.analytics-bento{display:grid;grid-template-columns:1.45fr .9fr .75fr;gap:15px;margin-bottom:15px}.analytics-wide{min-width:0}.bar-chart{height:260px;display:flex;align-items:flex-end;gap:9px;padding:20px 8px 4px;border-bottom:1px solid var(--line)}.bar-month{flex:1;display:grid;grid-template-rows:1fr auto;gap:7px;height:100%;text-align:center}.bar-pair{display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar{width:38%;min-width:5px;border-radius:5px 5px 2px 2px}.income-bar{background:linear-gradient(var(--green),color-mix(in srgb,var(--green) 35%,transparent))}.spend-bar{background:linear-gradient(var(--orange),color-mix(in srgb,var(--orange) 35%,transparent))}.bar-month>span{font-size:9px;color:var(--muted)}.analytics-donut{display:grid;grid-template-columns:200px 1fr;align-items:center}.weekday-chart{display:grid;gap:10px;margin-top:25px}.weekday-row{display:grid;grid-template-columns:28px 1fr 67px;gap:7px;align-items:center}.weekday-row span,.weekday-row strong{font-size:9px}.weekday-row span{color:var(--muted)}.weekday-row strong{text-align:right}.weekday-row>div{height:8px;background:var(--panel-3);border-radius:99px;overflow:hidden}.weekday-row i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--violet))}.analytics-lower{grid-template-columns:1.2fr .8fr}.recurring-list,.largest-list{display:grid}.recurring-row{display:grid;grid-template-columns:36px minmax(0,1fr) 110px 105px;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--line-soft)}.recurring-row:first-child{border-top:0}.recurring-row>div{display:grid;min-width:0}.recurring-row strong{font-size:10px}.recurring-row small,.recurring-row>span:nth-child(3){font-size:8px;color:var(--muted)}.recurring-row>strong{text-align:right;font-size:11px}.recurring-row>strong small{display:block}.largest-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 4px;border-top:1px solid var(--line-soft)}.largest-row:first-child{border-top:0}.rank{font-size:9px;color:var(--muted);font-weight:800}.largest-row div{display:grid;min-width:0}.largest-row strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.largest-row small{font-size:8px;color:var(--muted)}.largest-row>b{font-size:10px}.notice{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);margin-bottom:15px;color:var(--text-2)}.notice a{color:var(--cyan)}.warning-notice,.error-notice{border-color:color-mix(in srgb,var(--orange) 35%,var(--line));background:var(--orange-soft)}.bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bank.card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:12px;border-radius:15px;background:var(--panel-2);border:1px solid var(--line);box-shadow:none}.bank.card img{width:38px;height:38px;object-fit:contain;border-radius:10px;background:white;padding:4px}.bank.card>div{display:grid;min-width:0}.bank.card strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank.card small{font-size:9px;color:var(--muted)}.bank.card button,.settings-form button:not(.button){min-height:36px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--panel-3);color:var(--text);font-weight:750}.accounts{display:grid}.account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5px;border-top:1px solid var(--line-soft)}.account:first-child{border-top:0}.account>div:first-child{display:grid}.account strong{font-size:11px}.account small{font-size:9px;color:var(--muted);margin-top:3px}.account .right{text-align:right}.settings-form{display:grid;gap:13px;max-width:820px}.settings-form label,.url-boxes label{display:grid;gap:5px;font-size:10px;color:var(--muted);font-weight:750}.settings-form textarea{height:auto;padding:10px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-guide{margin-bottom:15px}.guide-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.guide-steps ol{color:var(--text-2);font-size:11px;line-height:1.6;padding-left:19px}.guide-steps code{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:1px 4px}.url-boxes{display:grid;gap:9px}.url-boxes input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.provider-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.provider-meta>div{padding:11px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;display:grid}.provider-meta small{font-size:9px;color:var(--muted)}.provider-meta strong{font-size:10px;margin-top:3px;overflow-wrap:anywhere}.api-details{margin-top:15px}.api-details summary,.paste-key summary{cursor:pointer;font-weight:750;font-size:11px}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:15px}.health{display:flex;align-items:center;gap:11px;padding:14px}.health .status{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900}.status.ok{background:var(--green-soft);color:var(--green)}.status.bad{background:var(--rose-soft);color:var(--rose)}.health strong{font-size:11px}.health small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.table{display:grid}.tr{display:grid;grid-template-columns:150px minmax(0,1fr) 140px;gap:12px;padding:10px;border-top:1px solid var(--line-soft);font-size:10px}.tr.th{background:var(--panel-2);color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:850}.legal-copy{max-width:920px}.legal-copy h2{font-size:18px;margin:27px 0 9px}.legal-copy p{color:var(--text-2);line-height:1.75}.handoff{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#192a4a,transparent 35%),var(--bg)}.handoff-card{max-width:620px;width:100%;text-align:center;padding:35px}.handoff-card h1{font-size:31px}.handoff-card .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.handoff-card a.primary-link{display:inline-flex;padding:11px 16px;border-radius:12px;font-weight:750;background:linear-gradient(120deg,#43d8cc,#7d78ff);color:#081018}.handoff-card .spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--cyan);border-radius:50%;margin:18px auto;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#1b3156,transparent 34%),var(--bg);padding:20px}.login-card{width:min(440px,100%);padding:32px;border:1px solid var(--line);background:var(--panel);border-radius:25px;box-shadow:var(--shadow);text-align:center}.logo.big{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));color:white;font-weight:900;font-size:24px}.login-card h1{font-size:28px;margin:6px 0}.login-card>p{color:var(--muted)}.login-card label{display:grid;text-align:left;gap:6px;margin:14px 0;color:var(--muted);font-size:10px;font-weight:750}.login-card input{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);padding:0 12px}.login-card .primary,.login-card button[type="submit"]{width:100%;height:44px;border:0;border-radius:12px;margin:8px 0 15px;background:linear-gradient(120deg,var(--cyan),#78a5ff,var(--violet));color:#071018;font-weight:850}.alert{padding:11px;border-radius:11px;margin:14px 0;font-size:11px}.danger{background:var(--rose-soft);color:var(--rose)}.sidebar-backdrop{display:none}
@media(max-width:1350px){.filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(115px,.7fr))}.filters label:nth-of-type(5),.filters label:nth-of-type(6){grid-row:2}.filter-submit,.filter-reset{grid-row:2}.main-analytics-grid{grid-template-columns:1.5fr 1fr}.analytics-bento{grid-template-columns:1fr 1fr}.analytics-wide{grid-column:1/-1}.bank-grid{grid-template-columns:repeat(2,1fr)}.provider-meta{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){:root{--sidebar-w:232px}.sidebar{padding-left:12px;padding-right:12px}.content{padding-left:22px;padding-right:22px}.kpi-grid{grid-template-columns:1fr 1fr}.main-analytics-grid,.lower-grid{grid-template-columns:1fr}.accounts-grid{grid-template-columns:1fr}.health-grid{grid-template-columns:1fr 1fr}.quick-search{min-width:180px}.quick-search span:nth-child(2){display:none}.quick-search{min-width:43px;width:43px}.quick-search kbd{display:none}.finance-table-transactions .finance-tr{grid-template-columns:minmax(240px,2fr) minmax(110px,.8fr) minmax(130px,1fr) 80px 100px}}
@media(max-width:800px){.mobile-only,.mobile-sync{display:grid}.desktop-sync{display:none}.sidebar{transform:translateX(-102%);width:min(292px,88vw);transition:transform .24s ease;box-shadow:var(--shadow)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0008;z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.workspace{margin-left:0}.topbar{height:67px;padding:0 15px}.content{padding:22px 14px 42px}.page-hero{align-items:flex-start}.kpi-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters .search-field{grid-column:1/-1}.filters label:nth-of-type(5),.filters label:nth-of-type(6),.filter-submit,.filter-reset{grid-row:auto}.filter-submit,.filter-reset{width:100%}.finance-table{overflow-x:auto}.finance-table-transactions .finance-tr{min-width:790px}.analytics-bento{grid-template-columns:1fr}.analytics-wide{grid-column:auto}.analytics-lower{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}.provider-meta{grid-template-columns:1fr 1fr}.bank-grid{grid-template-columns:1fr}.page-hero .privacy-badge-large{display:none}.chart-stats{grid-template-columns:1fr 1fr}.chart-stats div:nth-child(3){display:none}}
@media(max-width:560px){body{font-size:15px}.topbar-title{display:none}.topbar-actions{gap:7px}.page-hero{display:block}.page-hero>.button,.page-hero>.hero-actions{margin-top:14px;width:max-content}.page-hero h1{font-size:32px}.kpi-grid,.mini-kpi-row{grid-template-columns:1fr}.kpi-card{min-height:145px}.main-analytics-grid{display:grid}.chart-panel{padding-left:13px;padding-right:13px}.legend span:not(.period-chip){display:none}.chart-stats{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:145px 1fr}.donut{width:145px;height:145px}.insight-list{grid-template-columns:1fr}.transaction-row{grid-template-columns:36px minmax(0,1fr) auto}.transaction-row time{display:none}.transaction-row>b{grid-column:3}.accounts-grid{display:grid}.bank-card-head{grid-template-columns:42px minmax(0,1fr)}.bank-card-head .status-chip{grid-column:1/-1;width:max-content}.bank-card-stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.filters .search-field{grid-column:auto}.account-summary-card{padding:20px}.account-summary-orb{width:56px;height:56px}.health-grid{grid-template-columns:1fr}.provider-meta{grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr}.recurring-row{grid-template-columns:34px minmax(0,1fr) auto}.recurring-row>span:nth-child(3){display:none}.analytics-donut{grid-template-columns:1fr}.analytics-donut .donut{margin:auto}.pagination{align-items:flex-start;gap:10px;flex-direction:column}.tr{grid-template-columns:100px minmax(0,1fr) 90px}.quick-search{display:none}}
.monthly-svg-wrap{height:270px;margin-top:6px}.monthly-svg{display:block;width:100%;height:260px}.income-rect{fill:var(--green)}.spend-rect{fill:var(--orange)}.axis-label{fill:var(--muted);font-size:10px;font-family:inherit}.weekday-bar{width:100%;height:8px;display:block}.weekday-track{fill:var(--panel-3)}.weekday-fill{fill:var(--cyan)}
/* Compatibility for the banking, health and legal screens kept from v0.2 */
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:3px 0 24px}.pagehead h1{font-size:clamp(30px,3vw,42px);line-height:1.05;letter-spacing:-.045em;margin:7px 0 10px}.grid{display:grid;gap:12px}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:var(--radius)}.empty{padding:25px 8px;color:var(--muted);font-size:11px}.negative{color:var(--red)!important}.positive{color:var(--green)!important}.right{text-align:right}.status{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900}.provider-status,.api-setup,.setup-guide,.api-details{margin-bottom:15px}
@media(max-width:800px){.pagehead{align-items:flex-start;flex-direction:column}}
.banking-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:15px}.banking-stat{display:flex;align-items:center;gap:11px;padding:13px 15px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft)}.banking-stat div{display:grid}.banking-stat small{font-size:9px;color:var(--muted)}.banking-stat strong{font-size:12px;margin-top:2px}.connected-banks-panel,.pending-panel,.bank-directory-panel,.advanced-banking{margin-bottom:15px}.connected-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.connected-bank-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:var(--panel-2);border-radius:15px}.connected-bank-card>div{display:grid;min-width:0}.connected-bank-card strong{font-size:11px}.connected-bank-card small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-list{display:grid}.pending-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--line-soft)}.pending-row:first-child{border-top:0}.pending-row>div:nth-child(2){display:grid;min-width:0}.pending-row strong{font-size:11px}.pending-row small{font-size:9px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.pending-actions{display:flex;gap:6px}.bank-search{display:block;max-width:520px;margin-bottom:13px}.bank-search .icon{bottom:11px}.bank-search input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);padding:0 12px 0 39px;outline:none}.bank-search input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 10%,transparent)}.advanced-banking>summary{cursor:pointer;font-weight:750;font-size:11px}.advanced-content{display:grid;gap:16px;padding-top:18px}.advanced-urls{grid-template-columns:1fr 1fr 1fr}.setup-wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setup-steps-modern{display:grid;gap:9px}.setup-steps-modern>div{display:grid;grid-template-columns:29px 1fr;gap:10px;align-items:start}.setup-steps-modern>div>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--cyan-soft);color:var(--cyan);font-size:10px;font-weight:900}.setup-steps-modern p{display:grid}.setup-steps-modern strong{font-size:11px}.setup-steps-modern small{font-size:9px;color:var(--muted);margin-top:2px}.setup-credentials{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);max-width:none}.modern-url-boxes input{height:40px}.bank[hidden]{display:none!important}@media(max-width:1000px){.banking-status-grid{grid-template-columns:1fr 1fr}.setup-wizard-grid{grid-template-columns:1fr}.advanced-urls{grid-template-columns:1fr}.connected-bank-grid{grid-template-columns:1fr}}@media(max-width:560px){.banking-status-grid{grid-template-columns:1fr}.connected-bank-card,.pending-row{grid-template-columns:42px minmax(0,1fr)}.connected-bank-card .status-chip,.pending-actions{grid-column:1/-1;width:max-content}.pending-actions{margin-left:52px}}
