:root{color-scheme:light;font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;--ink: #243b36;--muted: #657771;--accent: #23685a;--accent-hover: #194f44;--accent-soft: #edf5f1;--border: #dce5e0;--surface: #fff;--background: #f6f8f7;--owe: #885326;--owe-soft: #faf4eb;--danger: #a13b35;--radius: 8px;color:var(--ink);background:var(--background);font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main{max-width:940px;margin:0 auto;padding:20px 24px}header{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-bottom:1px solid var(--border)}main{padding-top:28px;padding-bottom:48px}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}.site-title{color:var(--ink);font-weight:650;text-decoration:none;white-space:nowrap}nav,.identity{display:flex;align-items:center;gap:6px}nav a{padding:7px 11px;text-decoration:none;color:var(--muted);border-radius:5px}nav a.active{color:var(--accent);background:#e4eeea;font-weight:600}.identity{margin-left:auto;gap:12px;font-size:.875rem}h1{font-size:1.6rem;font-weight:650;letter-spacing:-.025em;margin:0}h2{font-size:1.05rem;font-weight:600;margin:0 0 10px}h3{font-size:1rem;font-weight:600;margin:0}p{margin:8px 0}section{margin-bottom:24px}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink);font-weight:500;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:var(--accent-soft);border-color:#b4cec3}button.primary,.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover,.button.primary:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.text{border-color:transparent;background:transparent;padding:4px 6px;color:var(--accent)}button.text:hover{background:var(--accent-soft)}button.danger{color:var(--danger)}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.section-heading{margin-bottom:12px}.section-heading h2{margin:0}.muted,.fine,.record-meta,small,.empty{color:var(--muted)}small,.fine,.record-meta{font-size:.85rem}.error,.notice{border-radius:5px;padding:10px 12px;margin:12px 0}.error{color:var(--danger);background:#fbefed;border-left:3px solid var(--danger)}.notice{color:var(--accent);background:var(--accent-soft);border-left:3px solid var(--accent)}.balance-section{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.balance-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--accent)}.balance-heading h2{margin:0;font-size:1rem}.balance-heading strong{font-weight:650;font-variant-numeric:tabular-nums}.payable .balance-heading{color:var(--owe);background:var(--owe-soft)}.balance-row{display:flex;align-items:center;gap:22px;padding:16px 18px;border-bottom:1px solid var(--border)}.balance-row:last-child{border-bottom:0}.balance-row a{font-size:.85rem}.balance-row strong{font-weight:600}.balance-section .empty{padding:16px 18px;margin:0;font-size:.9rem}.number,.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{background:transparent;border-color:transparent;color:var(--muted)}.tabs button.active{background:#e4eeea;color:var(--accent);font-weight:600}.expense-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 18px}.expense{border-bottom:1px solid var(--border);padding:16px 0}.expense:last-child{border-bottom:0}.expense-heading{display:flex;align-items:center;gap:16px}.expense-heading h2{font-size:1rem;margin:3px 0;overflow-wrap:anywhere}.grow{flex:1;min-width:0}.amount{font-size:1.05rem;font-weight:600}.share-summary{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:.875rem;margin:10px 0 4px}.share-summary b{font-weight:500;color:var(--ink);margin-left:4px}.record-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.record-footer>div{display:flex;align-items:center;gap:8px}.record-footer small{font-size:.8rem}.editor{max-width:640px;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);padding:20px;margin:16px 0 24px}label{display:block;margin:14px 0 5px;font-size:.9rem;font-weight:500}input:not([type=checkbox]),select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bdcdc5;border-radius:5px;background:var(--surface);color:var(--ink)}input:focus,select:focus{border-color:var(--accent)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-columns>div{min-width:0}.split-heading{margin:22px 0 8px}.split-heading select{width:auto;font-size:.9rem}.share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.check{display:flex;align-items:center;gap:10px;margin:0;font-weight:400}.check input{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--accent)}.share-row strong{font-size:.9rem;font-weight:500;font-variant-numeric:tabular-nums}.share-amount{max-width:125px;text-align:right}.actions{display:flex;gap:8px;margin-top:20px}.references{margin-top:20px}summary{cursor:pointer;color:var(--accent);font-size:.9rem}.reference-options{max-height:240px;overflow-y:auto}.reference-options label{padding:8px 0}.reference-options small{display:block}.load-more{margin-top:8px}.login{max-width:340px}.login h1{margin-bottom:20px}@media(max-width:680px){header,main{padding-left:16px;padding-right:16px}header{gap:14px 20px}nav{order:3;width:100%}nav a{padding:6px 12px}.balance-row{flex-wrap:wrap;gap:8px 16px}.balance-row .grow{flex-basis:55%}.balance-row a{flex-basis:100%}.record-footer>div{margin-left:auto}.two-columns{gap:12px}.editor{padding:16px}}@media(max-width:380px){.two-columns{grid-template-columns:1fr;gap:0}.identity{gap:6px}}.balance-entry{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.875rem}.balance-entry strong{white-space:nowrap;font-variant-numeric:tabular-nums}
