:root{--bg:#f6f6fb;--surface:#fff;--surface-2:#f1f0f9;--text:#17162b;--muted:#6b6a80;--border:#e4e3ef;--primary:#5b4bdb;--primary-2:#e2567f;--primary-soft:#ecebfd;--danger:#d23b4b;--success:#17895a;--warn:#a8640a;--radius:14px;--shadow:0 1px 2px #17162b0a, 0 6px 24px #17162b0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f0e19;--surface:#1a1928;--surface-2:#242336;--text:#efeef8;--muted:#a09fb6;--border:#2e2d44;--primary:#8577ff;--primary-2:#ff7aa2;--primary-soft:#2a2650;--danger:#ff6b7a;--success:#4cd391;--warn:#f0b04a;--shadow:0 1px 2px #0000004d, 0 6px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .4em;line-height:1.2}h1{font-size:clamp(1.6rem,3vw,2rem)}h2{font-size:1.15rem}p{margin:0 0 1em}small{font-size:.82rem;display:block}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.grow{flex:1;min-width:0}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.narrow{max-width:720px}.section{padding-top:32px;padding-bottom:48px}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:transform 50ms,background .15s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff;box-shadow:0 4px 14px #5b4bdb4d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #5b4bdb66}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger-ghost{color:var(--danger);border-color:var(--border);background:0 0}.btn-danger-ghost:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-lg{padding:13px 22px;font-size:1rem}.btn-block{width:100%}.icon-btn{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;font-size:1.3rem;line-height:1}.icon-btn:hover{background:var(--surface-2);color:var(--danger)}.icon-btn-space{flex:none;width:34px}input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}input::placeholder{color:var(--muted);opacity:.7}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid var(--primary-soft);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{margin-bottom:16px;padding:20px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head h2{margin:0}.alert{border-radius:10px;margin:12px 0;padding:10px 14px;font-size:.92rem}.alert-error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.alert-success{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.alert-warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.alert-info{background:var(--primary-soft);color:var(--primary)}.spinner{border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;margin:16px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{padding:80px 0}.avatar{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:grid}.avatar.c1{color:#c4305f;background:#fde6ee}.avatar.c2{color:#13774c;background:#def5ea}.avatar.c3{color:#a35c00;background:#fff0d9}.avatar.c4{color:#1c6ea4;background:#dff0fb}.avatar.c5{color:#7c3bb8;background:#f0e5fb}@media (prefers-color-scheme:dark){.avatar.c1{color:#ff9bbb;background:#4a2233}.avatar.c2{color:#6fe0a8;background:#183d2d}.avatar.c3{color:#ffc46e;background:#43321a}.avatar.c4{color:#7cc4f5;background:#1a3447}.avatar.c5{color:#c9a0f5;background:#352449}}.nav{z-index:10;background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:60px;display:flex}.logo{color:var(--text);align-items:center;gap:8px;font-size:1.15rem;display:flex;text-decoration:none!important}.logo b{color:var(--primary)}.nav-links{align-items:center;gap:6px;display:flex}.nav-links>a:not(.btn){white-space:nowrap;color:var(--muted);border-radius:8px;padding:6px 10px;font-weight:500}.nav-links>a:not(.btn):hover{color:var(--text);background:var(--surface-2);text-decoration:none}.nav-links>a.active{color:var(--primary)}.footer{color:var(--muted);text-align:center;border-top:1px solid var(--border);padding:24px 0;font-size:.85rem}.hero{background:radial-gradient(1000px 400px at 80% -10%, var(--primary-soft), transparent);padding:56px 0 32px}.hero-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.hero h1{margin:14px 0 16px;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800}.grad{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:var(--muted);max-width:520px;font-size:1.1rem}.pill{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600;display:inline-block}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-card{padding:20px;transform:rotate(1.5deg)}.hero-card-head{border-bottom:1px dashed var(--border);justify-content:space-between;margin-bottom:8px;padding-bottom:12px;display:flex}.hero-row{align-items:center;gap:12px;padding:10px 0;display:flex}.hero-foot{border-top:1px dashed var(--border);padding-top:10px;font-size:.82rem}.steps{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.step{padding:24px}.step-n{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:14px;font-weight:700;display:grid}.auth-wrap{place-items:center;padding:48px 16px;display:grid}.auth-card{width:100%;max-width:420px;padding:32px}.form{gap:14px;margin-top:20px;display:grid}.form label{gap:6px;font-size:.9rem;font-weight:500;display:grid}.auth-foot{text-align:center;margin:20px 0 0;font-size:.92rem}.dropzone{border:2px dashed var(--border);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:260px;margin-top:20px;padding:40px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--primary);background:var(--primary-soft)}.dropzone.busy{cursor:progress}.dz-icon{color:var(--primary)}.dz-text{gap:4px;display:grid}.dz-text .spinner{margin:0 auto 6px}.dz-preview{object-fit:contain;border-radius:10px;max-width:100%;max-height:220px}.upload-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.upload-actions .btn{flex:1}.split-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.title-input{background:0 0;border-color:#0000;margin-left:-8px;padding:6px 8px;font-size:1.6rem;font-weight:700}.title-input:hover{border-color:var(--border)}.bill-photo{object-fit:contain;max-width:100%;max-height:480px;margin:0 auto 16px;padding:8px;display:block}.split-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.split-side{position:sticky;top:76px}.people-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.person-input{align-items:center;gap:8px;display:flex}.items{gap:10px;margin-bottom:12px;display:grid}.item{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px}.item-top{align-items:center;gap:8px;display:flex}.item-name{flex:1;min-width:0}.money-input{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:none;align-items:center;width:130px;padding-left:10px;display:flex}.money-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.money-input span{color:var(--muted)}.money-input input{text-align:right;border:none;padding-left:6px;box-shadow:none!important}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.chip{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:500;transition:all .12s}.chip:hover{border-color:var(--primary);color:var(--text)}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.each{margin-left:auto}.row-input{align-items:center;gap:8px;margin-top:8px;display:flex}.row-input label{font-weight:500}.summary h2{margin-bottom:12px}.sum-lines>div{color:var(--muted);justify-content:space-between;padding:6px 0;display:flex}.sum-lines .sum-total{color:var(--text);border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:1.1rem;font-weight:700}.shares{gap:4px;margin:12px 0 16px;display:grid}.share{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.share-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.history-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.search{max-width:360px;margin-bottom:14px}.bill-list{gap:10px;display:grid}.bill-row{align-items:center;padding-right:8px;transition:border-color .15s;display:flex}.bill-row:hover{border-color:var(--primary)}.bill-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:14px;padding:14px 8px 14px 16px;display:flex;text-decoration:none!important}.bill-link strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bill-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.bill-total{flex:none}.empty{text-align:center;padding:48px 24px}.back{margin-bottom:14px;font-weight:500;display:inline-block}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-head h1,.detail-head p{margin:0}.detail-total{font-size:1.8rem;font-weight:800}.people-cards{gap:10px;margin-bottom:20px;display:grid}.person-card{overflow:hidden}.person-card-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;display:flex}.person-card-head:hover{background:var(--surface-2)}.person-total{font-size:1.1rem}.chev{color:var(--muted);transition:transform .15s}.chev.up{transform:rotate(180deg)}.person-items{padding:4px 16px 14px 64px}.person-items>div{justify-content:space-between;gap:12px;padding:4px 0;font-size:.92rem;display:flex}.person-items small{display:inline}.detail-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.split-grid{grid-template-columns:1fr}.split-side{position:static}.hero-inner{grid-template-columns:1fr;gap:32px}.hero-card{transform:none}}@media (width<=640px){.steps{grid-template-columns:1fr}.panel{padding:16px}.money-input{width:110px}.item-top{flex-wrap:wrap}.item-name{flex-basis:100%}.item-top .money-input{flex:1;width:auto}.nav-links>a:not(.btn){padding:6px;font-size:.92rem}.title-input{font-size:1.3rem}.person-items{padding-left:16px}}@media (width<=420px){.logo span{display:none}}
