:root{--black:#0a0a0a;--black-2:#131313;--black-3:#1b1b1b;--gold:#c9a15a;--gold-bright:#e8c77e;--gold-dim:#8a7140;--line:#2a2620;--text:#f2ede2;--text-dim:#a89f8e;--ok:#5fae7d;--warn:#d1a13c;--err:#c25b4f;--radius:16px;--radius-sm:10px;--maxw:480px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--black);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app,body{min-height:100vh}.app{max-width:var(--maxw);margin:0 auto;background:linear-gradient(180deg,#0d0d0c,#0a0a0a);position:relative;padding-bottom:88px;border-left:1px solid var(--line);border-right:1px solid var(--line)}@media(min-width:520px){.app{margin-top:24px;min-height:calc(100vh - 48px);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}}.topbar{justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20;background:hsla(0,0%,4%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px}.brand .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--gold-bright),var(--gold-dim));display:flex;align-items:center;justify-content:center;font-weight:800;color:#161208;font-size:14px;letter-spacing:.5px}.brand .name{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.brand .name b{color:var(--gold-bright);font-weight:600}.topbar .actions{display:flex;gap:10px}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--black-2);display:flex;align-items:center;justify-content:center;color:var(--text-dim);position:relative;font-size:15px;cursor:pointer}.icon-btn .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 0 2px var(--black-2)}.page-title{padding:20px 20px 4px}.page-title h1{font-size:22px;margin:0 0 2px;font-weight:600;letter-spacing:-.01em}.page-title p{margin:0;color:var(--text-dim);font-size:13px}.eyebrow{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:6px;display:block}.section{padding:18px 20px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:14px;margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.section-head a{font-size:12px;color:var(--gold);text-decoration:none}.card{background:var(--black-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card+.card{margin-top:10px}.balance-hero{margin:12px 20px 0;padding:24px 20px;border-radius:20px;background:radial-gradient(120% 140% at 100% 0,rgba(201,161,90,.18),transparent 60%),linear-gradient(160deg,#151412,#0d0c0a);border:1px solid var(--line);position:relative;overflow:hidden}.balance-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(201,161,90,.04) 0 2px,transparent 2px 26px);pointer-events:none}.balance-hero .label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.balance-hero .amount{font-size:40px;font-weight:700;margin:8px 0 2px;letter-spacing:-.02em}.balance-hero .amount .unit{font-size:18px;color:var(--gold);font-weight:500;margin-left:4px}.balance-hero .sub{font-size:12.5px;color:var(--text-dim)}.toggle-pill{display:inline-flex;background:var(--black-3);border:1px solid var(--line);border-radius:999px;padding:3px;margin-top:14px;gap:2px}.toggle-pill button{border:none;background:transparent;color:var(--text-dim);font-size:12px;padding:7px 14px;border-radius:999px;font-weight:600;cursor:pointer}.toggle-pill button.active{background:var(--gold);color:#191507}.hero-stats{display:flex;gap:10px;margin-top:16px}.hero-stat{flex:1 1;background:hsla(0,0%,100%,.03);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.hero-stat .n{font-size:16px;font-weight:700}.hero-stat .n.pos{color:var(--ok)}.hero-stat .n.neg{color:var(--err)}.hero-stat .l{font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 18px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none;width:100%}.btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#171307}.btn-outline{background:transparent;color:var(--text)}.btn-ghost,.btn-outline{border-color:var(--line)}.btn-ghost{background:var(--black-3);color:var(--text-dim)}.btn-sm{padding:9px 14px;font-size:12.5px;width:auto}.btn-danger{background:transparent;border-color:rgba(194,91,79,.4);color:var(--err)}.btn-row{display:flex;gap:10px}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.avatar{width:40px;height:40px;border-radius:50%;flex:none;background:linear-gradient(135deg,#2a2620,#1b1915);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--gold-bright);border:1px solid var(--line)}.row-body{flex:1 1;min-width:0}.row-title{font-size:13.5px;font-weight:600}.row-sub{font-size:12px;color:var(--text-dim);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-amount{font-size:13.5px;font-weight:700;text-align:right;flex:none}.row-amount.pos{color:var(--ok)}.row-amount.neg{color:var(--err)}.row-meta{font-size:10.5px;color:var(--text-dim);margin-top:2px;text-align:right}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 9px;border-radius:999px}.badge-pending{background:rgba(209,161,60,.14);color:var(--warn)}.badge-confirmed{background:rgba(95,174,125,.14);color:var(--ok)}.badge-declined{background:rgba(194,91,79,.14);color:var(--err)}.badge-you{background:rgba(201,161,90,.14);color:var(--gold)}.badge-device{background:hsla(0,0%,100%,.06);color:var(--text-dim)}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--maxw);background:rgba(12,12,11,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;padding:10px 6px calc(10px + env(safe-area-inset-bottom));z-index:30}@media(min-width:520px){.bottomnav{position:absolute}}.navitem{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-dim);text-decoration:none;font-size:10px;flex:1 1;letter-spacing:.02em}.navitem .ic{font-size:18px}.navitem.active{color:var(--gold-bright)}.navitem .fab{width:46px;height:46px;border-radius:50%;margin-top:-26px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));display:flex;align-items:center;justify-content:center;font-size:22px;color:#171307;box-shadow:0 8px 20px rgba(201,161,90,.35);border:3px solid var(--black)}.chiprow{display:flex;gap:8px;overflow-x:auto;padding:2px 20px 14px;scrollbar-width:none}.chiprow::-webkit-scrollbar{display:none}.chip{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--black-2);color:var(--text-dim);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.chip.active{background:var(--gold);color:#171307;border-color:var(--gold)}.cat-item{display:flex;gap:12px;align-items:flex-start}.cat-thumb{width:56px;height:56px;border-radius:12px;flex:none;background:linear-gradient(135deg,#22201a,#151412);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px}.cat-body{flex:1 1;min-width:0}.cat-title{font-size:14px;font-weight:600}.cat-desc{font-size:12px;color:var(--text-dim);margin-top:2px;line-height:1.4}.cat-meta{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.tag{font-size:10.5px;color:var(--text-dim);background:var(--black-3);border:1px solid var(--line);padding:3px 8px;border-radius:6px}.cat-value{font-size:14px;font-weight:700;color:var(--gold-bright);flex:none;text-align:right}.field{margin-bottom:16px}.field label{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:7px;font-weight:600}.field input[type=number],.field input[type=text],.field select,.field textarea{width:100%;background:var(--black-3);border:1px solid var(--line);border-radius:10px;padding:12px 13px;color:var(--text);font-size:14px;font-family:inherit}.field textarea{resize:vertical;min-height:70px}.field .hint{font-size:11px;color:var(--text-dim);margin-top:6px}.field-row{display:flex;gap:10px}.field-row .field{flex:1 1}.swap-side{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--black-2)}.swap-side .who{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700;margin-bottom:8px}.swap-arrow{justify-content:center;margin:10px 0;color:var(--gold);font-size:20px}.picker,.swap-arrow{display:flex;align-items:center}.picker{gap:10px;background:var(--black-3);border:1px dashed var(--line);border-radius:10px;padding:12px;color:var(--text-dim);font-size:13px;cursor:pointer}.picker.filled{border-style:solid;color:var(--text)}.picker .plus{width:26px;height:26px;border-radius:50%;background:var(--black-2);border:1px solid var(--line);justify-content:center;flex:none;color:var(--gold)}.picker .plus,.stepper{display:flex;align-items:center}.stepper{gap:4px;margin:6px 0 4px}.step{flex:1 1;height:4px;border-radius:4px;background:var(--line)}.step.done{background:var(--gold)}.step.active{background:var(--gold-bright)}.empty-note{text-align:center;color:var(--text-dim);font-size:12.5px;padding:30px 10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;color:var(--text-dim);text-transform:uppercase;font-size:10.5px;letter-spacing:.06em}td,th{padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}tr:hover td{background:hsla(0,0%,100%,.02)}.sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;z-index:40}.sheet{width:100%;max-width:var(--maxw);background:var(--black-2);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:22px 20px 26px}.sheet .handle{width:36px;height:4px;background:var(--line);border-radius:4px;margin:0 auto 16px}.locked-note{display:flex;gap:10px;align-items:flex-start;background:rgba(201,161,90,.06);border:1px solid rgba(201,161,90,.2);border-radius:12px;padding:12px 14px;font-size:12px;color:var(--text-dim)}.locked-note b{color:var(--gold-bright)}a{color:inherit}.link-quiet{color:var(--text-dim);text-decoration:none;font-size:12.5px}.screen-frame-label{text-align:center;color:#555;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 0 0}.loading{padding:40px;text-align:center;color:var(--text-dim);font-size:13px}.field select{cursor:pointer}.err-msg{color:var(--err)}.err-msg,.ok-msg{font-size:12.5px;margin-top:8px}.ok-msg{color:var(--ok)}.login-card{margin:60px 20px 0}.login-card h1{font-size:20px;margin:0 0 4px}.person-pick{display:flex;flex-direction:column;gap:8px;margin:16px 0}.person-pick button{display:flex;align-items:center;gap:10px;text-align:left;background:var(--black-3);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--text);cursor:pointer;font-size:13.5px}.person-pick button.active{border-color:var(--gold)}