:root,:root[data-theme=dark]{--bg:#0a0c12;--bg-2:#0f131d;--panel:#141926;--panel-2:#181e2e;--border:#262d40;--border-soft:#1e2434;--text:#e8eaf3;--text-dim:#99a2ba;--text-mute:#626b85;--accent:#818cf8;--accent-strong:#a5b0ff;--accent-ink:#0b1020;--accent-soft:#818cf824;--accent-glow:#818cf852;--pos:#34d399;--neg:#f2777c;--danger:#f26d72;--warn:#f5a524;--chart-grid:#232a3b;--chart-expense:#3c435a;--shadow:0 10px 34px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f6fb;--bg-2:#eceef6;--panel:#fff;--panel-2:#fbfbff;--border:#e1e4ef;--border-soft:#eaecf4;--text:#191d2b;--text-dim:#5a6379;--text-mute:#8a92a7;--accent:#5a63d8;--accent-strong:#4a52c8;--accent-ink:#fff;--accent-soft:#5a63d81f;--accent-glow:#5a63d838;--pos:#059669;--neg:#dc2626;--danger:#dc2626;--warn:#b45309;--chart-grid:#e6e8f1;--chart-expense:#c3c8dc;--shadow:0 10px 30px #1f264a1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--radius:16px;--radius-sm:10px}*{box-sizing:border-box}html,body,#root{height:100%}html,body{touch-action:pan-x pan-y}body{background:radial-gradient(1200px 600px at 15% -10%, var(--accent-soft), transparent 60%), radial-gradient(900px 500px at 100% 0%, var(--accent-soft), transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;transition:background-color .2s,color .2s}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.app-shell{grid-template-columns:232px 1fr;min-height:100%;display:grid}.sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg, var(--bg-2), var(--bg));flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{color:inherit;letter-spacing:-.02em;align-items:center;gap:10px;padding:6px 10px 18px;font-size:16px;font-weight:750;text-decoration:none;display:flex}.logo{filter:drop-shadow(0 0 10px var(--accent-glow));flex-shrink:0}.logo-grad-a{stop-color:var(--accent)}.logo-grad-b{stop-color:var(--accent-strong)}.logo-mark{fill:var(--accent-ink)}.logo-line{stroke:var(--accent-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.nav-link{border-radius:var(--radius-sm);color:var(--text-dim);align-items:center;gap:11px;padding:10px 12px;font-weight:550;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--panel);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link .ico{text-align:center;width:18px}.sidebar-foot{border-top:1px solid var(--border-soft);color:var(--text-mute);flex-direction:column;gap:8px;margin-top:auto;padding:12px 10px 0;font-size:12px;display:flex}.main{width:100%;max-width:1280px;padding:26px 30px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-size:22px}.page-head .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.card{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card-title{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(3,1fr)}.dash-cols{grid-template-columns:1.6fr 1fr;align-items:start;gap:16px;display:grid}.dash-grid{grid-template-columns:1.6fr 1fr}.dash-grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=1100px){.dash-grid,.dash-grid-3,.dash-cols{grid-template-columns:1fr}}.mobile-topbar,.mobile-bottomnav{display:none}.avatar-btn{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}@media (width<=860px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{display:none}.mobile-topbar{z-index:30;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-topbar .brand{padding:0;font-size:15px}.main{padding:16px 16px calc(170px + env(safe-area-inset-bottom))}.kpis{grid-template-columns:1fr}.mobile-bottomnav{z-index:30;background:var(--bg-2);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav-link{color:var(--text-mute);border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 2px;font-size:11px;font-weight:550;display:flex}.bottomnav-link .ico{font-size:18px;line-height:1}.bottomnav-link.active{color:var(--accent)}.sheet-backdrop{z-index:44;background:#00000073;position:fixed;inset:0}.sheet{z-index:45;background:var(--panel);border-top:1px solid var(--border);padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.16s fab-pop;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0006}.sheet-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.sheet-link{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;font-size:12px;font-weight:550;display:flex}.sheet-link .ico{font-size:20px}}.kpi{position:relative;overflow:hidden}.kpi .label{color:var(--text-dim);font-size:12px;font-weight:550}.kpi .value{letter-spacing:-.02em;margin-top:8px;font-size:26px;font-weight:720}.kpi .delta{align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;display:inline-flex}.up{color:var(--pos)}.down{color:var(--neg)}.neutral{color:var(--text-mute)}.kpi .spark{opacity:.7;height:42px;position:absolute;bottom:0;left:0;right:0}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);align-items:center;gap:8px;padding:9px 15px;font-weight:600;transition:border-color .15s,background .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--text-mute)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 20px var(--accent-glow);border-color:#0000}.btn.primary:hover{background:var(--accent-strong)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.btn.sm{padding:6px 10px;font-size:12px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-dim);font-size:12px;font-weight:600}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-2);width:100%;color:var(--text);outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s}@media (pointer:coarse){.input,.select,.textarea{font-size:16px}}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.import-row{grid-template-columns:minmax(0,1fr)}}.seg{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:3px;padding:3px;display:inline-flex}.seg button{color:var(--text-dim);background:0 0;border:none;border-radius:7px;padding:7px 14px;font-weight:600}.seg button.on{background:var(--accent-soft);color:var(--accent)}.tx-list{flex-direction:column;display:flex}.tx-row{border-bottom:1px solid var(--border-soft);grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 6px;display:grid}.tx-row:last-child{border-bottom:none}.tx-ico{background:var(--bg-2);border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.tx-main{min-width:0}.tx-main .t1{overflow-wrap:anywhere;font-weight:600}.tx-main .t2{color:var(--text-mute);margin-top:2px;font-size:12px}.tx-amount{font-variant-numeric:tabular-nums;font-weight:700}.tx-actions{opacity:0;gap:4px;transition:opacity .12s;display:flex}.tx-row:hover .tx-actions{opacity:1}@media (width<=600px){.rec-row{grid-template-columns:34px minmax(0,1fr) auto;row-gap:2px}.rec-row .tx-actions{opacity:1;grid-column:2/-1;justify-content:flex-end;margin-top:-4px}}.icon-btn{color:var(--text-mute);background:0 0;border:none;border-radius:7px;padding:5px;font-size:13px}.icon-btn:hover{background:var(--panel);color:var(--text)}.chip{background:var(--bg-2);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.chip .dot{border-radius:50%;width:7px;height:7px}.chip.offline{color:#ef4444}.chip.offline .dot{background:#ef4444}.chip.syncing{color:var(--accent)}.chip.syncing .dot{background:var(--accent);animation:1s ease-in-out infinite chip-pulse}@keyframes chip-pulse{0%,to{opacity:1}50%{opacity:.35}}.bar{background:var(--bg-2);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.bar.over>span{background:var(--danger)}.bar.warn>span{background:var(--warn)}.overlay{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow);max-height:90vh;padding:22px;overflow-y:auto}.modal.wide{max-width:720px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-head h3{font-size:17px}.modal-foot{background:var(--panel-2);border-top:1px solid var(--border-soft);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;gap:10px;margin:20px -22px -22px;padding:14px 22px 22px;display:flex;position:sticky;bottom:-22px}.empty{text-align:center;color:var(--text-mute);padding:40px 20px}.stack{flex-direction:column;gap:16px;display:flex}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.muted{color:var(--text-dim)}.mono{font-variant-numeric:tabular-nums}.center-screen{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow);padding:28px}.toast{background:var(--panel);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);z-index:80;border-radius:999px;padding:11px 18px;font-weight:600;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.err{color:var(--danger);margin-top:4px;font-size:12px}.import-status{white-space:pre-line;border:1px solid;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.import-status.busy,.import-status.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.import-warn{color:var(--warn);font-size:13px}.import-status.ok{color:var(--pos);background:color-mix(in srgb, var(--pos) 12%, transparent);border-color:color-mix(in srgb, var(--pos) 40%, transparent)}.import-status.fail{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);align-items:flex-start}.import-report{border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:12px 14px;font-size:13px}.import-spinner{border:2px solid color-mix(in srgb, var(--warn) 30%, transparent);border-top-color:var(--warn);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite import-spin}@keyframes import-spin{to{transform:rotate(360deg)}}.pill-tabs{flex-wrap:wrap;gap:6px;display:inline-flex}.pill-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.pill-tabs button.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.legend{flex-direction:column;gap:8px;margin-top:10px;display:flex}.legend-item{align-items:center;gap:8px;font-size:12px;display:flex}.legend-item .sw{border-radius:3px;width:10px;height:10px}.legend-item .val{color:var(--text);margin-left:auto;font-weight:650}.theme-toggle{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--text-mute)}.fab-group{z-index:40;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.fab{background:var(--accent);width:54px;height:54px;color:var(--accent-ink);box-shadow:0 8px 24px var(--accent-glow), 0 2px 8px #0000004d;cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:26px;font-weight:400;line-height:1;transition:transform .12s,background .15s;display:grid}.fab:hover{background:var(--accent-strong);transform:translateY(-2px)}.fab:active{transform:translateY(0)}.fab.open{transform:rotate(45deg)}.fab.open:hover{transform:rotate(45deg)translateY(-2px)}.fab-backdrop{z-index:39;position:fixed;inset:0}@keyframes fab-pop{0%{opacity:0;transform:scale(.6)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.fab.secondary{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);box-shadow:0 4px 16px var(--accent-glow), 0 2px 8px #0000004d;border:none;font-size:18px;animation:.14s fab-pop}.fab.secondary:hover{background:var(--accent-strong);transform:translateY(-2px)}.fab.secondary[aria-disabled=true]{opacity:.6;cursor:default}.fab-toast{z-index:41;background:var(--card);border:1px solid var(--border);max-width:min(280px,100vw - 48px);color:var(--text);border-radius:10px;padding:10px 14px;font-size:13px;position:fixed;bottom:96px;right:24px;box-shadow:0 8px 24px #0000004d}.fab-toast.success{border-color:var(--accent)}.fab-toast.error{color:#ef4444;border-color:#ef4444}@media (width<=860px){.fab-group{right:16px;bottom:calc(78px + env(safe-area-inset-bottom))}.fab-toast{right:16px;bottom:calc(148px + env(safe-area-inset-bottom))}}.update-banner{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.update-banner .ico{font-size:20px}.update-banner .txt{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.update-banner .txt span{color:var(--text-dim)}.update-banner .actions{gap:8px;margin-left:auto;display:flex}.t2-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.t2-row .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:2px 7px;font-size:10px;overflow:hidden}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.chat-card{flex-direction:column;min-height:60vh;display:flex}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:4px 2px 16px;display:flex;overflow-y:auto}.chat-bubble{border-radius:var(--radius-sm);white-space:pre-wrap;max-width:75%;padding:10px 14px;font-size:14px;line-height:1.5}.chat-bubble.user{background:var(--accent-soft);color:var(--text);align-self:flex-end}.chat-bubble.assistant{background:var(--panel-2);border:1px solid var(--border);align-self:flex-start}.chat-bubble .range{color:var(--text-mute);margin-top:6px;font-size:11px;display:block}.chat-input-row{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding-top:12px;display:flex}.chat-input-row .textarea{resize:none;flex:1}.chat-ai-note,.ai-note{color:var(--text-dim);margin:8px 0 0;font-size:12px;line-height:1.4}@media (width<=700px){.chat-bubble{max-width:90%}}.dashboard-layout{align-items:flex-start;gap:16px;display:flex}.dashboard-main{flex:1;min-width:0}.dashboard-side{flex-direction:column;flex-shrink:0;gap:12px;width:300px;display:flex}@media (width<=960px){.dashboard-layout{flex-direction:column}.dashboard-side{width:100%}}.group-list{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;display:grid}.group-card{color:inherit;grid-template-columns:46px 1fr auto auto;align-items:center;gap:14px;text-decoration:none;transition:border-color .15s,transform .12s;display:grid}.group-card:hover{border-color:var(--accent);transform:translateY(-1px)}.group-emoji{background:var(--accent-soft);border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.group-main{min-width:0}.group-main .t1{font-weight:650}.group-main .t2{color:var(--text-mute);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.group-net{color:var(--text-dim);flex-direction:column;align-items:flex-end;font-size:12px;display:flex}.group-net strong{font-variant-numeric:tabular-nums;font-size:15px}.group-net.up strong{color:var(--pos)}.group-net.down strong{color:var(--neg)}.back-link{color:var(--text-dim);margin-bottom:4px;font-size:12px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.group-row{border:none;border-bottom:1px solid var(--border-soft);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px 1fr auto}.group-row:hover{background:var(--bg-2)}.group-row.settlement{cursor:default;grid-template-columns:34px 1fr auto auto}.group-row.settlement:hover{background:0 0}.bal-row{grid-template-columns:32px minmax(0,1fr) minmax(70px,1.3fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.bal-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bal-track{background:var(--bg-2);border-radius:999px;height:10px;position:relative}.bal-track:after{content:"";background:var(--border);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.bal-bar{border-radius:999px;position:absolute;top:0;bottom:0}.bal-bar.pos{background:var(--pos)}.bal-bar.neg{background:var(--neg)}.bal-val{text-align:right;min-width:86px;font-weight:700}.debt-row{border-bottom:1px solid var(--border-soft);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.debt-row:last-child{border-bottom:none}.debt-row .mono{font-weight:700}.member-row{border-bottom:1px solid var(--border-soft);grid-template-columns:32px 1fr auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.member-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.avatar-sm{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar-sm.c1{background:color-mix(in srgb, var(--pos) 14%, transparent);color:var(--pos)}.avatar-sm.c2{color:#d97706;background:#d9770624}.avatar-sm.c3{color:#db2777;background:#db27771f}.grp-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.grp-top .back-link{margin-bottom:0}.grp-hero{color:#fff;box-shadow:0 14px 30px var(--accent-glow);background:radial-gradient(260px 170px at 100% 0,#ffffff38,#0000 70%),linear-gradient(150deg,#6a73e6,#4a52c8);border-radius:20px;gap:16px;margin-bottom:12px;padding:18px;display:grid}.grp-hero-name{align-items:center;gap:10px;min-width:0;display:flex}.grp-hero-name h1{overflow-wrap:anywhere;font-size:21px;font-weight:800}.grp-hero-ico{background:#ffffff2e;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.grp-hero-stats{flex-wrap:wrap;gap:32px;display:flex}.grp-hero-stats .k{letter-spacing:.05em;text-transform:uppercase;color:#ffffffbf;font-size:11.5px;font-weight:700}.grp-hero-stats .v{letter-spacing:-.01em;font-size:25px;font-weight:800}.grp-hero-pill{color:#191d2b;background:#fffffff2;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;max-width:520px;min-height:44px;padding:7px 7px 7px 13px;font-size:14px;display:flex}.grp-hero-pill b.down{color:#dc2626}.grp-hero-pill b.up{color:#059669}.grp-hero-pill .btn:not(.primary){color:#191d2b;background:#fff;border-color:#e1e4ef}.grp-hero-pill .btn.primary{color:#fff;background:#5a63d8}.grp-hero-ok{color:#059669;align-items:center;gap:6px;font-weight:600;display:inline-flex}.grp-actions{grid-template-columns:1fr 1.4fr;gap:8px;max-width:520px;margin-bottom:14px;display:grid}.grp-actions .btn{justify-content:center}.grp-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.grp-tabs button{color:var(--text-mute);background:0 0;border:none;padding:10px 0 11px;font-weight:600}.grp-tabs button.on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.grp-days{gap:14px;display:grid}.grp-day{gap:6px;display:grid}.grp-day-head{letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);justify-content:space-between;padding:0 4px;font-size:11.5px;font-weight:700;display:flex}.grp-day-card{padding:4px 12px}.grp-day-card .group-row .t1,.grp-day-card .group-row .t2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-picker button{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;border-radius:10px;width:40px;height:40px;font-size:20px}.emoji-picker button.on{border-color:var(--accent);background:var(--accent-soft)}.chip-x{color:var(--text-mute);cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:10px}.receipt-btn{cursor:pointer;justify-content:center;width:100%;margin-bottom:14px}.receipt-btn[aria-disabled=true]{opacity:.7;cursor:default}.split-list{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px;padding:4px 12px}.split-row{border-bottom:1px solid var(--border-soft);grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:42px;display:grid}.split-row:last-of-type{border-bottom:none}.split-name{align-items:center;gap:8px;font-weight:550;display:flex}.split-input{text-align:right;width:96px}.split-amount{text-align:right;min-width:76px;color:var(--text-dim)}.split-check{color:var(--pos);text-align:right;padding:8px 0;font-size:12px}.split-check.bad{color:var(--neg)}.radio-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.radio-row .select,.radio-row .input{flex:1;min-width:140px}.invite-link{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--border);word-break:break-all;padding:10px 12px;font-size:12px}.invite-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);margin-bottom:18px;padding:10px 12px;font-size:13px}.join-card{text-align:center;max-width:460px;margin:20px auto}.join-card h2{margin:8px 0 4px;font-size:19px}.shared-card{color:inherit;flex-wrap:wrap;align-items:center;gap:12px;text-decoration:none;display:flex}.shared-card:hover{border-color:var(--accent)}.shared-ico{font-size:20px}.shared-title{font-weight:650}.shared-vals{flex-wrap:wrap;gap:16px;margin-left:auto;font-size:14px;display:flex}.shared-vals strong{font-variant-numeric:tabular-nums}.link-suggest{border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 8px 46px;padding:8px 12px;font-size:13px;display:flex}.group-chip{background:var(--accent-soft);color:var(--accent)}.fab.chat-fab{background:var(--panel);width:48px;height:48px;color:var(--accent);border:1px solid var(--accent);font-size:20px;text-decoration:none;box-shadow:0 6px 18px #0000004d}.fab.chat-fab:hover{background:var(--panel-2)}@media (width<=860px){.fab-toast{bottom:calc(210px + env(safe-area-inset-bottom))}.group-list{grid-template-columns:1fr}.link-suggest{margin-left:0}.bal-val{min-width:72px}}@media (width>=861px){.fab-toast{bottom:160px}}.whatsnew-head{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.whatsnew-head .muted{font-size:12px}.whatsnew-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.whatsnew-list li{grid-template-columns:26px 1fr;gap:8px;font-size:14px;line-height:1.45;display:grid}.whatsnew-ico{font-size:18px;line-height:1.2}.update-progress{background:var(--bg-2);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.update-progress>div{background:var(--accent);height:100%;transition:width .2s}.trip-card{color:inherit;flex-direction:column;gap:12px;text-decoration:none;display:flex}.trip-card:hover{border-color:var(--accent)}.trip-card-head{grid-template-columns:46px 1fr auto;align-items:center;gap:12px;display:grid}.trip-card-foot{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.trip-status.ongoing{background:var(--accent-soft);color:var(--accent)}.trip-status.finished{color:var(--text-mute)}.trip-pending{color:var(--accent);font-size:12px}.trip-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.trip-big{letter-spacing:-.02em;font-size:28px;font-weight:750}.trip-hint{color:var(--text-dim);margin-top:10px;font-size:13px}.trip-cand{border-bottom:1px solid var(--border-soft);grid-template-columns:auto 1fr auto auto;gap:10px;padding:6px 0;display:grid}.trip-cand-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trip-exp{grid-template-columns:1fr auto;align-items:center;gap:4px;display:grid}.active-trip{color:inherit;border-color:var(--accent);align-items:center;gap:12px;text-decoration:none;display:flex}.active-trip-main{flex:1;min-width:0}@media (width<=860px){.trip-big{font-size:24px}.trip-cand{grid-template-columns:auto 1fr auto}.trip-cand .muted{display:none}}.settings-notice{border-color:var(--accent);background:var(--accent-soft);font-weight:550}.settings-notice.ok{border-color:var(--pos)}.legal-note{color:var(--text-mute);text-align:center;margin:10px 0 0;font-size:12px;line-height:1.5}.legal-note a{color:var(--accent)}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin:12px auto 0;font-size:13px;display:block}.link-btn:hover{text-decoration:underline}.google-btn{color:#1f1f1f;background:#fff;border:1px solid #dadce0;justify-content:center;gap:10px;width:100%;font-weight:600}.google-btn:hover:not(:disabled){background:#f7f8f8}.auth-divider{color:var(--text-mute);align-items:center;gap:10px;margin:16px 0 14px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.onboarding{border-color:var(--accent)}.onboarding-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.onboarding-title{font-size:16px;font-weight:700}.onboarding-steps{flex-direction:column;gap:10px;display:flex}.onboarding-step{grid-template-columns:26px 1fr auto;align-items:center;gap:12px;display:grid}.onboarding-step .t1{font-weight:600}.onboarding-step .t2{color:var(--text-dim);margin-top:2px;font-size:13px}.onboarding-step.done .t1{color:var(--text-mute);text-decoration:line-through}.onboarding-check{border:2px solid var(--border);border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:grid}.onboarding-step.done .onboarding-check{background:var(--pos);border-color:var(--pos);color:#fff}@media (width<=640px){.onboarding-step{grid-template-columns:26px 1fr}.onboarding-step .btn{grid-column:2;justify-self:start}}.admin-kpis{grid-template-columns:repeat(3,1fr)}.admin-cols{grid-template-columns:1fr 1fr}.admin-cols3{grid-template-columns:repeat(3,1fr)}@media (width<=900px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-cols,.admin-cols3{grid-template-columns:1fr}}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table td{border-bottom:1px solid var(--border);padding:6px 0}.admin-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}.admin-table tr:last-child td{border-bottom:none}.admin-table .ellipsis{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:0;overflow:hidden}.admin-errors{flex-direction:column;gap:8px;display:flex}.admin-error{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.admin-error-head{justify-content:space-between;gap:12px;margin-bottom:2px;font-size:13px;display:flex}.admin-error-head .msg{overflow-wrap:anywhere;font-weight:600}.admin-error-head .muted{white-space:nowrap;font-size:12px}.admin-error-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;color:var(--text-dim);margin-top:8px;font-size:11px;overflow:auto}.subs-kpis{grid-template-columns:1fr 1fr}.sub-alerts{flex-direction:column;gap:10px;display:flex}.sub-alert{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);gap:12px;padding:12px 14px;display:flex}.sub-alert.trial_due,.sub-alert.recharged{border-color:var(--accent);background:var(--accent-soft)}.sub-alert-ico{font-size:20px;line-height:1.2}.sub-alert-body{flex:1;min-width:0}.sub-alert-title{font-size:14px;font-weight:600}.sub-alert-msg{color:var(--text-dim);margin-top:2px;font-size:13px}.sub-alert-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sub-list{flex-direction:column;display:flex}.sub-row{text-align:left;border:none;border-bottom:1px solid var(--border-soft,var(--border));width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:12px 0;display:flex}.sub-row.static{cursor:default}.sub-row:last-child{border-bottom:none}.sub-row-main{flex:1;min-width:0}.sub-row-main .t1{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.sub-row-main .t2{color:var(--text-dim);margin-top:2px;font-size:12px}.sub-row-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.sub-row-amount .muted{font-size:12px;font-weight:400}.sub-row.cancelling .t1,.sub-row.cancelling .sub-row-amount{opacity:.6}.sub-row-links{flex-wrap:wrap;gap:4px 14px;margin-top:6px;display:flex}.link-inline{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.link-inline:hover{text-decoration:underline}.sub-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.help-steps{flex-direction:column;gap:8px;padding-left:20px;font-size:14px;display:flex}@media (width<=600px){.sub-alert{padding:10px 12px}.sub-row{align-items:flex-start}}.ok-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);padding:10px 12px;font-size:13px}.reward-progress{gap:6px;display:flex}.reward-progress span{background:var(--border);border-radius:4px;flex:1;height:8px}.reward-progress span.done{background:var(--accent)}.invite-code{margin-bottom:10px;font-size:14px}.invite-code strong{letter-spacing:1px;font-family:ui-monospace,monospace;font-size:16px}.icon{vertical-align:-.2em;flex-shrink:0}.ico .icon,.tx-ico .icon,.group-emoji .icon,.shared-ico .icon,.whatsnew-ico .icon,.sub-alert-ico .icon,.emoji-picker .icon,.fab .icon,.avatar-btn .icon{vertical-align:0;display:block}.emoji-picker button{place-items:center;display:grid}.whatsnew-ico,.sub-alert-ico{padding-top:1px}.btn.primary .icon,.fab.secondary .icon,.avatar-btn .icon,.onboarding-check .icon{stroke:currentColor}.quick-tabs{margin-bottom:16px;display:flex}.quick-tabs button{flex:1}.quick-import .card{box-shadow:none;background:var(--bg-2)}.title-ico{align-items:center;gap:6px;display:inline-flex}.tx-filters{grid-template-columns:2fr 1fr 1fr 1fr;margin:-3px;padding:3px;overflow:hidden}.tx-filters>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=640px){.tx-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tx-filters>.input,.tx-filters>:last-child{grid-column:1/-1}}.close-card{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.close-card:hover{border-color:var(--accent)}.close-card-main{flex:1;min-width:0}.saving-item{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.saving-head{align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.saving-ico{background:var(--accent-soft);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.saving-title{flex:1;min-width:0;font-weight:650}.saving-amount{white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:14px;display:flex}.saving-amount .muted{font-size:12px}.saving-steps{flex-direction:column;gap:3px;margin:4px 0 8px;padding-left:20px;font-size:13px;display:flex}.saving-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.upcoming-item{border-left:3px solid var(--accent);padding:2px 0 2px 12px}@media (width<=600px){.saving-head{flex-wrap:wrap}.saving-amount{flex-direction:row;align-items:baseline;gap:8px;width:100%;padding-left:44px}}@media (width<=860px){.close-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.close-kpis .kpi{padding:10px 12px}.close-kpis .kpi .value{font-size:16px}.close-kpis .kpi .label{font-size:11px}}.group-remove:hover svg{stroke:var(--neg,#e5484d)}.ent-disclaimer{align-items:flex-start;gap:10px;display:flex}.ent-disclaimer svg{flex-shrink:0;margin-top:2px}.ent-disclaimer p{color:var(--text-dim);margin:0;font-size:13px}.ent-disclaimer strong{color:var(--text)}.ent-list{flex-direction:column;gap:12px;display:flex}.ent-kind{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.ent-title{margin:10px 0 4px;font-size:16px}.ent-seen{margin:0 0 6px;font-size:13px;font-weight:600}.ent-what{color:var(--text-dim);margin:0;font-size:14px}.ent-details{margin-top:8px;font-size:14px}.ent-details h4{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);margin:16px 0 6px;font-size:13px}.ent-details ul,.ent-details ol{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.ent-sources .link-inline{text-align:left;font-size:13px}.ent-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;display:flex}.guest-shell{min-height:100%}.guest-bar{z-index:20;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bg-2);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.guest-bar .brand{padding:0}.guest-chip{gap:4px}.guest-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.guest-main{max-width:900px;margin:0 auto}.guest-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);margin-bottom:18px;padding:10px 12px;font-size:13px}.guest-foot{text-align:center;margin-top:28px}.invite-admin{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}@media (width<=860px){.guest-main{padding:16px 16px 40px}}
