:root{
  --bg:#f4ead9;--card:#fffaf2;--card2:#f6ecd9;--text:#2d241b;--muted:#8b7a65;--line:#e3d1b2;
  --primary:#9b6a2f;--primary2:#d7a35a;--accent:#2f7d5a;--danger:#c24a3a;--shadow:0 24px 70px rgba(82,55,24,.14);--soft:rgba(255,255,255,.72)
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 8% 0,#fffaf0 0,#f4ead9 42%,#ead8bd 100%);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(155,106,47,.10) 1px,transparent 1px),linear-gradient(135deg,rgba(255,255,255,.22) 0,rgba(255,255,255,0) 34%);background-size:22px 22px,100% 100%;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 72%)}
body.dark{--bg:#15120e;--card:#211c16;--card2:#2b241b;--text:#f8ebd8;--muted:#baa78e;--line:#443626;--primary:#d39a50;--primary2:#f0bd75;--accent:#78d0a6;--shadow:0 24px 70px rgba(0,0,0,.42);--soft:rgba(33,28,22,.78);background:radial-gradient(circle at top left,#2b2117 0,#17130f 45%,#0e0c09 100%)}
.hidden{display:none!important}.app-shell{max-width:1200px;margin:auto;padding:26px}.glass,.card{background:var(--soft);border:1px solid rgba(255,255,255,.52);box-shadow:var(--shadow);backdrop-filter:blur(14px)}body.dark .glass,body.dark .card{border-color:#3c3227}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;padding:18px;border-radius:30px}.brand{display:flex;align-items:center;gap:14px}.app-mark{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--primary2),var(--primary));font-weight:1000;font-size:27px;box-shadow:0 16px 30px rgba(155,106,47,.28);line-height:1}.app-mark span{filter:drop-shadow(0 3px 5px rgba(0,0,0,.16))}.eyebrow,.pill{margin:0 0 4px;color:var(--muted);font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.pill{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.38);margin-bottom:10px}body.dark .pill{background:#2a231a}h1{margin:0;font-size:38px;letter-spacing:-.055em}h2{margin:0;font-size:25px;letter-spacing:-.035em}.muted,.section-head p{color:var(--muted);margin:7px 0 0}.top-actions,.filters,.actions-row,.inline{display:flex;gap:10px;align-items:center}.currency-select{min-width:88px;font-weight:900}.top-actions .danger-btn{padding:12px 14px}.inline{justify-content:space-between}.ghost-btn,.secondary-btn,.danger-btn,.primary-btn{border:0;border-radius:16px;padding:12px 15px;font-weight:900;cursor:pointer;transition:.18s}.ghost-btn,.secondary-btn,select,input{background:rgba(255,255,255,.58);color:var(--text);border:1px solid var(--line)}body.dark .ghost-btn,body.dark .secondary-btn,body.dark select,body.dark input,body.dark textarea{background:#2a231a;color:var(--text)}.primary-btn{background:linear-gradient(135deg,var(--primary2),var(--primary));color:white;box-shadow:0 14px 28px rgba(155,106,47,.25)}.danger-btn{background:rgba(194,74,58,.12);color:var(--danger);border:1px solid rgba(194,74,58,.24)}button:hover{transform:translateY(-1px)}.wide{width:100%}.layout-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:18px;align-items:start}.side-stack{display:grid;gap:18px}.card,.balance-card{border-radius:30px;padding:22px;margin-bottom:18px}.priority-card{background:linear-gradient(135deg,rgba(255,250,242,.94),rgba(246,236,217,.78));border:1px solid rgba(255,255,255,.65)}body.dark .priority-card{background:linear-gradient(135deg,rgba(33,28,22,.96),rgba(43,36,27,.82))}.balance-card{background:linear-gradient(135deg,var(--card),var(--card2));box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.45);position:relative;overflow:hidden}.balance-card:after{display:none}.balance-card span{display:block;color:var(--muted);font-weight:900}.balance-card strong{display:block;font-size:35px;margin:8px 0;letter-spacing:-.04em}.balance-card small{color:var(--muted);font-weight:800;line-height:1.6}
.quick-tabs,.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--card2);border:1px solid var(--line);padding:7px;border-radius:20px;margin:14px 0 18px;min-height:62px}.quick-tabs button,.segmented button{border:0;background:transparent;color:var(--muted);border-radius:14px;padding:12px;font-weight:950;cursor:pointer;min-height:48px}.quick-tabs button.active,.segmented button.active{background:linear-gradient(135deg,var(--primary2),var(--primary));color:white}.mode-switch{grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin:14px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.form-grid>div{min-width:0}label{display:block;color:var(--muted);font-size:13px;font-weight:900;margin:4px 0 8px}input,select,textarea{width:100%;border-radius:16px;padding:13px 14px;font-size:15px;outline:none}textarea{min-height:86px}.custom-category{margin-top:8px}.import-panel{margin-top:16px}.drop-zone{border:1.5px dashed var(--line);border-radius:24px;background:rgba(255,255,255,.36);padding:18px;text-align:center}body.dark .drop-zone{background:rgba(255,255,255,.04)}.drop-icon{font-size:34px;margin-bottom:8px}.drop-zone input{margin:14px 0}.progress{height:9px;background:var(--card2);border-radius:99px;overflow:hidden;margin:14px 0}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--primary2),var(--accent));transition:.25s}.status{color:var(--muted);font-weight:800}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-grid>div{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--line);border-radius:22px;padding:17px}.report-grid span{display:block;color:var(--muted);font-weight:900;font-size:13px}.report-grid strong{display:block;margin-top:6px;font-size:22px}.insights-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}.chart-wrap{position:relative;min-height:340px;display:grid;place-items:center}.chart-wrap canvas{max-height:340px}.chart-center{position:absolute;text-align:center;font-weight:950;pointer-events:none}.chart-center strong{display:block;font-size:27px}.chart-center span{color:var(--muted);font-size:13px}.category-bars{display:grid;gap:14px}.bar-row{display:grid;grid-template-columns:120px 1fr 96px;gap:10px;align-items:center;font-weight:900}.bar-track{height:13px;background:var(--card2);border-radius:99px;overflow:hidden;border:1px solid var(--line)}.bar-fill{height:100%;border-radius:99px}.transaction-list,.review-list{display:grid;gap:10px}.tx,.review-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border-radius:20px;background:rgba(255,255,255,.36);border:1px solid var(--line)}body.dark .tx,body.dark .review-item{background:rgba(255,255,255,.04)}.tx-title{font-weight:950}.tx-meta{color:var(--muted);font-size:13px;margin-top:4px}.tx-amount{font-weight:1000}.tx-amount.expense{color:var(--danger)}.tx-amount.income,.tx-amount.creditLimit,.tx-amount.creditPayment{color:var(--accent)}.review-item{grid-template-columns:auto 1fr}.review-item input[type="checkbox"]{width:22px;height:22px}.review-fields{display:grid;grid-template-columns:.8fr .8fr 1fr 1.2fr;gap:8px;margin-top:10px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:50;display:grid;place-items:center;padding:18px}.modal-card{width:min(980px,100%);max-height:88vh;overflow:auto;border-radius:30px;padding:22px}.modal-actions{position:sticky;bottom:0;background:var(--soft);padding-top:14px}.fab-wrap{position:fixed;right:24px;bottom:24px;z-index:30;display:grid;gap:10px;justify-items:end}.fab-main{width:64px;height:64px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--primary2),var(--primary));color:white;font-size:34px;font-weight:900;box-shadow:var(--shadow);cursor:pointer}.fab-option{opacity:0;pointer-events:none;transform:translateY(12px);border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:12px 16px;font-weight:950;box-shadow:var(--shadow)}.fab-wrap.open .fab-option{opacity:1;pointer-events:auto;transform:none}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(420px,100%);padding:28px;border-radius:34px;text-align:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--card2);padding:7px;border-radius:18px;margin:18px 0}.auth-tabs button{border:0;background:transparent;border-radius:13px;padding:12px;color:var(--muted);font-weight:900}.auth-tabs button.active{background:var(--card);color:var(--text)}.auth-card input{margin-bottom:10px}footer{text-align:center;color:var(--muted);font-weight:800;padding:22px}
@media(max-width:860px){.app-shell{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.layout-grid{display:flex;flex-direction:column}.quick-card{order:1}.side-stack{order:2;width:100%}.form-grid,.insights-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}.inline{align-items:flex-start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}.filters select,.filters input{flex:1;min-width:140px}.review-fields{grid-template-columns:1fr}.bar-row{grid-template-columns:86px 1fr 78px}h1{font-size:34px}.balance-card strong{font-size:31px}.fab-wrap{right:16px;bottom:16px}.modal-card{padding:16px}.card,.balance-card{border-radius:26px;padding:18px}}
@media(max-width:520px){.report-grid{grid-template-columns:1fr}.top-actions button,.top-actions span{flex:1}.app-mark{width:52px;height:52px;border-radius:20px}.quick-tabs,.segmented{min-height:58px}.chart-wrap{min-height:300px}.tx,.review-item{grid-template-columns:1fr}.tx-amount{text-align:left}.bar-row{grid-template-columns:1fr}.bar-track{height:14px}.bar-row strong{text-align:left}}
