:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light;color:#0f172a;background:#f7f8fb;--bg: #f7f8fb;--surface: rgba(255, 255, 255, .85);--surface-strong: #ffffff;--surface-muted: #f1f3f8;--border: rgba(148, 163, 184, .3);--text: #0f172a;--muted: #64748b;--muted-strong: #475569;--accent: #1f8f7a;--accent-soft: rgba(31, 143, 122, .12);--shadow: 0 24px 50px rgba(15, 23, 42, .08);--shadow-soft: 0 12px 30px rgba(15, 23, 42, .06);--radius: 14px;--radius-lg: 18px;--radius-pill: 999px;--transition: .16s ease}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(31,143,122,.08),transparent 45%),radial-gradient(circle at 40% 20%,rgba(15,23,42,.05),transparent 45%),var(--bg)}h1,h2,h3,strong{color:var(--text)}p{color:var(--muted)}button,input,select{font-family:inherit}button{border:none;border-radius:var(--radius-pill);padding:12px 20px;font-size:14px;cursor:pointer;background:var(--accent);color:#fff;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);box-shadow:0 8px 18px #1f8f7a33}button:hover{transform:translateY(-1px);background:#167463}button:active{transform:translateY(0)}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text);box-shadow:none}button.ghost:hover{background:var(--surface-muted)}input,select{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong);font-size:14px;color:var(--text);transition:border var(--transition),box-shadow var(--transition)}input:focus,select:focus{outline:none;border-color:#1f8f7a99;box-shadow:0 0 0 3px #1f8f7a2e}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:24px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px 0}.app-shell.auth .app-header{max-width:1100px;margin:0;padding:28px 32px 0}.app-shell.auth .header-left{align-items:center}.header-left{display:flex;align-items:flex-start;gap:20px}.header-text h1{margin:0 0 8px;font-size:28px}.header-text .lead{margin:0}.header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}.brand-logo{width:120px;height:42px;object-fit:contain;object-position:center;border-radius:10px;background:transparent;display:block}.app-shell.auth .brand-logo{width:180px;height:64px;border-radius:14px}.eyebrow{text-transform:uppercase;font-weight:600;font-size:11px;letter-spacing:.24em;color:var(--muted);margin:0 0 8px}.lead{font-size:15px;line-height:1.6}.app-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:0 32px 24px;align-items:start}.app-shell.auth .app-body{grid-template-columns:1fr;padding-top:8px}.app-shell.auth .app-main{max-width:1100px;margin:0;width:100%}.app-main{display:flex;flex-direction:column;gap:24px}.app-sidebar{position:sticky;top:24px}.sidebar-nav{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-soft)}.nav-item{text-align:left;background:transparent;border-radius:12px;border:1px solid transparent;padding:12px 14px;display:flex;flex-direction:column;gap:4px;color:var(--text);box-shadow:none}.nav-item small{font-size:12px;color:var(--muted)}.nav-item:hover{background:var(--surface-muted)}.nav-item.active{background:var(--accent-soft);border-color:#1f8f7a4d;color:var(--text)}.app-footer{padding:0 32px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.app-footer p{margin:0}.card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card h2{margin:0 0 12px;font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.sections,.app-content{display:flex;flex-direction:column;gap:20px}.auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:28px}.hero-card{background:linear-gradient(140deg,#ffffffe6,#f5f7ffd9);border-radius:22px;padding:32px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:22px}.hero-card h2{margin:0 0 10px;font-size:32px}.hero-variant{font-weight:600;color:var(--text);animation:heroVariantFade .6s ease}@keyframes heroVariantFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.hero-metrics strong{font-size:20px;display:block}.hero-metrics span{font-size:12px;color:var(--muted)}.auth-panel{background:var(--surface-strong);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border);display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-soft)}.auth-header{display:flex;flex-direction:column;gap:12px}.auth-header h2{margin:0}.auth-switch{display:inline-flex;gap:8px;background:var(--surface-muted);padding:6px;border-radius:var(--radius-pill)}.auth-switch button{background:transparent;color:var(--muted-strong);border:none;padding:8px 16px;box-shadow:none}.auth-switch button.active{background:var(--surface-strong);border-radius:var(--radius-pill);color:var(--text);box-shadow:0 4px 12px #0f172a14}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{font-size:13px;color:var(--muted-strong)}.auth-actions{display:flex;flex-direction:column;gap:12px}.auth-session{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.auth-status{margin:0;font-size:14px}.auth-status.success{color:#117a4e}.auth-status.error{color:#b42318}.auth-status.loading{color:var(--muted-strong)}.auth-token{margin:0;font-size:12px;color:var(--muted)}.cta{display:flex;gap:12px;flex-wrap:wrap}.transactions,.companies,.accounts,.categories,.projects,.counterparties,.recurring,.expected,.budgets,.liabilities{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:20px}.transactions-form form,.companies-form form,.accounts-form form,.categories-form form,.projects-form form,.counterparties-form form,.recurring-form form,.expected-panel form,.budgets-form form,.liabilities-form form,.assets-form form,.assets-valuation form{display:flex;flex-direction:column;gap:12px}.form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.list-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.list-actions button{font-size:12px;padding:6px 12px}.transactions-list ul,.companies-list ul,.accounts-list ul,.categories-list ul,.projects-list ul,.counterparties-list ul,.recurring-list ul,.expected-list ul,.budgets-list ul,.balance-list ul,.assets-list ul,.assets-valuation-list ul,.liabilities-list ul,.dashboard-chart ul,.dashboard-budgets ul,.chart-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.transactions-list li,.companies-list li,.accounts-list li,.categories-list li,.projects-list li,.counterparties-list li,.recurring-list li,.expected-list li,.budgets-list li,.balance-list li,.assets-list li,.assets-valuation-list li,.liabilities-list li,.dashboard-chart li,.dashboard-budgets li{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong)}.accounts-list li,.categories-list li,.projects-list li,.counterparties-list li,.balance-list li,.assets-valuation-list li{flex-direction:row;justify-content:space-between;align-items:center}.transactions-list li span,.companies-list li span,.accounts-list li span,.categories-list li span,.projects-list li span,.counterparties-list li span,.recurring-list li span,.expected-list li span,.budgets-list li span,.balance-list li span,.assets-list li span,.assets-valuation-list li span,.liabilities-list li span,.dashboard-chart li span,.dashboard-budgets li span{font-size:12px;color:var(--muted)}.account-type,.category-tag,.project-id,.counterparty-id{font-size:11px;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.08em}.recurring-meta,.expected-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted-strong)}.recurring-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted-strong)}.recurring-checkbox input{accent-color:var(--accent)}.expected-actions-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.expected-actions-inline label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.budget-metrics span{font-size:13px;color:var(--muted-strong)}.budget-metrics em{display:block;font-size:12px;color:var(--muted)}.balance{display:flex;flex-direction:column;gap:20px}.balance-filters form,.dashboard-filters form{display:grid;gap:12px}.balance-summary,.dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.balance-grid,.dashboard-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:20px}.assets{display:flex;flex-direction:column;gap:20px}.assets-panel{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(260px,1fr);gap:20px}.assets-list li button{align-self:flex-start}.assets-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.asset-values,.liability-values{display:flex;flex-direction:column;gap:4px}.dashboard{display:flex;flex-direction:column;gap:20px}.stat h3{margin:0 0 8px;font-size:12px;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.1em}.stat strong{font-size:22px;display:block}.stat span{font-size:12px;color:var(--muted)}.chart-panel{display:flex;flex-direction:column;gap:12px}.chart-svg{width:100%;height:180px}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line.income{stroke:#1f8f7a}.chart-line.expense{stroke:#e45c4a}.chart-legend{display:flex;gap:16px;font-size:13px;color:var(--muted)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.legend-dot.income{background:#1f8f7a}.legend-dot.expense{background:#e45c4a}.chart-list li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}.pricing{display:flex;flex-direction:column;gap:20px}.pricing-header h2{margin:0 0 6px}.pricing-header p{margin:0;max-width:520px}.pricing-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.pricing-cycle{display:flex;gap:10px}.pricing-cycle button.active{background:var(--accent);color:#fff}.pricing-promo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.pricing-promo input{min-width:220px}.pricing-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pricing-usage{background:var(--surface-strong);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px 18px;display:grid;gap:12px}.pricing-usage__header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted-strong)}.pricing-usage__header strong{color:var(--text)}.pricing-usage__bar{height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.pricing-usage__fill{height:100%;background:var(--accent);border-radius:inherit;transition:width var(--transition)}.pricing-usage.warning .pricing-usage__fill{background:#f59e0b}.pricing-usage.critical .pricing-usage__fill{background:#dc2626}.pricing-usage__cta{display:flex;justify-content:flex-end}.pricing-upgrade{font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}.pricing-upgrade:hover{text-decoration:underline}.pricing-card{background:var(--surface-strong);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;box-shadow:var(--shadow-soft)}.pricing-discount{background:var(--surface-muted);border-radius:12px;padding:12px 14px;display:grid;gap:4px;font-size:13px}.pricing-discount strong{font-size:18px;color:var(--text)}.pricing-discount__meta{color:var(--muted)}.pricing-promo-actions{display:grid;gap:6px}.promo-success{font-size:12px;color:var(--accent)}.promo-error{font-size:12px;color:#dc2626}.pricing-card.active{border-color:#1f8f7a66;box-shadow:0 18px 40px #1f8f7a2e}.pricing-description{margin:6px 0 0;font-size:14px}.pricing-price{margin-top:16px;display:flex;flex-direction:column}.pricing-price strong{font-size:26px}.pricing-price span{font-size:12px;color:var(--muted)}.pricing-yearly{font-size:13px;margin-top:6px;color:var(--muted-strong)}.pricing-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;font-size:13px;color:var(--muted)}.pricing-list li.enabled{color:var(--text)}.pricing-status{font-size:14px;color:var(--muted)}.pricing-status.error{color:#dc2626}.pricing-status.warning{color:#d97706}.cookie-notice{position:fixed;left:24px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-radius:16px;background:#0f172ae6;color:#f8fafc;box-shadow:0 18px 40px #0f172a59;z-index:20}.cookie-notice strong{display:block;font-size:15px;margin-bottom:4px;color:#f8fafc}.cookie-notice p{margin:0;color:#f8fafccc;font-size:13px;line-height:1.4}.cookie-notice__content{max-width:520px}.cookie-notice button.ghost{border-color:#f8fafc59;color:#f8fafc}.cookie-notice button.ghost:hover{background:#f8fafc1f}@media (max-width: 720px){.cookie-notice{flex-direction:column;align-items:flex-start}}@media (max-width: 1100px){.app-body{grid-template-columns:1fr}.app-sidebar{position:static}}@media (max-width: 900px){.auth-layout,.transactions,.companies,.accounts,.categories,.projects,.counterparties,.recurring,.expected,.budgets,.balance-grid,.assets-panel,.liabilities,.dashboard-grid{grid-template-columns:1fr}}
