:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;--ink:#1d1d1f;--muted:#74747a;--paper:#fff;--teal:#176b63;--teal-dark:#12574f;--gold:#eecb7b;color:#1d1d1f;background:#f5f5f7}
body{background:#f5f5f7;color:#1d1d1f;-webkit-font-smoothing:antialiased}
.shell{max-width:1480px;padding:28px clamp(18px,3.1vw,52px) 38px}
.topbar{padding:4px 0 27px;border-bottom:1px solid #dfe0e4;margin-bottom:31px}
.identity{gap:15px}
.mark{width:47px;height:47px;border-radius:14px;box-shadow:none;background:linear-gradient(145deg,#344d54,#173039);color:#fff;font-size:24px;letter-spacing:-.09em}
.identity h1{font-size:24px;font-weight:760;letter-spacing:-.055em}
.identity p{font-size:12px;color:#86868b;margin-top:4px}
.top-actions{gap:10px}
#sync-status{font-size:11px;color:#86868b;margin-right:12px}
#sync-status:before{width:6px;height:6px;background:#4bab82;box-shadow:none}
.grid{gap:19px;grid-template-columns:minmax(285px,.93fr) minmax(285px,.93fr) minmax(315px,1.12fr)}
.column{gap:19px}
.card,.dialog{background:#fff;border:1px solid #ececef;border-radius:21px;box-shadow:0 5px 20px #1d1d1f08,0 1px 3px #1d1d1f05;padding:25px}
.card h2,.dialog h2{font-size:16px;letter-spacing:-.025em;font-weight:700}
.section-head{margin-bottom:17px}
.balance-card{min-height:228px;background:linear-gradient(145deg,#1e3a44 0%,#152b36 60%,#10242d 100%);border-color:#152d36;box-shadow:0 16px 30px #15323a18;padding:29px 27px 24px;border-radius:23px}
.balance-card:before{width:400px;height:400px;top:-307px;right:-126px;border:1px solid #ffffff15}
.balance-card:after{width:220px;height:220px;top:-143px;right:-66px;background:transparent;border:1px solid #ffffff17}
.eyebrow{font-size:11px;letter-spacing:.15em;color:#b8cdd1;font-weight:650;margin-bottom:12px}
.balance{font-size:clamp(37px,3.3vw,51px);font-weight:690;letter-spacing:-.06em}
.totals{margin-top:25px;padding-top:18px;border-color:#ffffff26}
.totals span{font-size:11px;color:#aebfc2}
.totals strong{font-size:17px;font-weight:680}
.balance-card .income{color:#a6e7cc}
.balance-card .expense{color:#ffc4ad}
.muted,.field span{color:#77777c}
.field{gap:7px;margin-bottom:15px}
.field span{font-size:12px;font-weight:610}
.field input,.field select,.compact select{background:#fafafa;border:1px solid #dedee2;border-radius:11px;color:#1d1d1f;min-height:45px;padding:11px 13px;box-shadow:0 1px 2px #00000004}
.field input::placeholder{color:#a6a6ac}
.field input:focus,.field select:focus,.compact select:focus{border-color:#4c8d89;box-shadow:0 0 0 3px #2c8a7b1a}
.field-row{gap:12px}
.segmented{background:#f4f4f6;border:0;border-radius:12px;padding:4px;margin-bottom:21px}
.segmented span{border-radius:9px;color:#78787d;font-size:13px;font-weight:650;padding:11px 7px}
.segmented input:checked+span,.segmented label:first-child input:checked+span{background:#fff;color:#1d1d1f;box-shadow:0 2px 7px #00000015}
.button{font-size:13px;font-weight:680;border-radius:11px;min-height:42px;padding:11px 15px;transition:background .18s,box-shadow .18s,transform .18s}
.button.primary{background:#1b6e67;color:#fff}
.button.primary:hover:not(:disabled){background:#155b55}
.button.gold{background:#f0d18c;border-color:#e7c478;color:#342713}
.button.subtle{background:#f7f7f8;border-color:#e6e6ea;color:#2e2e33}
.button.subtle:hover:not(:disabled){background:#eeeeef}
.button:hover:not(:disabled){box-shadow:0 5px 14px #1d1d1f13;transform:translateY(-1px)}
.text-button,a{color:#176b63}
.badge{background:#f8eed7;color:#856127;border-radius:6px;font-size:9px;padding:5px 7px;letter-spacing:.08em}
.chart-card{min-height:297px}
.chart-wrap{gap:25px;min-height:207px}
.donut{width:166px;height:166px;box-shadow:none}
.donut-center{background:#fff;width:110px;height:110px;font-size:12px;font-weight:680}
.legend{color:#66666b;font-size:12px;gap:10px}
.row{background:#f8f8f9;border:1px solid #f1f1f3;border-radius:10px}
.progress{background:#e8e9ea;height:6px}
.history-card{min-height:425px}
.tx{border-color:#ececef;padding:14px 0}
.tx-icon{background:#eef4f2;color:#336f68;border-radius:10px}
.tx-desc{font-weight:660}
.tx-meta{color:#8a8a90}
.tx-amount{font-weight:740}
.income{color:#247665}
.expense{color:#b86154}
.empty{border-color:#dedfe2;background:#fafafa;color:#909096}
.message{background:#eef7f1;color:#236b51;border-color:#d7e8dc}
.message.error{background:#fff3f1;color:#a04e43;border-color:#f0d9d3}
.dialog{border-radius:23px;box-shadow:0 30px 90px #15232e42}
.dialog::backdrop{background:#0d1d2999;backdrop-filter:blur(8px)}
.dialog .close{background:#f2f2f3;color:#55555a}
.crown{color:#c99f52}
.pro-features>div{background:#f8f8f9;border-color:#eeeeef;border-radius:12px;padding:14px}
.pro-features p{color:#77777d}
.feature-icon{background:#ecf3f1;color:#2a7269}
.legal{background:#fff;border-color:#ececef;box-shadow:0 8px 30px #1d1d1f0d}
.legal p{color:#44444b}
footer{color:#98989d}
footer a{color:#77777c}
@media(max-width:1180px){.grid{grid-template-columns:1fr 1fr}.column:last-child{grid-column:1/-1}}
@media(max-width:720px){.shell{padding:16px 14px 27px}.topbar{margin-bottom:19px;padding-bottom:19px}.grid{grid-template-columns:1fr;gap:15px}.column{gap:15px}.column:last-child{grid-column:auto}.card{padding:21px}.balance-card{min-height:218px;padding:25px 23px}.top-actions{gap:6px}.top-actions .button{padding:9px 11px}.chart-wrap{justify-content:center}}
@media(max-width:420px){.identity h1{font-size:21px}.chart-wrap{flex-direction:column;align-items:stretch}.donut{align-self:center}.legend{display:grid;grid-template-columns:1fr 1fr}.top-actions{width:100%;padding-left:62px;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
