:root{--bg:#f5f6f1;--surface:#fff;--surface-2:#eef1e8;--ink:#17201c;--muted:#68736c;--line:#dfe5dc;--green:#176b4d;--green-2:#0f5039;--mint:#dff4e9;--lime:#b8dc73;--danger:#a93b3b;--warning:#8b6414;--shadow:0 18px 60px rgba(24,42,32,.08);--radius:24px;--radius-sm:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;font-size:11px;letter-spacing:.04em}.public-header{height:78px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 28px}.public-header nav{display:flex;align-items:center;gap:28px;color:#4e5a53}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-weight:750;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(23,107,77,.18)}.btn-primary:hover{background:var(--green-2)}.btn-ghost{border-color:var(--line);background:rgba(255,255,255,.76)}.btn-small{min-height:40px;padding:0 15px;border-radius:12px;font-size:14px}.btn-block{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.hero{max-width:1180px;margin:54px auto 80px;padding:36px 28px 20px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.065em;margin:18px 0 26px;max-width:760px}.hero h1 span{color:var(--green)}.hero-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:680px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850;color:var(--green)}.hero-actions{display:flex;gap:12px;margin:32px 0 22px}.trust-row{display:flex;flex-wrap:wrap;gap:18px;color:#667169;font-size:13px}.hero-product{position:relative}.hero-product:before{content:"";position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,var(--mint),transparent 68%);z-index:-1}.window{background:#13221b;color:#eff8f3;border-radius:30px;padding:24px;box-shadow:0 35px 80px rgba(12,43,30,.28);transform:rotate(1deg)}.window-head{display:flex;justify-content:space-between;color:#9fb5aa;font-size:12px;margin-bottom:35px}.dots{letter-spacing:5px;color:#668174}.balance-label{color:#9fb5aa;font-size:13px}.balance{font-size:44px;font-weight:850;letter-spacing:-.04em;margin:6px 0 22px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-grid div{background:#1b3026;padding:16px;border-radius:16px}.mini-grid span,.mini-grid b{display:block}.mini-grid span{color:#8fab9d;font-size:12px}.mini-grid b{margin-top:5px}.insight{margin-top:12px;background:#e4f5ea;color:#173b2b;border-radius:18px;padding:16px;display:flex;gap:12px}.insight-icon{width:34px;height:34px;border-radius:12px;background:#b8dfc7;display:grid;place-items:center;font-weight:900}.insight p{margin:3px 0 0;font-size:13px;color:#547060}.bars{height:92px;display:flex;align-items:end;gap:8px;margin-top:22px}.bars i{flex:1;background:linear-gradient(#b7e575,#4c966f);border-radius:5px 5px 2px 2px;opacity:.86}.logos{max-width:1180px;margin:0 auto 40px;padding:22px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:34px;align-items:center;color:#58655e}.logos span{font-weight:800}.logos small{margin-left:auto;color:#7a857f;max-width:370px}.section{max-width:1180px;margin:0 auto;padding:100px 28px}.section-heading{max-width:720px}.section-heading h2,.split h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.045em;line-height:1.05;margin:15px 0}.section-heading p,.split p{font-size:17px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.steps article{background:var(--surface);border:1px solid var(--line);padding:28px;border-radius:var(--radius);box-shadow:0 8px 30px rgba(24,42,32,.03)}.steps article span{font-size:12px;font-weight:800;color:var(--green)}.steps h3{font-size:21px;margin:30px 0 10px;letter-spacing:-.02em}.steps p{color:var(--muted);margin:0}.contrast{max-width:none;background:#17201c;color:#f3f8f5}.contrast .split{max-width:1124px;margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.contrast p{color:#aebbb4}.contrast .eyebrow{color:#9ed9bb}.feature-stack{display:grid;gap:10px}.feature-stack div{display:flex;justify-content:space-between;align-items:center;border:1px solid #34453d;background:#1e2b25;border-radius:17px;padding:18px 20px}.feature-stack b{font-size:28px}.feature-stack span{color:#aebbb4}.pricing{text-align:center}.pricing .section-heading{margin:auto}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;text-align:left}.price-card{position:relative;background:var(--surface);border:1px solid var(--line);padding:28px;border-radius:var(--radius)}.price-card.featured{border-color:#7ca68f;box-shadow:0 18px 50px rgba(23,107,77,.1)}.price-card h3{margin:0;font-size:17px}.price{font-size:40px;font-weight:850;letter-spacing:-.04em;margin:24px 0 6px}.price-card p{color:var(--muted);min-height:68px}.price-card .btn{width:100%;margin-top:16px}.badge{position:absolute;right:18px;top:18px;background:var(--mint);color:var(--green);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.pricing-note{color:var(--muted);margin-top:24px}.footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:34px 28px 46px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.footer .brand{color:var(--ink)}
/* Auth */.auth-wrap{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:48px 20px}.auth-card{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.auth-card.wide{width:min(520px,100%)}.auth-brand{margin-bottom:28px}.auth-card h1{font-size:36px;letter-spacing:-.04em;margin:6px 0 8px}.auth-card>p{color:var(--muted);margin:0 0 24px}.form-stack{display:grid;gap:15px}.form-stack p{margin:0}.form-stack label{display:block;font-size:13px;font-weight:750;margin:0 0 7px}.form-stack input:not([type=checkbox]),.form-stack select,.filters input,.filters select,.upload-options select,.admin-row input{width:100%;height:48px;border:1px solid #d6ded7;background:#fbfcfa;border-radius:13px;padding:0 14px;color:var(--ink);outline:none}.form-stack input:focus,.form-stack select:focus,.filters input:focus,.filters select:focus{border-color:#78a28e;box-shadow:0 0 0 3px rgba(23,107,77,.08)}.form-stack ul.errorlist{margin:0;padding:0;list-style:none;color:var(--danger);font-size:12px}.form-stack .helptext{display:block;color:var(--muted);font-size:11px;margin-top:5px}.auth-foot{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;text-align:center;color:var(--muted)}.auth-foot a,.muted-link{color:var(--green);font-weight:750}.muted-link{display:block;margin-top:16px;text-align:center;font-size:13px}
/* App shell */.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30}.topbar-actions{display:flex;align-items:center;gap:16px}.privacy-dot{font-size:11px;color:var(--green);background:var(--mint);padding:6px 10px;border-radius:999px}.avatar{width:36px;height:36px;border-radius:50%;background:#e6ebe6;display:grid;place-items:center;font-weight:800}.app-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 68px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 14px 20px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:68px;height:calc(100vh - 68px)}.sidebar nav{display:grid;gap:4px}.navitem{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#59645e;font-weight:650}.navitem:hover{background:#f0f3ee;color:var(--ink)}.nav-admin{color:#6a4d13}.button-reset{width:100%;border:0;background:transparent;text-align:left}.sidebar-bottom{display:grid;gap:12px}.secure-card{background:#f0f5ef;border-radius:14px;padding:14px}.secure-card strong,.secure-card span{display:block}.secure-card strong{font-size:12px}.secure-card span{font-size:10px;color:var(--muted);margin-top:5px}.app-main{min-width:0;padding:36px clamp(20px,4vw,52px) 80px;max-width:1440px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}.page-head h1{font-size:38px;letter-spacing:-.045em;margin:5px 0 0}.page-sub{color:var(--muted);margin:6px 0 0}.page-actions{display:flex;gap:8px}.messages{position:fixed;top:78px;right:18px;z-index:80;width:min(420px,calc(100% - 36px));display:grid;gap:8px}.message{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);padding:13px 16px;border-radius:12px;box-shadow:var(--shadow)}.message.error{border-left-color:var(--danger)}.message.warning{border-left-color:var(--warning)}.notice{border:1px solid #d7dfd6;background:#f8faf7;border-radius:14px;padding:14px 16px;margin:0 0 20px}.notice.locked{border-color:#ead8b7;background:#fff8e8}.notice.success{border-color:#b8dbc7;background:#edf8f1}.periods{display:flex;gap:6px;overflow:auto;margin-bottom:18px}.periods a{white-space:nowrap;padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:700;font-size:13px}.periods a.active{background:#fff;border:1px solid var(--line);color:var(--ink)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.metric.primary{background:#173026;color:#eff8f3;border-color:#173026}.metric span,.metric strong,.metric small{display:block}.metric span{font-size:12px;color:var(--muted)}.metric.primary span,.metric.primary small{color:#a6baaf}.metric strong{font-size:26px;letter-spacing:-.035em;margin:8px 0 3px}.metric small{color:#87908b;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.panel-head h2,.panel h2{font-size:17px;letter-spacing:-.02em;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.panel-head>a{color:var(--green);font-weight:750;font-size:12px}.category-list,.account-list,.tx-list{display:grid}.category-row,.account-row,.tx-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0ec}.category-row:last-child,.account-row:last-child,.tx-row:last-child{border-bottom:0}.cat-icon{width:38px;height:38px;flex:none;border-radius:12px;background:#eff3ed;display:grid;place-items:center}.cat-main{flex:1;min-width:0}.cat-main>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.cat-main span{font-size:11px;color:var(--muted)}progress{width:100%;height:5px;border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#edf1ec}progress::-webkit-progress-value{background:var(--green)}.account-row>div{flex:1;display:grid}.account-row small{color:var(--muted)}.bank-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--mint)}.recent-panel{margin-top:16px}.tx-row{color:inherit}.tx-main{flex:1;min-width:0;display:grid}.tx-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-main small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-row>strong{font-size:14px}.income{color:var(--green)}.review-pill{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8d6111;background:#fff1cb;border-radius:999px;padding:3px 6px;margin-left:6px}.empty{text-align:center;color:var(--muted);padding:30px 12px}.mobile-nav{display:none}
.trend-panel{margin-top:16px}.day-chart{display:flex;align-items:end;gap:8px;min-height:190px;overflow-x:auto;padding:12px 2px 0}.day-bar{display:grid;grid-template-rows:130px auto auto;gap:4px;min-width:34px;flex:1;text-align:center}.day-bar-track{height:130px;background:#f0f3ef;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.day-bar-track i{display:block;width:100%;min-height:3px;background:linear-gradient(180deg,var(--lime),var(--green));border-radius:8px 8px 3px 3px}.day-bar b{font-size:10px;white-space:nowrap}.day-bar span{font-size:9px;color:var(--muted)}
/* Imports */.upload-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;margin-bottom:14px}.upload-card>input{position:absolute;opacity:0;pointer-events:none}.upload-card>label{min-height:210px;border:1.5px dashed #b9c7bc;border-radius:17px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;background:#fafbf9;cursor:pointer}.upload-card>label:hover{border-color:var(--green);background:#f3f8f4}.upload-icon{font-size:26px;width:50px;height:50px;border-radius:15px;background:var(--mint);color:var(--green);display:grid;place-items:center;margin-bottom:7px}.upload-card label span:not(.upload-icon),.upload-card label small{color:var(--muted)}.upload-options{display:flex;justify-content:space-between;gap:12px;padding-top:12px}.upload-options select{max-width:300px}.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 16px}.safety-grid>div{padding:14px;border-radius:14px;background:#eef3ee}.safety-grid b,.safety-grid span{display:block}.safety-grid b{font-size:12px}.safety-grid span{font-size:11px;color:var(--muted);margin-top:4px}.import-list{display:grid}.import-row{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid #edf0ec}.status-dot{width:9px;height:9px;border-radius:50%;background:#9ba49f;margin-top:6px}.status-completed{background:#2f9668}.status-failed{background:#b74848}.status-processing,.status-pending{background:#dc9e29}.import-main{display:grid;flex:1}.import-main small,.import-main em{color:var(--muted);font-size:11px}.import-main em{font-style:normal;margin-top:4px}.error-text{color:var(--danger)!important}.import-stats{text-align:right;display:grid;min-width:120px}.import-stats span,.import-stats small{color:var(--muted);font-size:11px}.link-button{border:0;background:none;color:var(--danger);padding:4px 0;font-size:11px}.spinner{width:22px;height:22px;border:2px solid #dce2dd;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;justify-self:end}@keyframes spin{to{transform:rotate(360deg)}}
/* Lists/forms */.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:8px;margin-bottom:12px}.tx-panel{padding-top:4px;padding-bottom:4px}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;color:var(--muted)}.form-panel{max-width:650px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bank-card{min-height:190px;border-radius:22px;padding:22px;background:linear-gradient(145deg,#183329,#10231c);color:#ecf7f1;box-shadow:0 14px 35px rgba(21,54,41,.12)}.bank-card-top{display:flex;align-items:center;gap:12px;color:#b9cabf}.bank-card h3{font-size:20px;margin:34px 0 4px}.account-mask{color:#9db4a7;font-family:ui-monospace,monospace}.bank-card footer{display:flex;justify-content:space-between;color:#8ea89a;font-size:10px;margin-top:28px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0ec;padding:16px 0}.setting-row>div{display:grid}.setting-row span{color:var(--muted);font-size:12px}.ok-pill{background:var(--mint);color:var(--green)!important;border-radius:999px;padding:5px 8px;font-weight:750}.app-pricing{margin-top:0;margin-bottom:16px}.admin-table{display:grid}.admin-row{display:grid;grid-template-columns:1.5fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ec}.admin-row>span{display:grid}.admin-row small{color:var(--muted)}.admin-row.head{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.admin-row form{display:flex;gap:6px}.admin-row input{width:72px;height:38px}
/* Legal */.legal{max-width:800px;margin:40px auto 100px;padding:30px}.legal h1{font-size:44px;letter-spacing:-.04em}.legal h2{margin-top:36px}.legal p{color:#4f5d55;font-size:16px;line-height:1.75}.legal-note{background:#fff4d9;border:1px solid #ead7a5;border-radius:14px;padding:14px}.public-page .messages{top:88px}
@media(max-width:980px){.hero{grid-template-columns:1fr;gap:44px}.hero-product{max-width:620px}.logos{flex-wrap:wrap}.logos small{margin-left:0;width:100%}.steps,.price-grid{grid-template-columns:1fr}.contrast .split{grid-template-columns:1fr}.app-layout{grid-template-columns:76px 1fr}.sidebar{padding:14px 9px}.sidebar .navitem span,.sidebar .secure-card{display:none}.sidebar .navitem{justify-content:center;font-size:18px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:1.4fr 1fr 1fr}.admin-row>*:nth-child(3){display:none}}
@media(max-width:700px){.public-header{height:66px;padding:0 17px}.public-header nav>a:not(.btn){display:none}.hero{margin-top:20px;padding:24px 18px 10px}.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column}.trust-row{display:grid;gap:8px}.section{padding:70px 18px}.logos{padding:20px 18px;gap:20px}.footer{padding:30px 18px;display:grid;gap:18px}.topbar{height:60px;padding:0 15px}.privacy-dot{display:none}.app-layout{display:block}.sidebar{display:none}.app-main{padding:24px 14px 92px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:50;bottom:0;left:0;right:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.mobile-nav a{display:grid;place-items:center;gap:2px;color:#626d67;font-size:17px}.mobile-nav span{font-size:9px;font-weight:750}.page-head{align-items:flex-start}.page-head h1{font-size:31px}.page-actions{flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:21px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.filters .btn{grid-column:1/-1}.cards-grid{grid-template-columns:1fr}.safety-grid{grid-template-columns:1fr}.upload-options{flex-direction:column}.upload-options select{max-width:none}.import-row{align-items:flex-start}.import-stats{min-width:90px}.tx-row{gap:9px}.cat-icon{width:34px;height:34px}.tx-main small{font-size:10px}.tx-row>strong{font-size:12px}.admin-row{grid-template-columns:1fr 1fr}.admin-row>*:nth-child(3){display:none}.admin-row form{grid-column:1/-1}.admin-row.head{display:none}.messages{top:68px;right:10px;width:calc(100% - 20px)}.auth-wrap{padding:26px 14px}.auth-card{padding:25px 20px}.legal{padding:20px}.legal h1{font-size:36px}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr}.hero h1{font-size:41px}.window{padding:18px}.balance{font-size:35px}}

/* v1.1 analytics cockpit */
.dashboard-head{margin-bottom:18px}.reconcile-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#ecf7f0;border:1px solid #bddfc9;border-radius:18px;padding:14px 16px;margin-bottom:14px}.reconcile-icon{width:36px;height:36px;border-radius:12px;background:#1f7a57;color:#fff;display:grid;place-items:center;font-weight:900}.reconcile-copy{display:grid}.reconcile-copy b{font-size:13px}.reconcile-copy span,.reconcile-values span{font-size:11px;color:var(--muted)}.reconcile-values{display:flex;gap:18px;text-align:right}.reconcile-values span{display:grid}.reconcile-values b{color:var(--ink);font-size:13px}.metric-grid-v2{grid-template-columns:1.15fr 1fr 1fr 1fr}.metric-link{display:block;position:relative;transition:.18s ease}.metric-link:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(25,48,35,.08);border-color:#c7d5cb}.metric-link em{display:block;margin-top:12px;color:var(--green);font-size:11px;font-style:normal;font-weight:800}.metric-result strong{font-size:30px}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:16px;margin-bottom:16px}.chart-panel{min-height:390px}.chart-legend{display:flex;gap:14px;font-size:11px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:18px;height:3px;border-radius:999px}.legend-expense{background:#d76f56}.legend-income{background:#1c8a62}.line-chart-wrap{position:relative;margin-top:18px;padding-bottom:26px}.line-chart{width:100%;height:270px;overflow:visible}.chart-gridline{stroke:#e8ece8;stroke-width:1}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.expense-line{stroke:#d76f56}.income-line{stroke:#1c8a62;stroke-dasharray:7 6}.chart-axis{position:absolute;left:0;right:0;bottom:0;height:20px;color:#8a948e;font-size:10px}.chart-axis span{position:absolute;transform:translateX(-50%);white-space:nowrap}.donut-wrap{display:grid;place-items:center;gap:22px;padding:6px 0}.donut{width:190px;height:190px;border-radius:50%;position:relative;display:grid;place-items:center}.donut:after{content:"";position:absolute;inset:27px;background:#fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.02)}.donut>div{position:relative;z-index:1;text-align:center;display:grid}.donut b{font-size:24px;letter-spacing:-.04em}.donut span{font-size:11px;color:var(--muted)}.donut-legend{display:grid;width:100%;gap:9px}.donut-legend a{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px}.donut-legend a:hover span{color:var(--green)}.donut-legend i{width:8px;height:8px;border-radius:50%}.donut-legend b{font-size:11px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.quick-stats>div{background:#eef2ec;border-radius:15px;padding:14px 16px;display:grid;gap:3px}.quick-stats span{font-size:11px;color:var(--muted)}.quick-stats b{font-size:19px;letter-spacing:-.02em}.quick-stats small{font-size:10px;color:#849088}.insights-section{margin:24px 0}.section-inline-head h2{margin:4px 0 14px;font-size:24px;letter-spacing:-.035em}.insight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.insight-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;min-height:150px}.insight-card span{font-size:11px;color:var(--muted)}.insight-card strong{display:block;font-size:25px;margin:10px 0 5px;letter-spacing:-.04em}.insight-card p{font-size:12px;color:#667169;margin:0}.insight-card.tone-good{background:#f0f8f3;border-color:#cce4d4}.insight-card.tone-warn{background:#fff8ed;border-color:#ebdac0}.dashboard-grid-v2{grid-template-columns:1.15fr .85fr}.category-row{color:inherit}.merchant-list{display:grid}.merchant-list>a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0ec}.merchant-list>a:last-child{border-bottom:0}.merchant-list>a>div{display:grid;min-width:0}.merchant-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merchant-list small{font-size:11px;color:var(--muted)}.merchant-list strong{font-size:13px;white-space:nowrap}.flow-tabs{display:flex;gap:7px;margin:-4px 0 14px;overflow:auto}.flow-tabs a{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:12px;font-weight:750;white-space:nowrap}.flow-tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}.filters{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) auto}.import-reconcile{display:grid;margin-top:7px;padding:8px 10px;border-radius:10px;background:#f4f5f2;color:var(--muted);font-size:10px}.import-reconcile b{font-size:11px;color:var(--ink)}.import-reconcile.ok{background:#edf8f1;color:#537362}.import-reconcile.ok b{color:#176b4d}
@media(max-width:1100px){.metric-grid-v2{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.category-panel-v2 .donut-wrap{grid-template-columns:220px 1fr;place-items:center start}.quick-stats{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.reconcile-banner{grid-template-columns:auto 1fr}.reconcile-values{grid-column:1/-1;text-align:left;padding-left:50px}.metric-grid-v2{grid-template-columns:1fr}.analytics-grid{display:block}.chart-panel{min-height:330px;margin-bottom:12px}.line-chart{height:220px}.category-panel-v2 .donut-wrap{grid-template-columns:1fr;place-items:center}.quick-stats{grid-template-columns:1fr 1fr}.insight-grid{grid-template-columns:1fr}.dashboard-grid-v2{display:block}.dashboard-grid-v2>.panel{margin-bottom:12px}.filters{grid-template-columns:1fr}.filters input,.filters select,.filters .btn{grid-column:auto}.flow-tabs{padding-bottom:2px}}
@media(max-width:430px){.quick-stats{grid-template-columns:1fr}.reconcile-values{padding-left:0}.reconcile-banner{grid-template-columns:1fr}.reconcile-icon{display:none}.metric-result strong{font-size:26px}}
/* v1.2 personal finance system */
.nav-separator{padding:16px 12px 6px;color:#9aa49e;font-size:9px;font-weight:850;letter-spacing:.12em}.hero-metrics{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:12px;margin-bottom:14px}.metric-hero{background:linear-gradient(145deg,#123c2d,#15281f);color:#fff}.metric-hero span,.metric-hero small{color:#b8cfc3}.metric-hero strong{font-size:34px}.metric-foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:11px}.planning-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.planning-chip{display:flex;flex-direction:column;min-height:112px;padding:17px 18px;border:1px solid var(--line);background:#fff;border-radius:18px;transition:.18s}.planning-chip:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,42,32,.06)}.planning-chip span{font-size:12px;color:var(--muted)}.planning-chip b{font-size:22px;margin-top:7px;letter-spacing:-.03em}.planning-chip small{margin-top:auto;color:#86918a}.analytics-grid-main{grid-template-columns:minmax(0,1.7fr) minmax(340px,.8fr)}.money-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.money-layers>a{background:#eef2ec;border:1px solid #dde4dc;border-radius:16px;padding:15px 17px;display:grid;gap:3px}.money-layers span{font-size:12px;color:#526058}.money-layers b{font-size:18px}.money-layers small{font-size:10px;color:#7d8982}.section-panel{margin-bottom:16px}.budget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.budget-card{background:#f7f9f6;border:1px solid #e0e6df;border-radius:16px;padding:15px}.budget-card>div{display:flex;justify-content:space-between;gap:12px}.budget-card span{font-size:12px;color:var(--muted)}.budget-card b{font-size:13px}.budget-card progress,.budget-line progress,.goal-card progress,.debt-progress progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;margin:13px 0 8px;background:#e5ebe5}.budget-card progress::-webkit-progress-bar,.budget-line progress::-webkit-progress-bar,.goal-card progress::-webkit-progress-bar,.debt-progress progress::-webkit-progress-bar{background:#e5ebe5;border-radius:999px}.budget-card progress::-webkit-progress-value,.budget-line progress::-webkit-progress-value,.goal-card progress::-webkit-progress-value,.debt-progress progress::-webkit-progress-value{background:#4f9b76;border-radius:999px}.budget-card.over progress::-webkit-progress-value,.budget-line.over progress::-webkit-progress-value{background:#cb6f58}.budget-card small{font-size:11px;color:#65726a}.insight-list{display:grid;gap:8px}.insight-row{display:flex;justify-content:space-between;gap:22px;padding:14px 0;border-bottom:1px solid #edf0ec}.insight-row:last-child{border:0}.insight-row span{font-size:12px;font-weight:800}.insight-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.insight-row strong{white-space:nowrap;font-size:17px}.insight-row.tone-warn strong{color:#a35c39}.insight-row.tone-good strong{color:var(--green)}.upcoming-list{display:grid}.upcoming-list>div{display:grid;grid-template-columns:45px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0ec}.upcoming-list>div:last-child{border:0}.date-box{width:42px;height:45px;background:#eff3ed;border-radius:12px;display:grid;place-items:center;line-height:1}.date-box b{font-size:16px}.date-box small{text-transform:uppercase;font-size:8px;color:var(--muted)}.upcoming-list>div>div b,.upcoming-list>div>div small{display:block}.upcoming-list>div>div small{color:var(--muted);font-size:11px;margin-top:3px}.upcoming-list strong{font-size:14px}.reconcile-link{font-size:12px;font-weight:750;color:var(--green);align-self:center}.reconcile-banner.reconciled{border-color:#b9dcc8;background:#f2faf5}.flow-tabs-scroll{overflow:auto;flex-wrap:nowrap}.tx-row-rich{align-items:flex-start}.tx-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.tx-badges span{font-size:9px!important;background:#eef2ed;border-radius:999px;padding:3px 7px;color:#68736c!important}.source-card{display:grid;grid-template-columns:2fr 1fr .6fr 1fr;gap:10px;background:#eef2ed;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:14px}.source-card>div{min-width:0}.source-card span,.source-card b{display:block}.source-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7a867f}.source-card b{font-size:12px;margin-top:5px;overflow-wrap:anywhere}.form-intro{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.form-intro p{margin:5px 0 0;color:var(--muted);font-size:13px}.plan-hero-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:16px}.planner-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.7fr);gap:16px;margin-bottom:16px}.planner-grid-wide{grid-template-columns:minmax(0,1.8fr) minmax(320px,.65fr)}.compact-form{align-self:start}.budget-list{display:grid;gap:10px}.budget-line{border:1px solid #e2e7e1;background:#fafbf9;border-radius:16px;padding:15px}.budget-line-top{display:flex;justify-content:space-between;gap:20px}.budget-line-top b,.budget-line-top small{display:block}.budget-line-top small{font-size:10px;color:var(--muted);margin-top:2px}.budget-line-top>strong{font-size:13px;white-space:nowrap}.budget-line-bottom{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.budget-line-bottom b{color:var(--ink);margin-right:auto}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-card{border:1px solid var(--line);background:#fbfcfa;border-radius:20px;padding:18px}.goal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.goal-head>div{display:flex;gap:10px}.goal-icon{width:38px;height:38px;border-radius:13px;background:#e4f3e9;display:grid;place-items:center;color:var(--green);font-size:19px}.goal-head h3{margin:0;font-size:16px}.goal-head small{color:var(--muted);font-size:10px}.goal-money{display:flex;align-items:baseline;gap:6px}.goal-money strong{font-size:24px}.goal-money span{color:var(--muted);font-size:11px}.goal-meta{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:10px;color:var(--muted)}.goal-meta b{color:var(--ink)}.inline-contribute{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:6px;margin-top:12px}.inline-contribute input{min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff}.debt-list{display:grid;gap:12px}.debt-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfcfa}.debt-main{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:end}.debt-main .debt-direction{grid-column:1/-1;width:max-content;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;background:#f4e8dd;color:#8a562e;padding:4px 7px;border-radius:999px}.debt-main .debt-direction.good{background:#e2f3e9;color:var(--green)}.debt-main h3{margin:0;font-size:17px}.debt-main strong{font-size:25px;grid-row:2/4;grid-column:2}.debt-main small,.debt-main p{color:var(--muted);font-size:11px;margin:0}.debt-main p{grid-column:1/-1;margin-top:5px}.debt-progress progress{margin:13px 0 4px}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.feature-cards article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.feature-cards h3{margin:0 0 7px;font-size:18px}.feature-cards p{margin:0;color:var(--muted);font-size:13px}.window .mini-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1180px){.hero-metrics{grid-template-columns:repeat(2,1fr)}.planning-ribbon,.money-layers{grid-template-columns:repeat(2,1fr)}.budget-grid{grid-template-columns:repeat(2,1fr)}.feature-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.planner-grid,.planner-grid-wide{grid-template-columns:1fr}.plan-hero-grid{grid-template-columns:1fr}.source-card{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr}.inline-contribute{grid-template-columns:1fr 1fr}.inline-contribute .btn{grid-column:1/-1}.analytics-grid-main{grid-template-columns:1fr}}
@media(max-width:700px){.hero-metrics,.planning-ribbon,.money-layers,.budget-grid,.feature-cards{grid-template-columns:1fr}.source-card{grid-template-columns:1fr}.upcoming-list>div{grid-template-columns:45px 1fr auto}.upcoming-list form{grid-column:3}.goal-meta{flex-direction:column}.inline-contribute{grid-template-columns:1fr}.debt-main{display:block}.debt-main strong{display:block;margin-top:6px}.metric-hero strong{font-size:28px}}
.projection-panel{margin-bottom:16px}.projection-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.projection-summary>div{background:#f6f8f5;border-radius:14px;padding:13px}.projection-summary span,.projection-summary b{display:block}.projection-summary span{font-size:10px;color:var(--muted)}.projection-summary b{font-size:17px;margin-top:4px}.projection-table{overflow:auto}.projection-row{min-width:780px;display:grid;grid-template-columns:1.2fr repeat(5,1fr);gap:12px;padding:10px 8px;border-bottom:1px solid #edf0ec;align-items:center;font-size:12px}.projection-row.header{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.projection-row>span,.projection-row>strong{text-align:right}.projection-row>b{text-transform:capitalize}@media(max-width:700px){.projection-summary{grid-template-columns:1fr 1fr}}
/* Grouped budget category selector */
.form-stack #id_categories{list-style:none;margin:0;padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid #dfe5dc;background:#f8faf7;border-radius:14px;max-height:240px;overflow:auto}.form-stack #id_categories li{margin:0}.form-stack #id_categories label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 9px;border-radius:10px;font-size:12px;font-weight:650}.form-stack #id_categories label:hover{background:#eef3ed}.form-stack #id_categories input{margin:0;accent-color:#176b4d}@media(max-width:700px){.form-stack #id_categories{grid-template-columns:1fr}}

/* v1.3 product/account/import surfaces */
.version-chip{display:inline-flex;margin-top:10px;padding:3px 7px;border-radius:999px;background:#e5eee8;color:#315b49;font-size:11px;font-weight:700;letter-spacing:.03em}
.wealth-strip{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:12px;margin:18px 0 16px}.wealth-strip>div,.wealth-strip>a{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid var(--line,#dce4dd);border-radius:18px;background:#fff;color:inherit;text-decoration:none}.wealth-strip .wealth-main{background:#102f25;color:#fff;border-color:#102f25}.wealth-strip span{font-size:12px;color:#687a70}.wealth-strip .wealth-main span,.wealth-strip .wealth-main small{color:#c3d4cc}.wealth-strip strong,.wealth-strip b{font-size:24px;line-height:1.15}.wealth-strip small{font-size:11px;color:#7b8c83}.danger{color:#b44539!important}.account-summary-note{margin:0 0 18px;padding:13px 16px;border:1px solid #d8e3dc;background:#f5f8f5;border-radius:14px;color:#486157;font-size:13px}.account-type-pill{margin-left:auto;padding:4px 8px;border-radius:999px;background:#edf3ef;font-size:10px;font-weight:700;color:#466257}.bank-card.credit-card{border-color:#e4d2c5;background:linear-gradient(180deg,#fffaf7,#fff)}.credit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.credit-metrics>div,.account-balance{padding:10px 11px;border:1px solid #e4e9e5;border-radius:12px;background:#fff}.credit-metrics span,.account-balance span{display:block;font-size:10px;color:#78867f;margin-bottom:4px}.credit-metrics b,.account-balance b{font-size:15px}.supported-banks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.supported-banks-grid article{padding:18px;border:1px solid #dce4dd;border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:7px}.supported-banks-grid article>b{font-size:15px}.supported-banks-grid article>span{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#edf4ef;color:#315846;font-size:11px}.supported-banks-grid small{color:#6d7c75;line-height:1.45;margin-top:4px}
@media(max-width:1050px){.wealth-strip{grid-template-columns:1fr 1fr}.supported-banks-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.wealth-strip,.supported-banks-grid{grid-template-columns:1fr}.credit-metrics{grid-template-columns:1fr 1fr}.wealth-strip strong,.wealth-strip b{font-size:21px}}
.credit-feature{background:linear-gradient(135deg,#f5f9f6,#fff8f1);border:1px solid #e3e9e4;border-radius:28px;margin-top:30px;padding:44px}.credit-demo{min-width:300px;background:#fff;border:1px solid #e7dfd8;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 18px 50px rgba(24,48,37,.08)}.credit-demo>b{font-size:34px;color:#b44539}.credit-demo strong{font-size:17px}.credit-demo small{color:#78867f}.credit-demo hr{width:100%;border:0;border-top:1px solid #e8ece9;margin:8px 0}
.release-strip{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0 0 14px;padding:11px 14px;border:1px solid #cfe0d5;border-radius:14px;background:#f1f8f3;font-size:11px;color:#4f6459}.release-strip b{color:#153f2f}.release-strip a{font-weight:750;color:#0e7355}.release-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.release-strip{grid-template-columns:1fr}.release-strip span{white-space:normal}}

/* v1.4 credit center and account lifecycle */
.bank-card.credit-card{color:var(--ink);background:linear-gradient(180deg,#fff9f5,#fff);border:1px solid #ead8cc;box-shadow:0 14px 35px rgba(74,52,38,.08)}
.bank-card.credit-card .bank-card-top,.bank-card.credit-card .account-mask,.bank-card.credit-card footer{color:#69766f}.bank-card.credit-card .bank-dot{background:#b76b3d;box-shadow:0 0 0 5px #f6e6dc}.bank-card.credit-card h3{color:#17201c}.bank-card.credit-card .account-type-pill{background:#f3e8df;color:#70462f}.bank-card.credit-card .credit-metrics>div{background:#fff;border-color:#e6ddd6}.bank-card.credit-card .credit-metrics span{color:#6d7771}.bank-card.credit-card .credit-metrics b{color:#17201c}.bank-card.credit-card .credit-metrics b.danger{color:var(--danger)!important}.account-credit-link{display:inline-flex;margin-top:2px;color:var(--green);font-size:12px;font-weight:800}.account-data-note{margin-top:14px;padding:12px 13px;border:1px dashed #71877b;border-radius:12px;color:#c6d7ce;font-size:11px;line-height:1.45}.credit-card .account-data-note{color:#64716a;border-color:#d9d3cd;background:#fbf8f5}.account-danger{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:11px}.credit-card .account-danger{border-top-color:#ece3dd}.account-danger summary{cursor:pointer;color:inherit;opacity:.72;font-weight:750}.account-danger-body{margin-top:10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.07)}.credit-card .account-danger-body{background:#faf6f3}.account-danger-body p{margin:0 0 10px;line-height:1.45}.btn-danger-subtle{border-color:#e2bdb7;background:#fff;color:#993b34}.btn-danger-subtle:hover{background:#fff2f0}.danger-link{color:var(--danger)!important}

.credit-kpi-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:12px;margin-bottom:16px}.credit-next-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:16px 19px;border-radius:18px;border:1px solid #cfe0d5;background:#f1f8f3}.credit-next-banner.overdue{border-color:#e4c1b9;background:#fff4f1}.credit-next-banner div{display:grid}.credit-next-banner span,.credit-next-banner small{color:var(--muted);font-size:11px}.credit-next-banner b{font-size:16px}.credit-next-banner>strong{font-size:22px}.credit-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:16px;margin-bottom:22px}.credit-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:10px;color:var(--muted)}.credit-chart-legend span{display:flex;align-items:center;gap:5px}.credit-chart-legend i{width:8px;height:8px;border-radius:50%}.credit-purchase-dot{background:#b96a52}.credit-repay-dot{background:#2c8062}.credit-interest-dot{background:#b58b36}.credit-month-chart{display:grid;gap:8px}.credit-month-row{display:grid;grid-template-columns:54px 1fr 125px;gap:10px;align-items:center;font-size:10px}.credit-month-row>span{color:var(--muted)}.credit-month-row>b{text-align:right;font-size:10px}.credit-bars{display:grid;gap:3px}.credit-bars i{display:block;height:5px;min-width:0;border-radius:999px}.credit-purchase{background:#b96a52}.credit-repay{background:#2c8062}.credit-interest{background:#b58b36}.credit-due-list{display:grid}.credit-due-list>div{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0ec}.credit-due-list>div:last-child{border-bottom:0}.credit-due-list>div>div{display:grid}.credit-due-list small{font-size:10px;color:var(--muted)}.credit-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.credit-product-card{background:#fff;border:1px solid #e4ddd8;border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(25,42,34,.04)}.credit-product-head{display:flex;justify-content:space-between;gap:16px}.credit-product-head h3{margin:3px 0 0;font-size:19px}.credit-product-head small{color:var(--muted)}.credit-product-head>a{color:var(--green);font-size:11px;font-weight:800}.credit-bank{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#80543a;font-weight:850}.credit-product-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.credit-product-metrics>div,.loan-meta-grid>div{padding:11px 12px;border-radius:13px;background:#f7f8f5}.credit-product-metrics span,.loan-meta-grid span{display:block;color:var(--muted);font-size:9px}.credit-product-metrics b,.loan-meta-grid b{display:block;margin-top:4px;font-size:13px}.credit-data-warning{padding:11px 12px;border-radius:12px;background:#fff7e4;border:1px solid #ead7a7;color:#725b26;font-size:11px}.danger-note{background:#fff1ef;border-color:#e5beb7;color:#8f3f35}.credit-settings{margin-top:13px;border-top:1px solid #edf0ec;padding-top:11px}.credit-settings summary{cursor:pointer;font-size:11px;font-weight:800;color:var(--green)}.credit-inline-form,.loan-payment-form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;align-items:end}.credit-inline-form label,.loan-payment-form label{font-size:9px;color:var(--muted)}.credit-inline-form input,.loan-payment-form input{display:block;width:100%;height:40px;margin-top:4px;border:1px solid var(--line);border-radius:10px;padding:0 9px;background:#fff}.credit-inline-form .btn,.loan-payment-form .btn{height:40px;min-height:40px}.loan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.loan-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.loan-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.loan-head span{font-size:10px;color:var(--muted)}.loan-head h3{margin:3px 0 0;font-size:18px}.loan-head>strong{font-size:22px;white-space:nowrap}.loan-progress{margin:14px 0}.loan-progress>div{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:5px}.loan-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.loan-trajectory{margin-top:14px;padding-top:12px;border-top:1px solid #edf0ec}.loan-trajectory-head{display:flex;justify-content:space-between;gap:12px}.loan-trajectory-head b{font-size:11px}.loan-trajectory-head small{font-size:9px;color:var(--muted)}.trajectory-bars{height:100px;display:flex;align-items:flex-end;gap:5px;margin-top:10px}.trajectory-bars>span{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.trajectory-bars i{display:block;width:100%;min-height:2px;background:#6c9b82;border-radius:4px 4px 1px 1px}.trajectory-bars small{font-size:8px;color:var(--muted)}.loan-history{margin-top:11px}.loan-history summary{cursor:pointer;font-size:11px;font-weight:750}.loan-history p{display:grid;grid-template-columns:75px 75px 1fr;gap:7px;margin:8px 0;padding-bottom:8px;border-bottom:1px solid #edf0ec;font-size:10px}.loan-history small{color:var(--muted)}.credit-new-loan{margin-top:20px}.section-panel{margin-bottom:22px}
@media(max-width:1100px){.credit-kpi-grid{grid-template-columns:repeat(2,1fr)}.credit-main-grid{grid-template-columns:1fr}.credit-products-grid,.loan-grid{grid-template-columns:1fr}.credit-product-metrics,.loan-meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.credit-kpi-grid{grid-template-columns:1fr 1fr}.credit-next-banner{align-items:flex-start;flex-direction:column}.credit-month-row{grid-template-columns:45px 1fr}.credit-month-row>b{grid-column:2;text-align:left}.credit-product-metrics,.loan-meta-grid{grid-template-columns:1fr 1fr}.credit-inline-form,.loan-payment-form{grid-template-columns:1fr}.loan-history p{grid-template-columns:70px 70px 1fr}}


/* CAPYBRO v1.6: bank brands + merchant logos; legacy text/symbol UI icons restored. */
.bank-logo-box{width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid rgba(18,32,25,.08);display:grid;place-items:center;overflow:hidden;flex:none;box-shadow:0 3px 12px rgba(16,31,24,.06)}
.bank-logo-box img{width:100%;height:100%;object-fit:contain}.bank-card,.credit-product-card,.loan-card{position:relative;overflow:hidden}.bank-card:before,.credit-product-card:before,.loan-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#759083}.bank-sber:before{background:#21a038}.bank-tbank:before{background:#ffdd2d}.bank-alfa:before{background:#ef3124}.bank-vtb:before{background:#0a2896}.bank-otkritie:before{background:#02bae8}.bank-ozon:before{background:#005bff}.bank-card-top{position:relative;z-index:1}.bank-card-top .bank-name{font-weight:800;color:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-card-top .account-type-pill{margin-left:auto}.credit-product-bank,.loan-bank-head{display:flex;align-items:center;gap:11px;min-width:0}.credit-product-bank>div,.loan-bank-head>div{min-width:0}.credit-product-card .bank-logo-box,.loan-card .bank-logo-box{width:38px;height:38px}.import-bank-logo{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:none}.import-bank-logo img{width:100%;height:100%;object-fit:contain}.bank-logo-strip{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) minmax(280px,1.5fr);gap:14px}.bank-logo-strip .logo-bank{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;font-weight:400;padding:8px 10px;border-radius:12px;background:#fff}.bank-logo-strip .logo-bank>img{grid-row:1/3;width:38px;height:38px;border-radius:10px;object-fit:contain}.bank-logo-strip .logo-bank>b{font-size:13px}.bank-logo-strip .logo-bank>small{margin:0;font-size:10px;max-width:none;color:#76817b}.bank-logo-strip .bank-strip-note{margin:0;align-self:center;max-width:none}.bank-logo-health{overflow:hidden;background:#fff!important;border:1px solid #cfe0d5}.bank-logo-health img{width:100%;height:100%;object-fit:contain}.inline-bank{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.inline-bank img{width:16px;height:16px;border-radius:4px;object-fit:contain;background:#fff}.merchant-icon{padding:5px;background:#fff;border:1px solid #e7ece8;overflow:hidden}.merchant-icon img{width:100%;height:100%;object-fit:contain;display:block}.merchant-detail-head{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}.merchant-detail-logo{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid #e7ece8;display:grid;place-items:center;overflow:hidden;flex:none}.merchant-detail-logo img{width:100%;height:100%;object-fit:contain}.merchant-detail-head div{display:grid;gap:2px}.merchant-detail-head small{color:var(--muted);font-size:10px}.merchant-detail-head b{font-size:14px}.tx-row .merchant-icon{box-shadow:0 2px 8px rgba(18,32,25,.05)}
@media(max-width:1050px){.bank-logo-strip{grid-template-columns:repeat(3,1fr)}.bank-logo-strip .bank-strip-note{grid-column:1/-1}}
@media(max-width:760px){.bank-logo-strip{grid-template-columns:1fr}.bank-logo-strip .bank-strip-note{grid-column:auto}.bank-card-top .bank-logo-box{width:32px;height:32px}.credit-product-bank .bank-logo-box,.loan-bank-head .bank-logo-box{width:34px;height:34px}}

.merchant-list>a{align-items:center}.merchant-mini-logo{width:32px;height:32px;border-radius:9px;border:1px solid #e7ece8;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}.merchant-mini-logo img{width:100%;height:100%;object-fit:contain}
