:root{--bg:#0a0a0a;--surface:#1c1c1c;--border:#2e2e2e;--text:#f5f5f0;--muted:#888;--accent:#00ff87;--accent-fg:#0a0a0a;--input-bg:#2e2e2e}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Barlow,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}.app,body{min-height:100vh}.app{max-width:480px;margin:0 auto;display:flex;flex-direction:column}.hdr{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:10;transition:background .2s}.hdr,.hdr-logo{display:flex;align-items:center}.hdr-logo{gap:10px}.hdr-wordmark{display:flex;flex-direction:column}.hdr-title{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:900;letter-spacing:-.5px;color:var(--text);line-height:1}.hdr-sub{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.3px;margin-top:1px}.theme-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--muted);display:flex;align-items:center;transition:all .15s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav{display:flex;background:var(--surface);border-bottom:1px solid var(--border);transition:background .2s}.tab{flex:1 1;padding:12px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;transition:all .15s;font-family:Barlow,sans-serif;letter-spacing:.2px}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.content{flex:1 1;padding:20px;overflow-y:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:24px}.sc{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 14px;transition:background .2s}.sl{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.sl,.sv{font-family:Barlow Condensed,sans-serif}.sv{font-size:18px;font-weight:700;letter-spacing:-.5px}.sv.g{color:#00ff87}.sv.a{color:#ffb800}.sv.r{color:#f44}.sh{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-family:Barlow Condensed,sans-serif}.list{display:flex;flex-direction:column;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;transition:background .2s}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.inv-num{font-size:12px;color:var(--muted);margin-bottom:4px;letter-spacing:.5px;font-weight:600}.inv-client,.inv-num{font-family:Barlow Condensed,sans-serif}.inv-client{font-size:18px;font-weight:700;letter-spacing:-.2px;cursor:pointer}.inv-client:hover{color:var(--accent)}.inv-amt{font-size:22px;font-weight:900;letter-spacing:-1px;color:var(--text)}.badge,.inv-amt{font-family:Barlow Condensed,sans-serif}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;margin-top:5px;letter-spacing:.5px;text-transform:uppercase}.dot{width:5px;height:5px;border-radius:50%}.card-bot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px}.due{font-size:13px;color:var(--muted)}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.btn-view{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;font-family:Barlow,sans-serif;text-decoration:none;display:inline-block;transition:all .15s}.btn-view:hover{border-color:var(--accent);color:var(--accent)}.btn-paid{background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:Barlow,sans-serif;transition:opacity .15s;letter-spacing:.2px}.btn-paid:hover{opacity:.88}.btn-paid:disabled{opacity:.5;cursor:not-allowed}.paid-dt{font-size:12px;color:#00ff87}.back,.paid-dt{font-weight:600}.back{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;font-family:Barlow,sans-serif}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty-icon{font-size:40px;margin-bottom:12px}.empty-ttl{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px;font-family:Barlow Condensed,sans-serif}.fs{margin-bottom:20px}.fl{display:block;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-family:Barlow Condensed,sans-serif}.fl,.fl span{font-size:11px;color:var(--muted)}.fl span{font-weight:400;text-transform:none;letter-spacing:0}.fi{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:15px;font-family:Barlow,sans-serif;color:var(--text);outline:none;transition:border-color .15s}.fi:focus{border-color:var(--accent)}.fi::placeholder{color:var(--muted)}.li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.li,.li-desc{margin-bottom:10px}.li-row{display:grid;grid-template-columns:1fr 1fr auto auto;grid-gap:8px;gap:8px;align-items:center}.li-input{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:14px;font-family:Barlow,sans-serif;color:var(--text);outline:none;width:100%;transition:border-color .15s}.li-input:focus{border-color:var(--accent)}.li-pfx{position:relative}.li-pfx span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}.li-pfx input{padding-left:22px}.li-amt{font-size:13px;font-weight:700;white-space:nowrap;font-family:Barlow Condensed,sans-serif;color:var(--text)}.btn-rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px;transition:color .15s}.btn-rm:hover{color:#f44}.btn-add{width:100%;background:none;border:1.5px dashed var(--border);border-radius:12px;padding:12px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;font-family:Barlow,sans-serif;transition:all .15s;margin-bottom:24px}.btn-add:hover{border-color:var(--accent);color:var(--accent)}.tot-bar{background:var(--accent);border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tot-lbl{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.tot-amt,.tot-lbl{color:var(--accent-fg);font-family:Barlow Condensed,sans-serif}.tot-amt{font-size:26px;font-weight:900;letter-spacing:-1px}.btn-sub{width:100%;background:var(--accent);color:var(--accent-fg);border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;font-family:Barlow Condensed,sans-serif;letter-spacing:.5px;transition:opacity .15s,transform .1s}.btn-sub:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-sub:disabled{opacity:.6;cursor:not-allowed}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:48px auto;display:block}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--surface);color:var(--text);border:1px solid var(--border);padding:12px 20px;border-radius:30px;font-size:13px;font-weight:600;box-shadow:0 4px 24px rgba(0,0,0,.3);z-index:100;white-space:nowrap;animation:su .2s ease}.toast.error{background:#f44;color:#fff;border-color:#f44}@keyframes su{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.cli-hdr{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:12px;transition:background .2s}.cli-name{font-size:22px;font-weight:900;letter-spacing:-.5px;margin-bottom:4px;font-family:Barlow Condensed,sans-serif;color:var(--text)}.cli-meta{font-size:13px;color:var(--muted);margin-bottom:10px}.notes-area{width:100%;min-height:90px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;font-family:Barlow,sans-serif;color:var(--text);resize:vertical;outline:none;margin-bottom:8px;display:block;transition:border-color .15s}.notes-area:focus{border-color:var(--accent)}.checkbox-row{display:flex;align-items:center;gap:10px;margin-bottom:20px}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.checkbox-row label{font-size:14px;color:var(--text);cursor:pointer;font-family:Barlow,sans-serif}