:root{color-scheme:light;--background:#f7f8fb;--surface:#ffffff;--surface-muted:#eef3f8;--text:#17202a;--muted:#64748b;--border:#d8e0ea;--primary:#116466;--primary-dark:#0b4c4d;--accent:#d98e04}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.landing-page{width:min(1160px,calc(100% - 32px));margin:0 auto}.landing-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-mark{color:var(--primary);font-size:20px;font-weight:800}.landing-nav{display:flex;align-items:center;gap:18px;color:var(--muted);font-weight:700}.landing-nav a:hover{color:var(--primary)}.landing-hero{min-height:calc(100dvh - 72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;grid-gap:52px;gap:52px;padding:48px 0 56px}.landing-copy h1{max-width:760px;margin:0;font-size:clamp(42px,7vw,74px);letter-spacing:0;line-height:.98}.product-preview{display:grid;grid-gap:16px;gap:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 48px rgba(23,32,42,.12);padding:22px}.preview-grid div,.preview-ranking li,.preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.preview-topbar{color:var(--muted);font-size:14px;font-weight:800}.preview-topbar strong{color:var(--accent)}.preview-balance{border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);padding:18px}.preview-balance p,.preview-ranking p{margin:0 0 8px;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.preview-balance h2{margin:0;color:var(--primary-dark);font-size:24px;letter-spacing:0}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.preview-grid div{min-width:0;align-items:flex-start;flex-direction:column;border:1px solid var(--border);border-radius:8px;padding:12px}.preview-grid span{color:var(--muted);font-size:13px;line-height:1.35}.preview-grid strong,.preview-ranking strong{white-space:nowrap}.preview-ranking ol{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.preview-ranking li{min-width:0;border-bottom:1px solid var(--border);padding-bottom:8px}.preview-ranking li:last-child{border-bottom:0;padding-bottom:0}.preview-ranking span{min-width:0;color:var(--muted);font-weight:700}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;padding:0 0 64px}.landing-features article{border-top:3px solid var(--primary);padding-top:18px}.landing-features h2{margin:0 0 10px;font-size:20px;letter-spacing:0}.landing-features p{margin:0;color:var(--muted);line-height:1.55}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.7}.app-shell,.auth-page,.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.hero{min-height:100dvh;display:grid;align-items:center;padding:48px 0}.hero h1,.panel h1,.topbar h1{margin:0;letter-spacing:0}.hero h1{max-width:760px;font-size:clamp(42px,8vw,78px);line-height:.98}.lead{max-width:680px;color:var(--muted);font-size:20px;line-height:1.6}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.stack{width:min(420px,100%);display:grid;grid-gap:12px;gap:12px}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;padding:0 18px;cursor:pointer;font-weight:700;text-align:center;white-space:nowrap}.button.primary{border-color:var(--primary);background:var(--primary);color:#ffffff}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:var(--surface);color:var(--text)}.button.danger{border-color:#d9a2a2;background:#fff5f5;color:#9f1d1d}.button.small{min-height:34px;padding:0 12px;font-size:14px}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px 0}.panel{width:min(420px,100%);display:grid;grid-gap:18px;gap:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:28px}.compact-panel{width:100%}.compact-panel h2{margin:0}label{min-width:0;display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:14px;font-weight:700}input:not([type=checkbox]):not([type=radio]){width:100%}input{min-height:44px;border:1px solid var(--border);border-radius:8px;padding:0 12px;color:var(--text)}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;padding:0}select{width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 12px;color:var(--text)}.muted{color:var(--muted)}.muted a{color:var(--primary);font-weight:700}.app-shell{padding:32px 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar .muted{margin:8px 0 0}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-actions form{display:flex;min-width:0}.tab-nav{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.tab-link{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 14px;color:var(--muted);font-weight:700;white-space:nowrap}.tab-link.active{border-color:var(--primary);color:var(--primary)}.tab-link-primary{border-color:var(--primary)}.tab-link-primary,.tab-link-primary.active{background:var(--primary);color:#ffffff}.alert{margin:0;border-radius:8px;padding:12px;font-size:14px;font-weight:700}.alert.error{border:1px solid #f0b4b4;background:#fff0f0;color:#9f1d1d}.alert.success{border:1px solid #a8dbc2;background:#edf9f3;color:#11603a}.join-summary{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);padding:16px}.join-summary strong{display:block;margin-top:4px;font-size:20px}.join-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.join-summary dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.join-summary dd{margin:3px 0 0;font-size:18px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.book-card{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:20px}.book-card h2,.book-card p{margin:0}.book-card p{color:var(--muted)}.book-card strong{color:var(--primary);font-size:22px}.card-metric-label{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.empty-state,.section-block{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:24px}.empty-state h2,.section-block h2{margin:0}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px}.two-column.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.section-block{min-width:0}.section-block .muted{overflow-wrap:anywhere}.list{display:grid;grid-gap:10px;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 0}.list-row:last-child{border-bottom:0}.list-row strong{color:var(--primary)}.list-row strong.balance-positive{color:#11603a}.list-row strong.balance-negative{color:#9f1d1d}.list-row strong.balance-zero{color:var(--muted)}.row-actions{display:flex;align-items:center;gap:10px}.member-row{flex-direction:column;align-items:flex-start}.member-row .field-help{margin-top:6px;max-width:360px}.member-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%}.member-title-row span{min-width:0;overflow-wrap:anywhere}.member-title-row strong{justify-self:end;color:var(--primary);font-size:14px;white-space:nowrap}.member-row .row-actions{flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;width:100%}.member-row form{min-width:0}.rename-member-form{flex:1 1 220px;display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.rename-member-form input{min-height:36px}.rename-member-form .alert{grid-column:1/-1}.ranking-row span{display:inline-flex;align-items:center;gap:10px}.rank-badge{min-width:40px;color:var(--accent)}.form-section{margin-top:16px;width:min(520px,100%)}.inline-form-section{margin-top:0;width:100%}.expense-history-section{order:1}.expense-form-section{order:2}.section-gap{margin-top:16px}.expense-item-main,.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.expense-item-main>div{min-width:0}.expense-item h2,.section-heading-row h2{margin:0;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.expense-form fieldset,.form-grid>*{min-width:0}fieldset{display:grid;grid-gap:12px;gap:12px;margin:0;border:1px solid var(--border);border-radius:8px;padding:14px}legend{padding:0 6px;color:var(--muted);font-size:14px;font-weight:700}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.checkbox-label,.segmented-control label{display:flex;min-height:40px;align-items:center;gap:8px;color:var(--text)}.option-list{display:grid;grid-gap:10px;gap:10px}.choice-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:8px;padding:12px;color:var(--text)}.choice-card input{min-height:auto;margin-top:3px}.choice-card span{display:grid;grid-gap:3px;gap:3px}.choice-card small{color:var(--muted);font-size:13px;font-weight:500;line-height:1.35}.segmented-control label{border:1px solid var(--border);border-radius:8px;padding:0 12px}.expense-list,.participant-grid,.split-list{display:grid;grid-gap:10px;gap:10px}.participant-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;grid-gap:10px;gap:10px;align-items:center}.participant-row input[name^="customAmount:"]{width:100%}.field-help{margin:0;color:var(--muted);font-size:13px}.meta-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 0}.meta-grid div{flex:0 0 auto;min-width:0}.meta-grid dt{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;text-transform:uppercase}.meta-grid dd{margin:3px 0 0;overflow-wrap:anywhere;color:var(--text);font-size:14px;white-space:nowrap}.expense-item{display:grid;min-width:0;grid-gap:12px;gap:12px;border-bottom:1px solid var(--border);padding:0 0 16px}.expense-item:last-child{border-bottom:0;padding-bottom:0}.expense-item-main strong{color:var(--primary);font-size:20px;white-space:nowrap}.split-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));color:var(--muted);font-size:14px}@media (max-width:640px){.landing-page{width:min(100% - 24px,1120px)}.landing-header{min-height:auto;display:grid;grid-template-columns:1fr;padding:18px 0 8px}.landing-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.landing-nav a{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.landing-hero{min-height:auto;grid-template-columns:1fr;gap:28px;padding:32px 0 36px}.landing-copy h1{font-size:42px}.product-preview{padding:18px}.landing-features,.preview-grid{grid-template-columns:1fr}.landing-features{padding-bottom:36px}.topbar{align-items:stretch;flex-direction:column}.topbar-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.topbar-actions form .button{width:100%}.tab-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.tab-link{min-width:0;padding:0 8px}.form-grid,.participant-row,.segmented-control,.two-column,.two-column.wide-left{grid-template-columns:1fr}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-item-main{display:grid;grid-gap:10px;gap:10px}.expense-item-main strong{justify-self:start}.expense-form-section{order:1}.expense-history-section{order:2}.member-row{align-items:stretch;flex-direction:column}.member-row .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;grid-gap:6px;gap:6px;width:100%}.member-row form{width:100%}.rename-member-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px}.rename-member-form input{min-height:38px}.button{width:100%}.rename-member-form .button,.topbar-actions .button{width:auto}}