:root{--ink:#15222d;--muted:#72808b;--line:#e5eaec;--paper:#f7faf9;--white:#fff;--mint:#48d597;--mint-dark:#168c61;--coral:#ff7967;--blue:#6f91ff;--yellow:#f3c45c;--shadow:0 12px 36px #18333b0d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.shell{max-width:1440px;margin:auto;padding:0 5vw}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--mint);display:grid;place-items:center;font-size:23px;font-weight:800}.brand strong{display:block;font-size:18px;letter-spacing:-.03em}.brand small{color:var(--muted);font-size:12px}.actions{display:flex;gap:10px}.button{border:0;border-radius:10px;padding:11px 15px;font:600 13px inherit;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px)}.ghost{background:var(--white);border:1px solid var(--line);color:var(--ink)}.primary{background:var(--ink);color:#fff;width:100%;margin-top:8px}.primary span{float:right;font-size:18px}.file-label input{display:none}.intro{display:flex;justify-content:space-between;align-items:end;padding:42px 0 30px}.eyebrow{color:var(--mint-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.intro h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.06em;margin:0 0 7px}.intro p:not(.eyebrow){color:var(--muted);margin:0}.month-picker{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.month-picker select{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:10px 32px 10px 12px;font:600 14px inherit;color:var(--ink)}.summary-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-bottom:22px}.summary-card{padding:21px 23px;background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);position:relative;overflow:hidden}.summary-card:after{content:'';width:88px;height:88px;border-radius:50%;position:absolute;right:-28px;top:-25px;background:var(--mint);opacity:.15}.summary-card.income:after{background:var(--blue)}.summary-card.expense:after{background:var(--coral)}.card-label{font-weight:700;font-size:13px;color:var(--muted);margin-bottom:11px}.summary-card strong{font-size:29px;letter-spacing:-.045em;display:block}.summary-card>span:not(.info){display:block;color:var(--muted);font-size:12px;margin-top:7px}.trend{color:var(--mint-dark)!important}.info{display:inline-grid;place-items:center;border:1px solid #aab7bb;width:16px;height:16px;border-radius:50%;font-size:10px}.content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:22px}.left-column,.right-column{display:flex;flex-direction:column;gap:22px}.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.panel h2{font-size:17px;letter-spacing:-.025em;margin:0 0 3px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.legend,.category-legend{display:flex;gap:15px;color:var(--muted);font-size:11px}.legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.mint{background:var(--mint)}.coral{background:var(--coral)}.bar-chart{height:220px;display:flex;align-items:stretch;gap:clamp(8px,2vw,25px);padding:16px 8px 0;border-bottom:1px solid var(--line)}.bar-group{flex:1;display:flex;align-items:end;justify-content:center;gap:5px;position:relative}.bar{width:13px;min-height:2px;border-radius:5px 5px 0 0;transition:height .5s}.bar.in{background:var(--mint)}.bar.out{background:var(--coral)}.bar-group small{position:absolute;bottom:-25px;color:var(--muted);font-size:11px}.transactions{display:flex;flex-direction:column}.transaction{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.transaction:first-child{border-top:0;padding-top:2px}.tx-icon{width:32px;height:32px;border-radius:10px;background:#effaf5;display:grid;place-items:center;color:var(--mint-dark);font-weight:800}.transaction.expense .tx-icon{background:#fff0ee;color:var(--coral)}.tx-copy{flex:1}.tx-copy strong{display:block;font-size:13px}.tx-copy span{font-size:11px;color:var(--muted)}.tx-amount{font-weight:750;font-size:13px}.transaction.expense .tx-amount{color:var(--coral)}.empty{color:var(--muted);padding:18px 0;font-size:13px}.donut-wrap{display:flex;align-items:center;gap:22px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--line) 0 100%);display:grid;place-items:center;flex:none}.donut:before{content:'';position:absolute;width:105px;height:105px;background:#fff;border-radius:50%}.donut>div{z-index:1;text-align:center}.donut strong{display:block;font-size:17px}.donut span{font-size:10px;color:var(--muted)}.category-legend{display:flex;flex-direction:column;gap:9px}.category-legend div{display:flex;align-items:center;gap:7px;min-width:100px}.category-legend b{margin-left:auto;color:var(--ink);font-size:12px}.cat-dot{width:8px;height:8px;border-radius:3px}.type-toggle{display:flex;border:1px solid var(--line);border-radius:9px;padding:3px;margin-bottom:16px}.type-toggle label{flex:1;text-align:center}.type-toggle input{display:none}.type-toggle span{display:block;padding:8px;border-radius:6px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700}.type-toggle input:checked+span{background:var(--ink);color:#fff}.add-panel label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:12px}.add-panel input,.add-panel select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fcfdfd;color:var(--ink);font:14px inherit}.text-button{background:none;border:0;color:var(--coral);font:600 12px inherit;cursor:pointer}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:28px 0}.save-status{color:var(--mint-dark)}@media(max-width:900px){.content-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.summary-card.balance{grid-column:1/-1}}@media(max-width:600px){.shell{padding:0 18px}.topbar{height:auto;padding:17px 0;align-items:start}.actions{gap:5px}.actions .button{font-size:0;padding:10px}.actions .button:first-letter{font-size:16px}.intro{padding:30px 0 22px;display:block}.month-picker{margin-top:20px}.summary-grid{gap:9px}.summary-card{padding:16px}.summary-card strong{font-size:22px}.summary-card.income,.summary-card.expense{grid-column:span 1}.panel{padding:17px}.donut-wrap{gap:10px}.donut{width:125px;height:125px}.donut:before{width:88px;height:88px}.legend{display:none}footer{display:block}footer .save-status{display:block;margin-top:7px}}

.overall-badge{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--muted);font-size:12px;text-align:right}.overall-badge strong{color:var(--ink);font-size:14px}.accounts-panel{margin-bottom:22px}.account-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:16px}.account-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:12px}.account-symbol{width:30px;height:30px;border-radius:9px;background:#eafaf3;color:var(--mint-dark);display:grid;place-items:center;font-weight:800}.account-card strong{display:block;font-size:13px}.account-card small{display:block;color:var(--muted);font-size:11px}.account-card b{margin-left:auto;font-size:13px}.account-card button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:18px}.account-form{display:flex;gap:8px}.account-form input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px;font:14px inherit}.account-form .primary{width:auto;margin:0}.add-panel label select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fcfdfd;color:var(--ink);font:14px inherit}.add-panel label:last-of-type{display:none}@media(max-width:600px){.account-form{display:block}.account-form input,.account-form button{width:100%;margin-bottom:8px}.overall-badge{margin-top:14px;text-align:left}}
.account-actions{display:flex;gap:3px;margin-left:6px}.account-actions button{border:0!important;background:transparent!important;color:var(--muted);cursor:pointer;font-size:16px!important;padding:2px 4px}.account-actions button:hover{color:var(--ink)}
.button.primary{background:#35c98b!important;color:#08251b!important}.button.primary:hover{background:#48d597!important}.dark .button.primary{background:#48d597!important;color:#08251b!important}.theme-float{background:var(--mint)!important;color:#08251b!important;border-color:var(--mint)!important}.type-toggle input:checked+span{background:#35c98b!important;color:#08251b!important}.dark .type-toggle input:checked+span{background:#48d597!important;color:#08251b!important}
.theme-float{position:fixed;right:5vw;top:102px;z-index:5;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);padding:10px 13px;font:600 13px inherit;cursor:pointer}.dark body{--ink:#edf4f1;--muted:#9caaa9;--line:#2b3b40;--paper:#101a1f;--white:#18262b;--mint-dark:#63e3ad;--shadow:0 12px 36px #0005}.dark .donut:before{background:var(--white)}.dark .add-panel input,.dark .add-panel select,.dark .account-form input{background:#122126;color:var(--ink)}@media(max-width:600px){.theme-float{top:78px;right:18px;font-size:0;padding:9px}.theme-float:first-letter{font-size:16px}}

