:root{--bg:#f4f6fb;--surface:#fff;--ink:#121826;--muted:#687386;--line:#e7eaf0;--accent:#635bff;--accent2:#857fff;--red:#e5484d;--green:#15915f;--nav:#101827;--radius:20px;--shadow:0 8px 30px rgba(18,24,38,.06);font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--nav);color:#dbe2f0;padding:28px 22px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;margin-bottom:38px}.brand span,.logo{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#32b8ff);color:#fff;border-radius:13px;width:42px;height:42px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a,.link-button{padding:12px 14px;border-radius:12px;color:#bcc6d7;border:0;background:transparent;text-align:left;cursor:pointer}.sidebar nav a:hover,.link-button:hover{background:#1c2739;color:#fff}.sidebar form{margin-top:auto}.content{margin-left:230px;padding:36px 42px 80px;max-width:1440px}.bottom-nav{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1{font-size:32px;line-height:1.1;margin:4px 0}.eyebrow{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0}.page-header select{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px}.hero-card{background:linear-gradient(135deg,#171d31,#272d65 60%,#5149b8);color:white;border-radius:26px;padding:30px;box-shadow:var(--shadow);margin-bottom:18px}.hero-card>span{color:#cdd3e8}.hero-card>strong{display:block;font-size:40px;margin:8px 0 24px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions a{background:rgba(255,255,255,.12);padding:11px 15px;border:1px solid rgba(255,255,255,.16);border-radius:12px}.summary-grid,.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.summary-grid article,.panel,.wallet-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.summary-grid article{padding:20px}.summary-grid article span,.summary-grid article small{display:block;color:var(--muted)}.summary-grid article strong{font-size:26px;display:inline-block;margin:9px 5px 0 0}.expense{color:var(--red)!important}.income{color:var(--green)!important}.two-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.panel{padding:22px;margin-bottom:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h2,.form-panel h2{font-size:19px;margin:0}.section-title a{color:var(--accent);font-size:14px;font-weight:600}.account-row,.stat-row,.transaction-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.account-row:last-child,.stat-row:last-child,.transaction-row:last-child{border:0}.account-row>span,.tx-main{display:flex;flex-direction:column;min-width:0;flex:1}.account-row small,.tx-main small{color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-row span{flex:1}.tx-icon{width:40px;height:40px;border-radius:13px;background:#eef0ff;color:var(--accent);display:grid;place-items:center;font-weight:700;flex:0 0 auto}.tx-icon.red{background:#fff0f0;color:var(--red)}.tx-icon.green{background:#eaf9f2;color:var(--green)}.tx-amount{display:flex;flex-direction:column;text-align:right;gap:4px}.empty{text-align:center;color:var(--muted);padding:28px}.messages{position:fixed;top:18px;right:18px;z-index:20;max-width:420px}.message{padding:13px 16px;border-radius:12px;background:#e8f8f0;color:#096a43;box-shadow:var(--shadow);margin-bottom:8px}.message.error{background:#fff0f0;color:#9c282d}.stack-form{display:flex;flex-direction:column;gap:17px}.stack-form label{font-size:14px;font-weight:650}.stack-form input,.stack-form select,.stack-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9dde7;border-radius:12px;background:#fff;color:var(--ink);outline:none}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,91,255,.12)}.stack-form em{display:block;color:var(--red);font-style:normal;margin-top:5px;font-size:13px}.form-panel{max-width:680px}.primary,.secondary,.button{border:0;border-radius:12px;padding:12px 17px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--accent);color:#fff}.secondary{background:#eef0ff;color:#4338ca}.header-actions{display:flex;gap:9px}.back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:8px}.filters{display:flex;gap:8px;overflow:auto;margin-bottom:14px;padding-bottom:3px}.filters a{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:99px;font-size:13px}.filters a.active{background:var(--nav);color:#fff;border-color:var(--nav)}.icon-button{border:0;background:#f5f6f8;color:#8a94a6;width:30px;height:30px;border-radius:9px;cursor:pointer}.wallet-card{padding:20px}.wallet-card>div{display:flex;justify-content:space-between;align-items:center}.wallet-card h2{font-size:18px;margin:20px 0 7px}.wallet-card>strong{font-size:25px}.wallet-card p,.wallet-card small,.muted{color:var(--muted)}.currency-badge{font-weight:800;color:var(--accent);background:#efefff;padding:6px 9px;border-radius:9px}.rate-cards .wallet-card{display:flex;flex-direction:column;gap:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 20%,#302b67 0,transparent 30%),var(--nav)}.login-card{width:min(420px,100%);background:#fff;border-radius:26px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.login-card .logo{width:52px;height:52px;font-size:24px}.login-card h1{margin:22px 0 5px}.login-card>p{margin:0 0 26px;color:var(--muted)}
@media(max-width:800px){body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.sidebar{display:none}.content{margin:0;padding:calc(22px + env(safe-area-inset-top)) 16px 22px}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;inset:auto 0 0;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px 7px calc(7px + env(safe-area-inset-bottom));z-index:10}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#687386}.bottom-nav a span{font-size:21px;line-height:1}.bottom-nav .add{width:52px;height:52px;border-radius:18px;background:var(--accent);color:#fff;font-size:30px;justify-self:center;align-self:center;transform:translateY(-8px);box-shadow:0 8px 22px rgba(99,91,255,.35)}.page-header h1{font-size:28px}.hero-card{padding:24px 20px}.hero-card>strong{font-size:33px}.hero-actions{flex-direction:column}.hero-actions a{text-align:center}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid article:last-child{grid-column:span 2}.summary-grid article strong{font-size:21px}.two-columns,.cards-grid{grid-template-columns:1fr}.panel{padding:17px}.transaction-row{gap:9px}.tx-main small{max-width:45vw}.header-actions .secondary{display:none}.messages{left:14px;right:14px;top:calc(10px + env(safe-area-inset-top))}.form-panel{padding:20px}.login-card{padding:28px 22px}.account-row>strong{font-size:14px}.rate-cards{grid-template-columns:1fr 1fr}.rate-cards article:last-child{grid-column:span 2}}
.report-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.report-filters select{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.bar-row{margin:15px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:14px}.bar-track{display:block;width:100%;height:8px;border:0;border-radius:99px;background:var(--line);overflow:hidden;margin-top:7px}.bar-track::-webkit-progress-bar{background:var(--line)}.bar-track::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px}.bar-track::-moz-progress-bar{background:var(--accent);border-radius:99px}.trend-list{display:flex;gap:8px;align-items:flex-end;overflow:auto;padding:10px 0}.trend-list>div{display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:5px;min-width:58px;text-align:center;color:var(--muted);font-size:12px}.trend-list b{color:var(--ink);font-size:12px}.settings-link{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.settings-link:last-child{border:0}.settings-link span{display:flex;flex-direction:column;gap:4px}.settings-link small{color:var(--muted)}.settings-link>strong{font-size:25px;color:var(--muted)}.full{width:100%}
.setup-steps{padding-left:22px}.setup-steps li{margin:15px 0;line-height:1.5}.qr{background:#fff;display:inline-flex;padding:12px;border-radius:16px;margin:12px 0}.qr img{width:220px;height:220px}.setup-steps code{display:inline-block;word-break:break-all;background:var(--bg);padding:10px;border-radius:9px;margin-top:8px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.recovery-codes code{background:var(--bg);padding:12px;border-radius:9px;text-align:center;font-size:16px;letter-spacing:.08em}
@media(prefers-color-scheme:dark){:root{--bg:#0d1421;--surface:#151e2d;--ink:#edf2fa;--muted:#95a2b6;--line:#263246;--shadow:none}.page-header select,.stack-form input,.stack-form select,.stack-form textarea,.filters a{background:var(--surface);color:var(--ink);border-color:var(--line)}.wallet-card p{color:var(--muted)}.bottom-nav{background:rgba(21,30,45,.94)}.icon-button{background:#263246}.login-card{background:var(--surface)}}
.account-row-link{margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:12px;transition:background .15s,transform .15s}.account-row-link:hover,.account-row-link:focus-visible{background:#f2f1ff;outline:none}.account-row-link:active{transform:scale(.99)}.account-row-link small{color:var(--accent)}
@media(prefers-color-scheme:dark){.account-row-link:hover,.account-row-link:focus-visible{background:#202b42}}
.icon-button{display:grid;place-items:center;flex:0 0 auto}
.mobile-toolbar,.pull-indicator{display:none}
.sidebar nav a.active{background:#252f43;color:#fff;font-weight:700}
.content,.panel,.page-header>*{min-width:0}
.page-header select,.report-filters select{max-width:100%}
.bottom-nav svg,.refresh-button svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chart-note{font-size:12px;margin:5px 0 0}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend span:before{content:"";width:8px;height:8px;border-radius:3px;background:var(--green)}.chart-legend .expense-dot:before{background:var(--red)}.cashflow-chart{height:260px;display:flex;align-items:stretch;gap:5px;overflow-x:auto;overflow-y:hidden;padding:14px 4px 2px;border-bottom:1px solid var(--line)}.chart-column{height:100%;min-width:28px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.chart-bars{height:210px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.chart-bars i{display:block;width:min(10px,42%);min-height:0;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#3ac58e,var(--green))}.chart-bars .expense-bar{background:linear-gradient(180deg,#ff777b,var(--red))}.chart-column>span{font-size:10px;color:var(--muted);white-space:nowrap}.level-0{height:0}.level-1{height:5%}.level-2{height:10%}.level-3{height:15%}.level-4{height:20%}.level-5{height:25%}.level-6{height:30%}.level-7{height:35%}.level-8{height:40%}.level-9{height:45%}.level-10{height:50%}.level-11{height:55%}.level-12{height:60%}.level-13{height:65%}.level-14{height:70%}.level-15{height:75%}.level-16{height:80%}.level-17{height:85%}.level-18{height:90%}.level-19{height:95%}.level-20{height:100%}
@media(max-width:800px){html,body{max-width:100%;overflow-x:hidden}.app-shell{width:100%;max-width:100vw}.content{width:100%;max-width:100vw;padding-top:calc(16px + env(safe-area-inset-top))}.mobile-toolbar{display:flex;justify-content:flex-end;height:36px;margin-bottom:4px}.refresh-button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);padding:7px 10px;font-size:12px;font-weight:650}.refresh-button svg{width:16px;height:16px}.refresh-button.loading svg{animation:spin .7s linear infinite}.bottom-nav{align-items:center;height:calc(72px + env(safe-area-inset-bottom));padding:6px 5px calc(5px + env(safe-area-inset-bottom))}.bottom-nav>a{height:54px;min-width:0;display:flex;justify-content:center;align-items:center;gap:3px;padding:5px 2px;border-radius:13px;font-size:10px;line-height:1;color:var(--muted);transition:color .15s,background .15s,transform .15s}.bottom-nav>a:active{transform:scale(.94)}.bottom-nav>a.active:not(.add){color:var(--accent);background:#efefff;font-weight:750}.bottom-nav .nav-icon{display:block;width:22px;height:22px;flex:0 0 22px}.bottom-nav>a>span{font-size:10px;line-height:12px}.bottom-nav .add{width:52px;height:52px;min-width:52px;padding:0;display:grid;place-items:center;transform:translateY(-9px);border:3px solid var(--surface)}.bottom-nav .add:active{transform:translateY(-9px) scale(.94)}.bottom-nav .add svg{width:25px;height:25px;display:block;stroke-width:2}.bottom-nav .add.active{outline:3px solid rgba(99,91,255,.2)}.page-header{align-items:flex-start;flex-wrap:wrap}.page-header h1{overflow-wrap:anywhere}.page-header .primary,.page-header form{max-width:100%}.header-actions{max-width:100%;flex-wrap:wrap}.summary-grid article,.wallet-card,.panel{min-width:0}.transaction-row{position:relative;align-items:flex-start;flex-wrap:wrap}.transaction-row .tx-main{flex:1 1 calc(100% - 55px)}.transaction-row .tx-amount{margin-left:49px;text-align:left;max-width:calc(100% - 49px);overflow-wrap:anywhere}.transaction-row>form{margin-left:auto}.account-row{align-items:flex-start}.account-row>strong{text-align:right;overflow-wrap:anywhere}.report-filters>*{flex:1 1 135px}.report-filters button{flex:1 1 100%}.cashflow-chart{height:235px}.chart-bars{height:185px}.chart-column{min-width:25px}.chart-panel .section-title{align-items:flex-start;gap:10px}.chart-legend{justify-content:flex-end}.pull-indicator{position:fixed;display:flex;align-items:center;justify-content:center;top:calc(7px + env(safe-area-inset-top));left:50%;z-index:30;transform:translate(-50%,-80px);opacity:0;background:var(--nav);color:#fff;border-radius:99px;padding:9px 14px;font-size:12px;font-weight:700;box-shadow:0 7px 22px rgba(0,0,0,.22);transition:transform .18s,opacity .18s;white-space:nowrap}.pull-indicator.visible{transform:translate(-50%,0);opacity:1}.pull-indicator .pull-ready{display:none}.pull-indicator.ready .pull-default{display:none}.pull-indicator.ready .pull-ready{display:inline}.pull-indicator.refreshing{transform:translate(-50%,0);opacity:1}.pull-indicator.refreshing:after{content:" Обновляем…"}.pull-indicator.refreshing span{display:none}}
@media(max-width:380px){.content{padding-left:12px;padding-right:12px}.bottom-nav>a>span{font-size:9px}.bottom-nav .nav-icon{width:20px;height:20px}.page-header h1{font-size:25px}.summary-grid{gap:10px}.summary-grid article{padding:15px}.rate-cards{grid-template-columns:1fr}.rate-cards article:last-child{grid-column:auto}.chart-legend{justify-content:flex-start}}
@media(prefers-color-scheme:dark) and (max-width:800px){.bottom-nav>a.active:not(.add){background:#26264c;color:#a9a4ff}.bottom-nav .add{border-color:var(--surface)}}
@keyframes spin{to{transform:rotate(360deg)}}
