:root{--bg: #f6f7f9;--card: #ffffff;--ink: #1c2733;--muted: #68727e;--line: #e2e6ea;--accent: #1d3557;--accent-ink: #ffffff;--pos: #1a7f37;--neg: #b3261e;--danger: #b3261e}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}.screen{max-width:560px;margin:0 auto;padding:0 12px calc(72px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 2px 8px;position:sticky;top:0;background:var(--bg);z-index:5}.app-title{font-weight:700;color:var(--accent)}.app-title.big{font-size:1.5rem;margin-bottom:0}h2{margin:12px 0 6px}h3{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:8px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.form{display:flex;flex-direction:column;gap:10px}.form-row{display:flex;gap:10px}.form-row>label{flex:1}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}input,select,button{font:inherit;color:var(--ink)}input,select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;width:100%;font-size:16px}input[type=checkbox]{width:20px;height:20px}button{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;min-height:44px}button.primary,button.primary:visited{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}a.button,a.button:visited{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 14px;text-decoration:none;display:inline-block}a.big-add,a.big-add:visited{display:block;width:100%;padding:16px 14px;border-radius:12px;font-size:1.06rem;font-weight:600;text-align:center;margin:4px 0 14px}button.link{background:none;border:none;color:var(--accent);padding:6px 4px;min-height:32px}button.link.danger,.link.danger{color:var(--danger)}button:disabled{opacity:.5}.grow{flex:1}.row{display:flex;align-items:center}.row.gap{gap:8px}.row.wrap{flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.list{list-style:none;margin:0;padding:0}.trip-link{color:inherit;text-decoration:none;display:block}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;background:var(--line);color:var(--muted)}.tag.closed{background:#ece2d4;color:#7a5c2e}.people{list-style:none;margin:0 0 8px;padding:0}.people li{padding:8px 0;border-top:1px solid var(--line)}.list-flat{list-style:none;margin:0 0 8px;padding:0}.list-flat li{padding:8px 0;border-top:1px solid var(--line)}.repayment-form{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.archived{opacity:.55}.weight-label{flex-direction:row;align-items:center;gap:6px;white-space:nowrap}.weight-input{width:64px}.add-person{margin-top:8px}.shares{list-style:none;margin:6px 0;padding:0;font-size:.85rem;color:var(--muted)}table.balances{width:100%;border-collapse:collapse}table.balances th,table.balances td{text-align:left;padding:6px 4px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}table.balances th{color:var(--muted);font-weight:500;font-size:.85rem}td.pos{color:var(--pos)}td.neg{color:var(--neg)}fieldset{border:1px solid var(--line);border-radius:8px;margin:0}legend{font-size:.85rem;color:var(--muted);padding:0 6px}.split-row{padding:6px 0}.split-row label{flex-direction:row;color:var(--ink)}.preview{border-top:1px dashed var(--line);padding-top:8px}.preview ul{margin:4px 0;padding-left:20px}.summary{background:var(--bg);border-radius:8px;padding:10px;white-space:pre-wrap;-webkit-user-select:all;user-select:all}.auth-screen{padding-top:12vh}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}.bottom-nav a{flex:1;max-width:200px;text-align:center;padding:14px 0;text-decoration:none;color:var(--muted);font-weight:600}.bottom-nav a.active{color:var(--accent);border-top:2px solid var(--accent)}.receipt-card{display:flex;flex-direction:column;gap:8px}.receipt-preview img{max-width:100%;max-height:260px;border-radius:8px;border:1px solid var(--line);display:block;margin:0 auto 8px;transition:transform .15s ease}.receipt-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.extraction-review{border-top:1px dashed var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px}.extraction-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;font-size:.9rem}.extraction-grid div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:3px 0}.extraction-grid dt{color:var(--muted)}.extraction-grid dd{margin:0;font-variant-numeric:tabular-nums}.error-block{border-top:1px dashed var(--line);padding-top:8px}.pos{color:var(--pos)}.neg{color:var(--neg)}.owe-lines{list-style:none;margin:0;padding:0}.owe-lines li{padding:8px 0;border-top:1px solid var(--line)}.balance-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.balance-details summary{color:var(--muted);font-size:.85rem;cursor:pointer}.expense-paid-by{font-size:.9rem;margin-top:2px}
