:root{--negative:#e46d5e}.negative{color:var(--negative)!important}:root{--ink:#111827;--muted:#718096;--lime:#c5f36b;--lime-dark:#8fbc42;--canvas:#f7f8f5;--line:#e6e9e2;--white:#fff;--red:#e46d5e;--green:#4b9b70;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.auth-brand{font-family:Manrope,sans-serif}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 85% 10%,#dff6b0 0,transparent 28%),var(--canvas);padding:24px}.auth-brand{position:absolute;top:32px;left:40px;display:flex;gap:10px;align-items:center;font-size:20px;font-weight:800}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--ink);color:var(--lime);border-radius:9px;font-size:25px;line-height:1}.auth-card{background:rgba(255,255,255,.86);width:min(430px,100%);padding:38px;border:1px solid #fff;border-radius:26px;box-shadow:0 22px 80px #26320f12}.eyebrow,.card-label,.greeting{letter-spacing:.13em;font-size:11px;font-weight:700;color:#809155}.auth-card h1{font-size:30px;line-height:1.15;margin:10px 0 12px}.muted{color:var(--muted);line-height:1.55}.google-btn,.primary-btn,.outline-btn{border-radius:11px;padding:13px 18px;font-weight:700;transition:.18s}.google-btn{background:#fff;border:1px solid var(--line);width:100%;margin-top:26px;color:var(--ink)}.google-btn:hover,.outline-btn:hover{border-color:var(--ink);transform:translateY(-1px)}.google-g{font-weight:800;color:#4285f4;margin-right:8px}.divider{display:flex;align-items:center;gap:12px;color:#a3ab9c;font-size:12px;margin:24px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-card label,.modal label{display:grid;gap:8px;color:#5f6b59;font-size:12px;font-weight:700;margin:14px 0}.auth-card input,.modal input,.modal select,.filters input,.filters select,.settings select{border:1px solid var(--line);padding:13px;border-radius:10px;background:#fff;outline:0;color:var(--ink)}input:focus,select:focus{border-color:var(--lime-dark)}.primary-btn{background:var(--ink);color:var(--lime)}.primary-btn:hover{background:#273247;transform:translateY(-1px)}.full{width:100%;margin-top:10px}.switch-auth{text-align:center;margin-top:22px;font-size:13px;color:var(--muted)}.switch-auth button,.link-btn{background:none;color:#6b9129;font-weight:700}.auth-foot{position:absolute;bottom:24px;color:#a0a99b;font-size:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:242px;background:var(--ink);color:#fff;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:800;padding:0 12px 42px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{background:transparent;color:#aeb8c7;text-align:left;border-radius:10px;padding:13px 12px;display:flex;align-items:center;gap:13px}.sidebar nav button span{font-size:20px;width:22px;text-align:center}.sidebar nav button.active,.sidebar nav button:hover{background:#273247;color:#fff}.sidebar nav b{margin-left:auto;background:#39465c;color:#c5f36b;padding:3px 8px;border-radius:9px;font-size:11px}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;align-items:center;gap:9px;padding:16px 8px;border-top:1px solid #303b4e}.user-chip strong{display:block;font-size:12px}.user-chip small{display:block;color:#8f9cae;font-size:10px;margin-top:3px}.user-chip>span{margin-left:auto;color:#8f9cae}.avatar{width:36px;height:36px;background:var(--lime);color:var(--ink);display:grid;place-items:center;border-radius:50%;font-weight:800}.avatar.small{width:29px;height:29px;font-size:12px}.logout{background:none;color:#8793a6;font-size:12px;padding:8px}.main-content{max-width:1180px;width:100%;padding:38px 6%;margin:0 auto}.topbar{display:flex;align-items:start;justify-content:space-between;margin-bottom:38px}.topbar h2{font-size:31px;margin-top:7px}.top-actions{display:flex;align-items:center;gap:18px}.icon-btn{background:none;font-size:21px;position:relative}.icon-btn i{position:absolute;background:var(--red);width:6px;height:6px;border-radius:50%;top:1px;right:1px}.profile-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:5px 10px 5px 5px;font-size:12px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.balance-card{background:var(--ink);border-radius:var(--radius);padding:28px;color:#fff;min-height:260px}.balance-card .card-label{color:#8994a4}.balance-card .card-label button{float:right;background:none;color:#9ba8b9}.balance{font-family:Manrope;font-size:38px;margin:17px 0 4px}.balance-meta{font-size:12px;color:#8994a4}.positive{color:var(--green)!important}.balance-lines{display:flex;gap:38px;margin-top:52px}.balance-lines div{display:grid;gap:6px}.balance-lines span{font-size:11px;color:#8994a4}.balance-lines strong{font-size:14px}.mini-chart-card{background:#fff;border-radius:var(--radius);padding:25px;border:1px solid var(--line)}.card-head{display:flex;justify-content:space-between;align-items:start}.card-head h3{font-size:18px;margin-top:7px}.card-head select{border:0;background:var(--canvas);font-size:11px;padding:8px;border-radius:8px;color:var(--muted)}.chart{height:130px;display:flex;align-items:end;justify-content:space-around;padding:22px 6px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0,transparent 37px,#eef1eb 38px)}.bar-wrap{height:100%;display:flex;align-items:end;gap:4px;position:relative}.bar{width:13px;background:var(--lime);border-radius:5px 5px 0 0;min-height:10px}.bar-wrap:nth-child(even) .bar{background:#9cd776}.bar-wrap span{position:absolute;top:140px;font-size:9px;color:#9ca799}.chart-legend{display:flex;gap:20px;margin-top:31px;font-size:10px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.income-dot{background:var(--lime-dark)}.expense-dot{background:#e4eadf}.section-row{display:flex;justify-content:space-between;align-items:end;margin:48px 0 18px}.section-row h3{font-size:22px;margin-top:7px}.link-btn{font-size:12px}.link-btn span{font-size:17px;margin-left:5px}.transaction-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.transaction{display:flex;align-items:center;padding:15px 18px;border-bottom:1px solid #f0f2ed;gap:13px}.transaction:last-child{border-bottom:0}.category-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf5de;color:#79a034;font-size:19px}.category-icon.income{background:#e7f4eb;color:var(--green)}.transaction-info{display:grid;gap:5px;flex:1}.transaction-info strong{font-size:13px}.transaction-info span{font-size:11px;color:#929d90}.transaction strong.income{color:var(--green);font-size:13px}.transaction strong.expense{color:var(--red);font-size:13px}.add-cta{background:var(--lime);margin-top:16px;border-radius:12px;padding:14px;width:100%;font-weight:700;color:#263215}.add-cta span{font-size:21px;vertical-align:-2px;margin-right:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-pills{background:#ebeee8;padding:4px;border-radius:11px;display:flex;gap:3px}.filter-pills button{padding:9px 14px;border-radius:8px;background:none;color:var(--muted);font-size:12px}.filter-pills button.selected{background:#fff;color:var(--ink);box-shadow:0 2px 5px #0000000b;font-weight:700}.filters{display:grid;grid-template-columns:180px 1fr 220px;gap:10px;margin-bottom:18px}.full-list .more{background:none;color:#9da69b}.empty{text-align:center;padding:40px;color:var(--muted);font-size:13px}.insight-banner{background:var(--ink);color:#fff;border-radius:var(--radius);padding:30px;display:flex;justify-content:space-between;align-items:center}.insight-banner h3{font-size:25px;margin:8px 0}.insight-banner p{color:#aeb8c7;font-size:13px}.insight-symbol{font-size:52px;color:var(--lime);padding:20px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.stat-card,.settings-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-family:Manrope;font-size:21px;margin:18px 0 5px}.stat-card b{font-size:13px;color:var(--red)}.settings{max-width:760px;display:grid;gap:16px}.settings-title{display:flex;align-items:center;gap:14px}.avatar.large{width:52px;height:52px}.settings-title h3{font-size:18px}.settings-title p{font-size:12px;color:var(--muted);margin-top:4px}.settings-title .outline-btn{margin-left:auto}.outline-btn{background:#fff;border:1px solid var(--line);color:var(--ink);font-size:12px}.settings-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:13px}.setting-row small{font-size:11px;color:var(--muted);margin-top:5px}.setting-row input[type=checkbox]{display:none}.toggle{width:37px;height:22px;background:#dce2d8;border-radius:20px;position:relative}.toggle:after{content:'';position:absolute;width:16px;height:16px;background:#fff;left:3px;top:3px;border-radius:50%;transition:.2s}.setting-row input:checked+.toggle{background:var(--lime-dark)}.setting-row input:checked+.toggle:after{left:18px}.setting-row select{width:160px;padding:8px;font-size:11px}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#10182799;display:grid;place-items:center;padding:20px;z-index:4}.modal{width:min(500px,100%);background:#fff;border-radius:22px;padding:30px;position:relative;box-shadow:0 30px 80px #0004}.modal h2{font-size:25px;margin:8px 0 20px}.close{position:absolute;right:20px;top:16px;background:none;font-size:25px;color:var(--muted)}.type-switch{display:flex;background:#f0f2ed;padding:4px;border-radius:10px}.type-switch button{flex:1;padding:9px;border-radius:7px;background:none;color:var(--muted);font-size:12px}.type-switch button.selected{background:#fff;color:var(--ink);font-weight:700}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capture-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.capture-btn{border:1px dashed #cbd8bc;background:#f9fcf5;border-radius:10px;padding:12px;color:#65852d;font-size:18px}.capture-btn span{font-size:11px;margin-left:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:13px 18px;border-radius:11px;font-size:12px;z-index:5;box-shadow:0 12px 30px #0003}
@media(max-width:800px){.sidebar{display:none}.main-content{padding:28px 18px 100px}.topbar{margin-bottom:28px}.topbar h2{font-size:25px}.greeting{font-size:9px}.hero-grid{grid-template-columns:1fr}.balance-card{min-height:225px}.balance-lines{margin-top:35px}.chart{height:120px}.insight-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1;grid-row:1}.toolbar{gap:10px}.toolbar .primary-btn{font-size:11px;padding:11px 10px}.filter-pills button{padding:9px 8px}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);height:70px;z-index:3;justify-content:space-around}.mobile-nav button{background:none;color:#9aa498;display:grid;place-items:center;font-size:20px;width:20%}.mobile-nav button.active{color:var(--ink)}.mobile-nav small{font-size:9px;margin-top:2px}.mobile-add{background:var(--ink)!important;color:var(--lime)!important;width:46px!important;height:46px;border-radius:50%;margin-top:-22px;font-size:28px!important;box-shadow:0 8px 20px #11182744}.auth-brand{left:24px;top:24px}.auth-card{padding:27px}.auth-card h1{font-size:27px}.auth-foot{bottom:12px}.desktop-only{display:none}.section-row{margin-top:36px}.transaction{padding:13px 12px}.transaction-info strong{font-size:12px}.transaction strong{font-size:12px!important}.settings-title .outline-btn{font-size:10px}.setting-row small{max-width:220px;line-height:1.4}.two-cols{grid-template-columns:1fr}.capture-row{grid-template-columns:1fr 1fr}.modal{padding:25px}}
[v-cloak]{display:none}
