
:root{color-scheme:dark;--bg:#0b1017;--panel:#161f2b;--panel2:#1d2936;--line:#2f3b49;--muted:#a5b0bd;--text:#f5f5f2;--gold:#e8bd65;--good:#68d0a1;--warning:#eeb977;--danger:#f28d86;--radius:18px}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{background:var(--bg);color:var(--text);margin:0;min-height:100vh;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}a{color:var(--gold)}.shell{margin:0 auto;max-width:1000px;padding:env(safe-area-inset-top) 16px calc(98px + env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:center;padding:20px 0 16px}.brand{display:flex;align-items:center;gap:12px}.logo{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#9b7640,#f8d990 65%,#6a4e29);display:grid;place-items:center;color:#15191b;font-size:25px;font-weight:900;box-shadow:0 0 25px #b38f4033}.brand strong{display:block;letter-spacing:.05em;font-size:17px}.brand small{color:var(--muted)}.free-tag{color:var(--good);border:1px solid #376553;background:#183429;padding:5px 10px;border-radius:20px;font-weight:750;font-size:12px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:750}.hero{background:radial-gradient(circle at 90% 10%,#5c493333,transparent 60%),linear-gradient(135deg,#202c37,#131b24);border:1px solid #4b463a;border-radius:24px;padding:23px;margin-bottom:18px}.hero h1{font-size:29px;line-height:1.18;margin:5px 0 7px;letter-spacing:-.04em}.sub{color:var(--muted);font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.stat{background:#0d151d99;border:1px solid #42484a;border-radius:14px;padding:12px 10px}.stat .num{font-size:20px;font-weight:800;letter-spacing:-.025em}.stat .lab{color:var(--muted);font-size:11px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:17px;margin:13px 0}.card-head,.item-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.card h2,.view h2{font-size:19px;letter-spacing:-.02em;margin:0}.card h3{margin:0;font-size:16px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 9px}.sectiontitle h2{margin:0;font-size:19px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.divider{height:1px;background:var(--line);margin:14px 0}.tiny{font-size:12px}.muted{color:var(--muted)}.good{color:var(--good)}.warn{color:var(--warning)}.bad{color:var(--danger)}.pill{padding:4px 9px;background:#233240;color:#cbd5df;border:1px solid #3c4c5a;border-radius:20px;font-size:11px;font-weight:750;white-space:nowrap}.pill.good{color:var(--good);border-color:#376553;background:#193329}.pill.bad{color:var(--danger);border-color:#633b43;background:#342026}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 16px;border:1px solid #6b5837;background:var(--gold);color:#171716;font-weight:800;min-height:44px}.button.secondary{border:1px solid #536276;background:#253241;color:var(--text)}.button.ghost{border:1px solid var(--line);background:transparent;color:var(--text)}.button.danger{background:#542c34;color:#ffe3e1;border-color:#78434a}.button.sm{padding:7px 11px;min-height:34px;font-size:12px}.button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{background:#263225;border-left:3px solid var(--gold);padding:12px;border-radius:7px;margin-top:12px;font-size:13px}.bill{padding:14px 0;border-bottom:1px solid var(--line)}.bill:last-child{border-bottom:0}.bill h3{font-size:15px;margin:0}.bill .amount{font-size:19px;font-weight:800}.bill .details{font-size:12px;color:var(--muted);margin:4px 0}.bill .actions{margin-top:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.full{grid-column:1/-1}.field label{display:block;font-size:12px;color:#cbd2d9;margin-bottom:5px;font-weight:650}.field input,.field select,.field textarea{display:block;width:100%;padding:12px;background:#0c141d;border:1px solid #556173;border-radius:11px;color:var(--text);min-height:44px}.field textarea{min-height:86px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8593a2}.field input[type="checkbox"]{display:inline;width:auto;min-height:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tabbar{display:flex;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;background:#111b25f5;backdrop-filter:blur(16px);border-top:1px solid #354454;padding:9px 8px calc(9px + env(safe-area-inset-bottom));z-index:20}.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;background:transparent;color:#95a4b3;border:0;padding:5px 1px;font-size:11px;min-height:56px}.tabbar button .ico{font-size:22px;line-height:1}.tabbar button.active{color:var(--gold);font-weight:800}.view[hidden],.overlay[hidden],.toast[hidden]{display:none!important}.chatlog{max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:10px;margin:13px 0;padding-bottom:8px}.bubble{max-width:94%;padding:12px 14px;border-radius:17px;background:#283443;align-self:flex-start;white-space:pre-wrap}.bubble.me{background:#59492f;color:#fff;align-self:flex-end}.bubmeta{font-size:11px;color:#c9d0d5;opacity:.7;margin-bottom:4px}.chatcompose{display:flex;gap:8px}.chatcompose textarea{flex:1;min-height:47px;max-height:110px;resize:vertical;border:1px solid #4c5c6b;border-radius:12px;padding:12px;color:var(--text);background:#0f1720}.suggestions{display:flex;flex-wrap:wrap;gap:8px}.suggestions button{border:1px solid #506070;background:#23303e;color:#eff4f9;border-radius:18px;padding:7px 10px;font-size:12px}.progress{height:10px;border-radius:9px;background:#34404f;overflow:hidden}.progress div{background:linear-gradient(90deg,#8d7952,var(--gold));height:100%;border-radius:9px}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000b;z-index:40;padding:12px}.modal{background:#1a2632;border:1px solid #5a6772;border-radius:20px;width:min(100%,530px);max-height:90dvh;overflow:auto;padding:20px}.modal header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.modal h2{margin:0;font-size:20px}.modal pre{overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:220px;background:#101922;padding:12px;border-radius:8px;font-size:12px}.toast{position:fixed;left:18px;right:18px;bottom:90px;max-width:520px;margin:auto;background:#314333;border:1px solid #668975;color:#fff;border-radius:12px;padding:13px;z-index:60;box-shadow:0 5px 30px #0008}.empty{text-align:center;color:#c4ced7;padding:27px 13px;border:1px dashed #586372;border-radius:16px}.empty .big{font-size:33px}.subtitle{font-size:12px;color:var(--muted)}.debt{padding:13px 0;border-bottom:1px solid var(--line)}.debt:last-child{border-bottom:0}.callout{padding:12px;border:1px solid #516453;background:#213026;border-radius:12px;font-size:13px}.dangertext{color:var(--danger)}@media(min-width:750px){.shell{padding-bottom:90px}.tabbar{left:50%;transform:translateX(-50%);max-width:960px;border:1px solid var(--line);border-radius:18px 18px 0 0}.hero h1{font-size:38px}.stat .num{font-size:26px}.layout2{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.layout2 .card{align-self:start}}@media(max-width:370px){.stat-grid{gap:6px}.stat{padding:9px 6px}.stat .num{font-size:17px}.formgrid{grid-template-columns:1fr}.hero{padding:17px}.shell{padding-left:10px;padding-right:10px}}

/* Private vault UI */
body.vault-locked .shell, body.vault-locked .tabbar, body.vault-locked .overlay, body.vault-locked .toast {visibility:hidden!important;pointer-events:none!important}
.lockscreen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:16px 12px;background:linear-gradient(145deg,#0b1017,#171e27);padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
.lockscreen[hidden]{display:none!important}.lock-card{width:min(440px,100%);padding:24px 22px;background:#161f2b;border:1px solid #4d504a;border-radius:24px;box-shadow:0 18px 55px #0007}
.lock-card h1{font-size:27px;margin:10px 0 7px}.lock-card h2{font-size:20px}.lock-card p{line-height:1.4}.lock-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#9a723f,#f7d584);color:#121617;font-weight:900;font-size:29px;margin-bottom:14px}.lock-card label{display:block;font-size:13px;font-weight:650;margin:12px 0 5px}.lock-card input{display:block;width:100%;padding:12px;background:#0c141d;border:1px solid #576476;border-radius:10px;color:#fff;min-height:48px}.full-button{width:100%;margin-top:16px}.security-status{font-size:12px;color:#b9c6d2;margin:15px 0}.security-status:empty{display:none}
