/* Splitzy keeps the answer first and the ledger one tap away. */
.splitzy-overview { max-width:760px; margin:0 auto; padding:22px 18px 36px; color:var(--ink); }
.splitzy-content { display:grid; gap:22px; }
.splitzy-heading,.splitzy-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.splitzy-heading h2 { font-size:28px; margin:0; letter-spacing:-.055em; }
.splitzy-heading p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.splitzy-link { color:var(--ink); font:inherit; font-size:12px; font-weight:650; border:0; background:transparent; padding:8px; border-radius:10px; min-height:40px; cursor:pointer; }
.splitzy-link:hover { background:var(--well); }
.splitzy-totals { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.splitzy-total { display:flex; flex-direction:column; gap:6px; padding:18px; border-radius:21px; border:1px solid #2747340d; min-width:0; }
.splitzy-total span { font-size:12px; font-weight:550; }
.splitzy-total strong { font-size:clamp(22px,5vw,31px); letter-spacing:-.06em; overflow-wrap:anywhere; line-height:1.25; }
.splitzy-owe { background:var(--lilac); }
.splitzy-owed { background:var(--lime); }
/* Group payoff is one net result, followed by the complete payment route. */
.splitzy-total-expenses { padding:4px 2px; margin:-4px -2px; min-height:32px; border:0; border-radius:5px; background:transparent; color:var(--ink); font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.splitzy-total-expenses:hover { background:var(--well); }
.splitzy-payments { display:grid; gap:12px; padding:18px; border:1px solid var(--line); border-radius:23px; background:var(--paper); }
.splitzy-payments .splitzy-section-heading h3 { font-size:18px; letter-spacing:-.025em; }
.splitzy-payments-subtitle { margin:3px 0 0; color:var(--muted); font-size:12px; }
.splitzy-net { display:flex; align-items:center; justify-content:space-between; gap:14px; border-radius:16px; padding:15px; background:var(--well); }
.splitzy-net.is-positive { background:var(--lime); }
.splitzy-net.is-negative { background:var(--lilac); }
.splitzy-net > span { font-size:13px; font-weight:600; }
.splitzy-net > strong { font-size:clamp(23px,5vw,28px); letter-spacing:-.045em; line-height:1.2; overflow-wrap:anywhere; }
.splitzy-net.is-settled > strong { font-size:22px; color:var(--muted); }
.splitzy-payment { padding:12px 0 0; border-top:1px solid var(--line); }
.splitzy-payment-main { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; }
.splitzy-payment-route { display:flex; flex-wrap:wrap; align-items:center; gap:4px 7px; min-width:0; line-height:1.5; }
.splitzy-payment-route strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.splitzy-payment-arrow { color:var(--muted); font-size:14px; }
.splitzy-payment-amount { font-size:16px; font-weight:650; letter-spacing:-.03em; line-height:1.5; white-space:nowrap; }
.splitzy-payment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:7px; }
.splitzy-payment-actions .btn { min-height:40px; font-size:12px; }
.splitzy-payments .splitzy-empty { padding:2px 0; margin:0; }
.splitzy-balances { border:1px solid var(--line); border-radius:17px; padding:0 14px; }
.splitzy-balances > summary { display:flex; align-items:center; gap:10px; min-height:52px; font-size:13px; font-weight:600; cursor:pointer; list-style:none; }
.splitzy-balances > summary::-webkit-details-marker { display:none; }
.splitzy-balances > summary::after { content:'+'; color:var(--muted); font-size:19px; font-weight:400; }
.splitzy-balances[open] > summary::after { content:'−'; }
.splitzy-balance-count { margin-left:auto; color:var(--muted); font-size:11px; font-weight:400; }
.splitzy-balance { display:flex; align-items:center; gap:10px; min-width:0; padding:12px 0; border-top:1px solid var(--line); }
.splitzy-balance > .avatar { width:31px; height:33px; flex-basis:31px; border-radius:10px; }
.splitzy-balance-name { flex:1; min-width:0; overflow-wrap:anywhere; font-size:12px; font-weight:600; }
.splitzy-balance > span:last-child { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.splitzy-balance small { font-size:10px; font-weight:400; }
.splitzy-balance > span:last-child > strong { font-size:13px; font-weight:650; white-space:nowrap; }
.splitzy-total-expenses:focus-visible,.splitzy-balances > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.splitzy-section { display:grid; gap:7px; }
.splitzy-section-heading h3 { font-size:15px; margin:0; }
.splitzy-section-heading > span { font-size:11px; color:var(--muted); }
.splitzy-review-section { background:var(--paper); border:1px solid var(--line); padding:14px; border-radius:20px; }
.splitzy-count { border-radius:9px; background:var(--lilac); padding:3px 7px; }
.splitzy-review { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:11px 0; border-top:1px solid var(--line); font-size:13px; }
.splitzy-review:first-of-type { border-top:0; }
.splitzy-review strong { font-weight:650; overflow-wrap:anywhere; }
.splitzy-review small { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.splitzy-review .btn { grid-column:1 / -1; justify-self:start; }
.splitzy-person,.splitzy-group { display:flex; align-items:center; gap:10px; border:0; border-bottom:1px solid var(--line); background:transparent; width:100%; padding:13px 0; color:var(--ink); text-align:left; font:inherit; cursor:pointer; min-width:0; }
.splitzy-person:hover,.splitzy-group:hover { background:var(--well); border-radius:12px; }
.splitzy-person .avatar { width:37px; height:38px; flex-basis:37px; border-radius:13px; }
.splitzy-person > strong,.splitzy-group > strong { font-size:14px; font-weight:650; white-space:nowrap; letter-spacing:-.025em; }
.splitzy-person-copy,.splitzy-group > span:first-child { flex:1; min-width:0; }
.splitzy-person-copy strong,.splitzy-group > span > strong { display:block; font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.splitzy-person small,.splitzy-group small { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
.splitzy-person > span:last-child,.splitzy-group > span:last-child { color:var(--muted); font-size:22px; }
.splitzy-initial { display:grid; place-items:center; width:37px; height:38px; border-radius:13px; background:var(--lilac); flex-shrink:0; }
.splitzy-positive { color:#326341; }
.splitzy-negative { color:#66416f; }
.splitzy-note { font-size:11px; color:var(--muted); line-height:1.55; margin:0; }
.splitzy-empty { padding:18px 0; font-size:13px; color:var(--muted); line-height:1.6; }
.splitzy-expense { border-bottom:1px solid var(--line); padding:5px 0 7px; }
.splitzy-expense-main { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:9px 0; border:0; background:transparent; text-align:left; font:inherit; cursor:pointer; color:var(--ink); }
.splitzy-expense-main > span { min-width:0; }
.splitzy-expense-main strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.splitzy-expense-main > strong { white-space:nowrap; }
.splitzy-expense-main small { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
.splitzy-row-actions { display:flex; gap:2px; margin-left:-8px; }
.splitzy-row-actions .splitzy-link { min-height:32px; padding:5px 8px; font-size:11px; }
.splitzy-footer { display:flex; flex-wrap:wrap; gap:8px; }
.splitzy-footer .btn { font-size:12px; }
.splitzy-pending-payments { display:flex; justify-content:space-between; gap:12px; padding:15px; border:1px solid var(--line); border-radius:15px; background:var(--lilac-soft); color:var(--ink); text-align:left; font:inherit; font-size:12px; cursor:pointer; }
.splitzy-job,.splitzy-connection { padding:14px; border-radius:15px; background:var(--well); font-size:12px; }
.splitzy-job { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.splitzy-account { display:grid; gap:19px; }
.splitzy-account-heading { display:flex; align-items:center; gap:12px; }
.splitzy-account-heading h3,.splitzy-account-heading p { margin:0; }
.splitzy-account-heading h3 { font-size:18px; }
.splitzy-account .splitzy-total { padding:16px; }
.splitzy-account .splitzy-total strong { font-size:26px; }
.splitzy-profile-entry { background:var(--lime); border:1px solid #2747340a; font-weight:650; }
.splitzy-chat-action { margin-top:9px; display:flex; width:max-content; max-width:100%; }
.splitzy-modes { display:flex; padding:4px; background:var(--well); border-radius:14px; gap:4px; }
.splitzy-mode { flex:1; border:0; padding:11px; min-height:43px; border-radius:10px; background:transparent; color:var(--muted); font:inherit; font-size:13px; cursor:pointer; }
.splitzy-mode[aria-pressed="true"] { color:var(--ink); background:var(--paper); font-weight:650; box-shadow:0 2px 5px #27473412; }
.splitzy-members .member-check { gap:8px; padding:10px; min-width:0; }
.splitzy-members .member-check .grow { font-size:13px; min-width:0; overflow-wrap:anywhere; }
.splitzy-members .member-check .avatar { width:30px; height:32px; flex-basis:30px; }
.splitzy-percentage-input { display:flex; align-items:center; gap:4px; flex-shrink:0; font-size:12px; }
.splitzy-percentage-input input { width:76px; height:44px; min-height:44px; padding:10px 7px; text-align:right; font-size:16px; border:1px solid var(--line); background:var(--paper); border-radius:10px; }
.splitzy-percentage-input[hidden] { display:none; }
.splitzy-percentage-input input:disabled { opacity:.4; }
.splitzy-percentage-total { font-size:12px; font-weight:600; color:#79521d; margin:0; }
.splitzy-percentage-total.is-valid { color:#326341; }
.splitzy-share-percent { color:var(--muted); font-size:11px; margin-left:5px; }
@media(max-width:360px) { .splitzy-payments { padding:14px; } .splitzy-net { padding:12px; } .splitzy-payment-main { gap:8px; } .splitzy-payment-amount { font-size:14px; } .splitzy-overview { padding:18px 13px 28px; } .splitzy-total { padding:15px 12px; } .splitzy-person > strong,.splitzy-group > strong { font-size:12px; } .splitzy-account .splitzy-total strong { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { .splitzy-overview *, .splitzy-account * { animation:none!important; transition:none!important; } }
