@import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap";:root{--bg: #0f0f11;--bg2: #18181c;--bg3: #22222a;--bg4: #2c2c36;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.13);--text: #f0f0ec;--text2: #a0a09a;--text3: #565656;--blue: #4a9eff;--blue-dim: rgba(74,158,255,.12);--green: #4ade80;--green-dim: rgba(74,222,128,.12);--red: #f87171;--red-dim: rgba(248,113,113,.12);--yellow: #fbbf24;--yellow-dim: rgba(251,191,36,.12);--purple: #a78bfa;--purple-dim: rgba(167,139,250,.12);--radius: 10px;--radius-sm: 6px;--header-h: 52px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:var(--bg2);border-bottom:.5px solid var(--border2);display:flex;align-items:center;gap:20px;padding:0 20px}.app-logo{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.app-logo em{font-style:normal;color:var(--text2);font-weight:300}.app-nav{display:flex;gap:2px;flex:1;overflow-x:auto}.app-nav a{padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text2);text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.app-nav a:hover,.app-nav a.active{color:var(--text);background:var(--bg3)}.logout-btn{background:none;border:.5px solid var(--border2);border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;color:var(--text3);cursor:pointer;transition:color .12s}.logout-btn:hover{color:var(--text2)}.app-main{max-width:1200px;margin:0 auto;padding:20px 20px 80px}.stat-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.stat-card{flex:1;min-width:130px;background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:12px 16px}.stat-label{font-size:11px;color:var(--text2);margin-bottom:4px}.stat-val{font-size:22px;font-weight:600;letter-spacing:-.02em;font-family:DM Mono,monospace}.stat-sub{font-size:11px;color:var(--text3);margin-top:2px}.alert-bar{background:var(--red-dim);border:.5px solid rgba(248,113,113,.3);border-radius:var(--radius);padding:10px 14px;font-size:12px;color:#fca5a5;margin-bottom:16px;line-height:1.6}.panel{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.panel-title{font-size:11px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em}.panel-summary{font-size:13px;font-weight:500}.section-row{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-bottom:.5px solid var(--border);gap:8px}.section-row:last-child{border-bottom:none}.row-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.row-name{font-size:13px;font-weight:500}.row-meta{font-size:11px;color:var(--text2)}.row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.row-amount{font-size:13px;font-weight:500;text-align:right;min-width:72px;font-family:DM Mono,monospace}.badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:500}.badge-auto{background:var(--green-dim);color:var(--green)}.badge-manual{background:var(--yellow-dim);color:var(--yellow)}.badge-alert{background:var(--red-dim);color:var(--red)}.badge-apr{background:var(--bg3);color:var(--text2)}.badge-info{background:var(--blue-dim);color:var(--blue)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:.5px solid var(--border);background:none;cursor:pointer;color:var(--text2);font-size:12px;text-decoration:none;flex-shrink:0;transition:background .1s}.icon-btn:hover{background:var(--bg3)}.subhead{padding:5px 16px;background:var(--bg3);font-size:10px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;border-bottom:.5px solid var(--border)}.widget{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:14px 16px}.widget-title{font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.mono{font-family:DM Mono,monospace}.pin-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.pin-card{background:var(--bg2);border:.5px solid var(--border2);border-radius:16px;padding:40px;width:320px;text-align:center}.pin-title{font-size:18px;font-weight:500;margin-bottom:6px}.pin-sub{font-size:13px;color:var(--text2);margin-bottom:24px}.pin-dots{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.pin-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--border2);background:transparent;transition:all .15s}.pin-dot.filled{background:var(--blue);border-color:var(--blue)}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-key{background:var(--bg3);border:.5px solid var(--border);border-radius:10px;padding:16px;font-size:18px;font-weight:500;cursor:pointer;color:var(--text);transition:background .1s;font-family:DM Mono,monospace}.pin-key:hover{background:var(--bg4)}.pin-error{color:var(--red);font-size:12px;margin-top:12px;height:16px}.extra-buttons{display:flex;gap:6px;flex-wrap:wrap}.extra-btn{padding:6px 14px;border-radius:var(--radius-sm);border:.5px solid var(--border);background:var(--bg2);color:var(--text2);font-size:12px;cursor:pointer;transition:all .15s}.extra-btn:hover{background:var(--bg3)}.extra-btn.active{background:var(--blue-dim);border-color:var(--blue);color:var(--blue)}.priority-card{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:14px}.priority-num{width:28px;height:28px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text2);flex-shrink:0}.priority-num.top{background:var(--red-dim);color:var(--red)}.priority-info{flex:1;min-width:0}.priority-name{font-size:13px;font-weight:500;margin-bottom:3px}.priority-meta{font-size:11px;color:var(--text2)}.priority-right{text-align:right;flex-shrink:0}.priority-bal{font-size:14px;font-weight:600;font-family:DM Mono,monospace}.priority-pay{font-size:11px;color:var(--text2);margin-top:2px}.progress-bar{height:4px;background:var(--bg3);border-radius:2px;margin-top:8px;overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:var(--blue)}.payoff-box{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center}.payoff-box.highlighted{border-color:var(--blue);background:var(--blue-dim)}.payoff-extra{font-size:11px;color:var(--text2);margin-bottom:6px}.payoff-time{font-size:18px;font-weight:700;font-family:DM Mono,monospace}.payoff-interest{font-size:10px;color:var(--text3);margin-top:4px}.payoff-saved{font-size:10px;color:var(--green);margin-top:2px}.connect-card{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:16px}.connect-btn{background:var(--blue);color:#000;border:none;border-radius:var(--radius-sm);padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.connect-btn:hover{opacity:.85}.connect-btn:disabled{opacity:.4;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dow{text-align:center;font-size:10px;font-weight:500;color:var(--text3);padding:6px 0;text-transform:uppercase}.cal-cell{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius-sm);min-height:90px;padding:6px;position:relative}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell.today{border-color:var(--blue)}.cal-day-num{font-size:11px;font-weight:500;color:var(--text2);margin-bottom:4px}.cal-cell.today .cal-day-num{color:var(--blue);font-weight:700}.cal-event{font-size:9.5px;padding:2px 5px;border-radius:3px;margin-bottom:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.income{background:var(--green-dim);color:var(--green)}.cal-event.bill{background:var(--red-dim);color:#fca5a5}.cal-event.bill-auto{background:var(--blue-dim);color:var(--blue)}.tx-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:.5px solid var(--border)}.tx-row:last-child{border-bottom:none}.tx-date{font-size:11px;color:var(--text3);width:50px;flex-shrink:0}.tx-name{flex:1;font-size:13px}.tx-cat{font-size:11px;color:var(--text2)}.tx-amount{font-family:DM Mono,monospace;font-size:13px;font-weight:500;text-align:right;min-width:72px}@media (max-width: 640px){.app-main{padding:12px 12px 80px}.stat-card{min-width:120px}.stat-val{font-size:18px}.cal-cell{min-height:64px}.cal-event{font-size:8.5px}.app-nav{gap:0}.app-nav a{padding:5px 8px;font-size:11px}.priority-card{flex-wrap:wrap}}
