: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)}.language-switcher{position:relative}.language-trigger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--primary);cursor:pointer;padding:0;transition:border-color .15s ease,background .15s ease,color .15s ease}.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--primary);background:var(--surface-muted);color:var(--primary-dark)}.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;min-width:140px;grid-gap:4px;gap:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 12px 32px rgba(23,32,42,.14);padding:8px}.language-menu button{width:100%;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:8px 10px;text-align:left}.language-menu button:hover,.language-menu button[aria-current=true]{background:var(--surface-muted)}.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}.landing-release{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;grid-gap:32px;gap:32px;border-top:1px solid var(--border);padding:32px 0 64px}.landing-release h2{margin:0 0 12px;font-size:32px;letter-spacing:0}.landing-release>div>p{margin:0;color:var(--muted);line-height:1.55}.release-list{display:grid;grid-gap:14px;gap:14px}.release-list article{border-left:3px solid var(--accent);padding-left:16px}.release-list h3{margin:0 0 6px;font-size:17px;letter-spacing:0}.release-list p{margin:0;color:var(--muted);line-height:1.5}.release-entry{display:flex;justify-content:flex-end}.releases-page{max-width:960px}.releases-hero{padding:72px 0 40px}.releases-hero h1{max-width:760px;margin:0 0 18px;color:var(--ink);font-size:56px;line-height:1;letter-spacing:0}.releases-hero .lead{max-width:680px;margin:0;color:var(--muted);font-size:20px;line-height:1.55}.release-timeline{display:grid;grid-gap:24px;gap:24px;padding:0 0 72px}.release-note{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:32px;gap:32px;border-top:1px solid var(--border);padding-top:28px}.release-note-meta{display:flex;align-items:flex-start;flex-direction:column;gap:10px;color:var(--muted);font-size:15px;font-weight:700}.release-note-meta span{border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:5px 10px;font-size:13px}.release-note-body h2{margin:0 0 10px;color:var(--ink);font-size:28px;letter-spacing:0}.release-note-body>p{margin:0 0 22px;color:var(--muted);line-height:1.6}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding:24px 0 36px;color:var(--muted);font-size:14px}.landing-footer p{max-width:520px;margin:0;line-height:1.5}.landing-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 16px;font-weight:700}.landing-footer a:hover{color:var(--primary)}.legal-page{width:min(920px,calc(100% - 32px));margin:0 auto}.legal-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.legal-document{display:grid;grid-gap:22px;gap:22px;border:1px solid var(--border);border-radius:8px;background:var(--surface);margin:24px 0 64px;padding:36px}.legal-document h1{margin:0;font-size:clamp(36px,6vw,58px);line-height:1;letter-spacing:0}.legal-document h2{margin:0 0 10px;font-size:22px;letter-spacing:0}.legal-document section{display:grid;grid-gap:8px;gap:8px}.legal-document p,.legal-document ul{margin:0;color:var(--muted);line-height:1.7}.legal-document ul{padding-left:20px}.legal-document a{color:var(--primary);font-weight:700}.legal-note{border-left:3px solid var(--accent);background:var(--surface-muted);padding:12px 14px}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.compact-action,.button.small{min-height:34px;padding:0 12px;font-size:14px}.button.compact-action{width:clamp(96px,24vw,116px)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px 0}.auth-header,.auth-language{position:fixed;top:18px;right:18px}.auth-header{left:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.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 .brand-mark{display:inline-flex;margin-bottom:14px}.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:first-child{border-color:#79b7b8;background:#e5f4f4;color:var(--primary)}.tab-link:first-child.active{border-color:var(--primary);background:#d2eded;color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.tab-link-primary{border-color:var(--primary);background:var(--primary);color:#ffffff}.tab-link-primary.active{border-color:#063f40;background:#064f51;color:#ffffff;box-shadow:inset 0 0 0 2px #ffffff3d,0 2px 8px #0f6b6d33}.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}.timed-alert{transition:opacity .3s ease,transform .3s ease}.timed-alert.is-hiding{opacity:0;transform:translateY(-4px)}.archived-banner{margin-top:16px;border:1px solid #cbd7e6;background:#eef3f8;color:var(--text)}.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.archived-card{background:var(--surface-muted)}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.status-pill{flex:0 0 auto;border:1px solid #cbd7e6;border-radius:999px;padding:4px 8px;color:var(--muted);font-size:12px;font-weight:800}.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)}.balance-stack{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 10px;text-align:right}.balance-row{align-items:flex-start}.balance-member-name{flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-stack span{white-space:nowrap}.balance-stack .balance-positive{color:#11603a}.balance-stack .balance-negative{color:#9f1d1d}.balance-stack .balance-zero{color:var(--muted)}.my-expense-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.my-expense-total{border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);cursor:pointer;flex:0 0 auto;font:inherit;padding:10px 12px;text-align:right}.my-expense-total:hover{border-color:var(--primary)}.my-expense-total span{display:block;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.my-expense-total strong{display:block;margin-top:4px;color:var(--primary);font-size:20px;white-space:nowrap}.my-expense-total-popover{width:min(320px,calc(100vw - 32px));border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 45px rgb(15 23 42/18%);color:var(--text);padding:16px}.my-expense-total-popover::-webkit-backdrop{background:rgb(15 23 42/24%)}.my-expense-total-popover::backdrop{background:rgb(15 23 42/24%)}.popover-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.my-expense-list{margin-top:20px;border-top:1px solid var(--border);padding-top:12px}.my-expense-row{align-items:flex-start;color:inherit;text-decoration:none}.my-expense-row:hover{background:var(--surface-muted)}.my-expense-main{flex:1 1 auto;min-width:0}.my-expense-main span{font-weight:700}.my-expense-main .field-help{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-expense-row .balance-stack{flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px}.row-actions{display:flex;align-items:center;gap:10px}.settlement-group-list,.settlement-history-list{margin-top:16px}.ranking-group-list,.settlement-group-list,.settlement-summary-list{display:grid;grid-gap:16px;gap:16px}.ranking-group-list,.settlement-summary-list{margin-top:18px}.settlement-currency-group{border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);padding:10px 14px 4px}.currency-group-label{margin:0 0 4px;color:var(--primary);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.settlement-row{align-items:center}.settlement-summary{min-width:0;display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.settlement-summary span{min-width:0;overflow-wrap:anywhere}.member-row{flex-direction:column;align-items:stretch}.member-row .field-help{margin-top:6px;max-width:360px}.member-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto 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-role-form{display:contents}.member-role-form .button{justify-self:end}.member-role-form .alert{grid-column:1/-1}.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}.settings-form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.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}.invite-summary-section{margin-bottom:24px}.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}.section-heading-row h2{flex:1 1 auto;min-width:0}.section-heading-row .compact-action{flex:0 0 auto}.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}.expense-item-highlight{animation:expense-highlight-fade 3s ease-out forwards;scroll-margin-top:34vh}@keyframes expense-highlight-fade{0%,66%{border-color:#d7c08a;background:#fffaf0;box-shadow:0 0 0 3px rgba(215,192,138,.22)}to{border-color:var(--border);background:transparent;box-shadow:none}}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}.field-help a{color:var(--primary);font-weight:700}.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:minmax(0,1fr) auto;align-items:center;padding:18px 0 8px}.landing-header .brand-mark{grid-column:1;grid-row:1}.landing-nav{display:contents}.landing-nav .language-switcher{grid-column:2;grid-row:1;justify-self:end}.landing-nav>a{grid-row:2;margin-top:10px}.landing-nav>a:first-of-type{grid-column:1}.landing-nav>a:nth-of-type(2){grid-column:2}.landing-nav>a:nth-of-type(3){grid-column:1/-1;grid-row:3;justify-self:stretch}.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}.landing-release{grid-template-columns:1fr;gap:20px;padding:28px 0 36px}.release-entry{justify-content:stretch}.release-entry .button{width:100%}.releases-hero{padding:44px 0 32px}.releases-hero h1{font-size:42px}.release-note{grid-template-columns:1fr;gap:16px}.landing-footer,.legal-header{align-items:flex-start;flex-direction:column}.landing-footer nav,.legal-header .landing-nav{justify-content:flex-start}.legal-document{margin:18px 0 40px;padding:24px}.topbar{position:relative;align-items:stretch;flex-direction:column}.topbar>div:first-child{padding-right:52px}.topbar-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.topbar-actions .language-switcher{position:absolute;top:0;right:0}.topbar-actions form .button{width:100%}.tab-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}.tab-link{min-width:0;padding:0 8px;white-space:normal;text-align:center}.tab-link:first-child{grid-column:1/-1}.form-grid,.participant-row,.segmented-control,.two-column,.two-column.wide-left{grid-template-columns:1fr}.meta-grid,.my-expense-total-list{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-grid{display:grid}.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%}.settlement-row{display:flex;align-items:center;gap:8px}.settlement-row .row-actions{flex:0 0 auto;align-items:center;justify-content:flex-end}.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}.section-heading-row .compact-action{width:clamp(96px,24vw,116px)}}