:root{--ink:#26322e;--muted:#747e78;--muted-light:#99a09b;--paper:#f7f5f0;--card:#fff;--line:#e9e5dc;--soft:#f8f7f3;--accent:#c75c3b;--accent-dark:#a8472c;--green:#347760;--green-soft:#e8f2ed;--danger:#b45343;--shadow:0 16px 48px #272d270e}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:30px 20px;display:flex}.app-card{background:var(--card);width:min(100%,680px);min-height:calc(100vh - 60px);box-shadow:var(--shadow);border:1px solid #e8e4dbb3;border-radius:30px;flex-direction:column;padding:28px 42px 30px;display:flex}.start-card{max-width:610px}.form-card{max-width:700px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;height:46px;padding-bottom:14px;display:flex}.wordmark{letter-spacing:-1.1px;color:var(--accent);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:23px;font-weight:800}.step-count{color:var(--muted);letter-spacing:.08em;font-size:14px;font-weight:700}.intro{padding:36px 0 22px}.eyebrow{color:var(--green);letter-spacing:.13em;margin-bottom:10px;font-size:10px;font-weight:700;display:inline-block}.intro h1,.page-heading h1,.created-state h1,.bill-heading h1,.empty-state h1,.loading-card h1{letter-spacing:-1.4px;margin:0 0 10px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(28px,6vw,35px);font-weight:750;line-height:1.12}.lead{color:var(--muted);max-width:520px;margin:0;font-size:16px;line-height:1.55}.badge{background:var(--green-soft);color:#315e4c;letter-spacing:.015em;border-radius:999px;align-items:center;gap:8px;margin-top:17px;padding:9px 13px;font-size:12px;font-weight:700;display:inline-flex}.badge-dot,.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.method-section h2,.section-title-row h2{letter-spacing:-.25px;margin:0 0 13px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;font-weight:750}.method-list{gap:12px;display:grid}.method-card{text-align:left;border:1.5px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:19px;align-items:flex-start;gap:14px;padding:17px 45px 17px 16px;transition:border .16s,background .16s,transform .16s;display:flex;position:relative}.method-card:hover{border-color:#c7d8cd;transform:translateY(-1px)}.method-card.selected{border-color:var(--green);background:#f9fcfa;box-shadow:0 0 0 3px #34776017}.method-card.unavailable{background:#fbfaf8}.method-icon{border-radius:13px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:23px;font-weight:500;display:grid}.receipt-icon{color:var(--accent);background:#f9eee8}.manual-icon{background:var(--green-soft);color:var(--green)}.method-copy{flex-direction:column;gap:5px;display:flex}.method-copy strong{letter-spacing:-.3px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}.method-copy>span{color:var(--muted);font-size:13px;line-height:1.45}.method-copy em{letter-spacing:.03em;color:#a3553d;background:#f9eee8;border-radius:7px;align-self:flex-start;margin-top:2px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:700}.radio{background:#fff;border:1.7px solid #b8c0ba;border-radius:50%;width:19px;height:19px;position:absolute;top:20px;right:16px}.selected .radio{border:5px solid var(--green)}.helper-text{color:var(--muted);margin:17px 0 0;font-size:12px}.notice{color:#735a2e;background:#fff8ed;border:1px solid #f0dfc3;border-radius:12px;margin:16px 0 0;padding:11px 13px;font-size:12px;line-height:1.5}.action-footer{margin-top:auto;padding-top:35px}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:11px;min-height:49px;padding:0 20px;font-size:14px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.primary-button{background:var(--accent);color:#fff;width:100%;box-shadow:0 5px 12px #c75c3b29}.primary-button:hover:not(:disabled):not(.disabled){background:var(--accent-dark);transform:translateY(-1px)}.primary-button:disabled,.primary-button.disabled{color:#aaa9a5;box-shadow:none;cursor:not-allowed;background:#deddd9}.primary-button span{font-size:19px;font-weight:500;line-height:0}.action-footer>p,.bottom-actions>p{color:var(--muted);margin:11px 0 0;font-size:11px}.page-heading{padding:27px 0 24px}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:23px;padding:0;font-size:12px;font-weight:600;display:inline-block}.back-link:hover{color:var(--accent)}.button-link{font-family:inherit}.form-section{flex-direction:column;gap:10px;display:flex}.field-label{justify-content:space-between;align-items:center;margin-bottom:1px;font-size:13px;font-weight:700;display:flex}.required{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-light);font-size:10px;font-weight:700}.select-input,.text-input{width:100%;color:var(--ink);background:#fff;border:1px solid #dddcd5;border-radius:12px;outline:none;transition:border .15s,box-shadow .15s}.select-input{height:47px;padding:0 13px;font-size:14px}.text-input{height:43px;padding:0 12px;font-size:14px}.text-input:focus,.select-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #3477601a}.select-input:invalid{color:var(--muted)}.section-title-row{justify-content:space-between;align-items:center;gap:14px;margin:15px 0 3px;display:flex}.section-title-row h2{margin:0 0 3px}.section-title-row p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.item-count,.currency-pill{background:var(--soft);color:var(--muted);white-space:nowrap;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:700}.currency-pill{color:var(--green);background:var(--green-soft)}.items-editor,.bill-items{gap:11px;display:grid}.item-editor,.bill-item-editor{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px}.item-editor-heading{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:11px;font-weight:600}.text-button:hover{color:var(--ink)}.danger-text:hover{color:var(--danger)}.item-input-grid{grid-template-columns:.7fr 1.3fr;gap:10px;margin-top:10px;display:grid}.small-label{color:var(--muted);margin:0 0 6px;font-size:10px}.line-preview{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;font-size:11px;display:flex}.line-preview strong{color:var(--ink);font-size:12px}.add-item-button{height:43px;color:var(--green);cursor:pointer;background:#fbfdfb;border:1px dashed #c9d5cd;border-radius:12px;font-size:12px;font-weight:700}.add-item-button:hover{background:var(--green-soft)}.add-item-button span{vertical-align:-1px;margin-right:3px;font-size:17px}.subtotal-preview{background:var(--soft);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:5px;padding:14px 15px;display:flex}.subtotal-preview div{flex-direction:column;gap:4px;display:flex}.subtotal-preview span{font-size:12px;font-weight:700}.subtotal-preview small{color:var(--muted);font-size:10px;line-height:1.4}.subtotal-preview>strong{white-space:nowrap;letter-spacing:-.4px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px}.bottom-actions{margin-top:auto;padding-top:22px}.error-message,.success-message{border-radius:11px;margin:15px 0 0;padding:10px 12px;font-size:12px;line-height:1.45}.error-message{color:#943e35;background:#fff1ef;border:1px solid #f2d3cf}.success-message{color:#28624a;background:#eef8f1;border:1px solid #d6eddb}.split-actions{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.secondary-button{border:1px solid var(--line);color:var(--ink);box-shadow:none;background:#fff}.secondary-button:hover{background:var(--soft)}.privacy-note{text-align:center;color:var(--muted);margin:12px 0 0;font-size:10px}.review-list{border-top:1px solid var(--line);display:grid}.review-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 2px;display:flex}.review-number{color:var(--muted-light);width:22px;font-size:10px;font-weight:700}.review-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.review-copy strong{overflow-wrap:anywhere;font-size:13px}.review-copy span{color:var(--muted);font-size:11px}.review-price{white-space:nowrap;font-size:12px}.review-total{margin-top:15px}.created-state{flex-direction:column;align-items:flex-start;padding:48px 0 0;display:flex}.created-state .lead{margin-bottom:25px}.private-link-card{border:1px solid var(--line);background:#fcfbf8;border-radius:16px;flex-direction:column;gap:10px;width:100%;padding:16px;display:flex}.private-label{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:800}.private-link-card code{overflow-wrap:anywhere;color:#3b5146;font-size:11px;line-height:1.5}.copy-button{min-height:40px;margin-top:3px;font-size:12px}.security-hint{color:var(--muted);margin:15px 0 25px;font-size:11px;line-height:1.55}.created-state>.primary-button{margin-top:auto}.draft-pill{color:#8d6b39;background:#f5f0e7;border-radius:99px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:700;display:flex}.draft-pill .status-dot{background:#d6a34c}.bill-heading{padding:34px 0 22px}.bill-heading h1{margin-bottom:11px}.bill-id-row{align-items:center;gap:9px;display:flex}.bill-id-row code{color:var(--muted);background:var(--soft);border-radius:7px;padding:6px 8px;font-size:11px;font-weight:700}.bill-id-row span{color:var(--green);font-size:10px}.bill-editor-section>.section-title-row{margin-top:0;margin-bottom:14px}.bill-item-editor .item-editor-heading{margin-bottom:10px}.item-order{color:var(--muted-light);font-size:10px;font-weight:800}.empty-state,.loading-card{justify-content:center;align-items:flex-start}.empty-state .wordmark{margin-bottom:35px}.empty-state .empty-icon{margin-bottom:15px;font-size:31px}.empty-state .lead{margin-bottom:24px}.loading-card{min-height:300px}.loading-card h1{font-size:23px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-heading-meta{flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:23px;display:flex}.page-heading-meta .back-link,.page-heading-meta .eyebrow{margin:0}.select-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23747e78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:44px}.add-item-button{width:100%}.bill-editor-section>.add-item-button{margin-top:10px}.receipt-review-form>.add-item-button{margin:10px 0;padding:0 14px}.form-section>.subtotal-preview{margin-top:0}.bill-editor-section>.subtotal-preview{margin-top:10px}.item-entry-controls{border:0;flex-direction:column;gap:10px;min-inline-size:0;margin:0;padding:0;display:flex}.item-entry-controls:disabled .item-editor,.item-entry-controls:disabled .add-item-button,.item-entry-controls:disabled .subtotal-preview{opacity:.55}.item-entry-controls:disabled .add-item-button{cursor:not-allowed}.receipt-upload-section{flex-direction:column;gap:13px;display:flex}.receipt-dropzone{min-height:210px;color:var(--ink);text-align:center;cursor:pointer;background:#fbfdfb;border:1.5px dashed #c9d5cd;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:22px;display:flex}.receipt-dropzone:hover{background:var(--green-soft);border-color:var(--green)}.receipt-dropzone>strong{font-size:15px}.receipt-dropzone>span:last-child{color:var(--muted);font-size:12px;line-height:1.5}.upload-icon{background:var(--green-soft);width:42px;height:42px;color:var(--green);border-radius:14px;place-items:center;font-size:24px;font-weight:700;display:grid}.receipt-preview-card{border:1px solid var(--line);background:var(--soft);border-radius:16px;overflow:hidden}.receipt-preview-card img{object-fit:contain;background:var(--soft);width:100%;max-height:420px;display:block}.receipt-file-details{background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:12px;display:flex}.receipt-file-details strong{overflow-wrap:anywhere}.receipt-file-details span{color:var(--muted);text-align:right;white-space:nowrap;font-size:10px}.receipt-change-button{width:100%;min-height:42px;font-size:12px}.receipt-privacy-note{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.receipt-progress{min-height:49px;color:var(--green);justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.progress-spinner{border:2px solid #d6e5dc;border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite receipt-spin}@keyframes receipt-spin{to{transform:rotate(360deg)}}.receipt-result-layout{grid-template-columns:minmax(0,1.15fr) minmax(190px,.85fr);align-items:start;gap:17px;display:grid}.receipt-results-heading{margin:0 0 10px}.receipt-candidate-list{gap:9px;display:grid}.receipt-candidate{border:1px solid var(--line);background:#fff;border-radius:13px;gap:11px;padding:12px;display:flex}.receipt-candidate-content{flex:1;min-width:0}.candidate-name{overflow-wrap:anywhere;font-size:13px;line-height:1.4;display:block}.candidate-values{flex-wrap:wrap;gap:6px 11px;margin-top:8px;display:flex}.candidate-values span{color:var(--muted);gap:4px;font-size:10px;display:flex}.candidate-values b{color:var(--ink);font-weight:700}.candidate-warning{color:#9a6028;margin-top:7px;font-size:10px;display:block}.receipt-original-preview{border:1px solid var(--line);background:var(--soft);border-radius:14px;margin:0;padding:10px}.receipt-original-preview figcaption{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.receipt-original-preview img{object-fit:contain;border-radius:8px;width:100%;max-height:420px;display:block}.receipt-currency-note,.receipt-empty-results{background:var(--soft);border-radius:12px;flex-direction:column;gap:4px;margin-top:12px;padding:12px;display:flex}.receipt-currency-note strong,.receipt-empty-results strong{font-size:12px}.receipt-currency-note span,.receipt-empty-results p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.receipt-next-step-note{color:#735a2e;background:#fff9ef;border:1px solid #efe2c9;border-radius:11px;margin-top:14px;padding:11px 12px;font-size:11px;line-height:1.5}.receipt-result-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:0;display:grid}.receipt-result-actions .secondary-button{min-height:49px;font-size:12px}.receipt-review-layout{grid-template-columns:minmax(0,1.15fr) minmax(190px,.85fr);align-items:start;gap:17px;display:grid}.receipt-review-form{min-width:0}.receipt-review-form>.field-label{margin:0 0 7px}.field-help{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.45}.receipt-currency-label{margin-top:18px!important}.currency-confirmation{color:var(--ink);cursor:pointer;background:#f8fcf9;border:1px solid #d9e6de;border-radius:11px;align-items:flex-start;gap:9px;margin-top:11px;padding:11px 12px;font-size:11px;line-height:1.45;display:flex}.currency-confirmation input{width:16px;height:16px;accent-color:var(--green);flex:0 0 16px;margin:0}.receipt-edit-heading{margin-top:23px}.receipt-edit-heading h2{font-size:16px}.ocr-reference{color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.45}.validation-hint{color:#9a6028;margin-top:10px}.receipt-review-actions{padding-top:18px}.receipt-review-actions .primary-button:disabled{opacity:.7}.text-link-button{text-align:center;color:var(--green);padding:8px;font-size:12px;font-weight:700;display:block}.receipt-created-state{padding-top:32px}.receipt-created-state h2{letter-spacing:-.6px;margin:0 0 8px;font-size:24px}.receipt-created-state .lead{margin-bottom:20px;font-size:14px}.receipt-created-state .primary-button{margin-top:auto}.bill-restaurant-name{color:var(--muted);margin:-2px 0 11px;font-size:16px;font-weight:650}@media (max-width:600px){.receipt-result-layout,.receipt-review-layout{grid-template-columns:1fr}.receipt-original-preview img{max-height:300px}.receipt-result-actions{grid-template-columns:1fr}.receipt-file-details{flex-direction:column;align-items:flex-start;gap:4px}.receipt-file-details span{text-align:left}.text-input,.select-input{font-size:16px}.app-card:focus-within{min-height:0}.app-card:focus-within .bottom-actions{margin-top:20px}html,body{background:var(--paper);height:auto;min-height:100%;overflow:visible}.shell{height:auto;min-height:100vh;background:var(--paper);min-height:100dvh;padding:0;overflow:visible}.app-card{width:100%;height:auto;min-height:100vh;background:var(--paper);min-height:100dvh;box-shadow:none;padding:21px 22px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:0;flex:none}.topbar{height:43px}.wordmark{font-size:21px}.intro{padding-top:31px}.intro h1,.page-heading h1,.created-state h1,.bill-heading h1{font-size:29px}.lead{font-size:15px}.method-card{border-radius:16px;gap:12px;padding:15px 39px 15px 13px}.method-icon{flex-basis:36px;width:36px;height:36px}.method-copy strong{font-size:14px}.method-copy>span{font-size:12px}.radio{width:17px;height:17px;top:18px;right:13px}.action-footer{padding-top:28px}.page-heading{padding-top:24px}.private-link-card code{font-size:10px}}.receipt-review-actions .currency-confirmation{align-items:center;gap:12px;margin:0 0 14px;padding:14px 16px;font-size:13px;line-height:1.5}.receipt-review-actions .currency-confirmation input{flex-basis:18px;width:18px;height:18px}.invite-next-link,.invite-entry-link{width:100%;min-height:49px;margin-bottom:12px;font-size:13px}.invite-card,.shared-bill-card{max-width:760px}.invite-summary,.invite-link-card{border:1px solid var(--line);background:#fcfbf8;border-radius:16px;padding:17px}.invite-summary{margin-bottom:14px}.invite-summary h2{margin:9px 0 5px;font-size:18px}.invite-summary p,.invite-link-card>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.invite-link-card h2{margin:0 0 7px;font-size:16px}.invite-link-card .field-label{margin:16px 0 7px}.share-link-input{color:#3b5146;font-size:12px!important}.invite-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:11px;display:grid}.invite-actions .primary-button,.invite-actions .secondary-button{min-height:43px;font-size:12px}.shared-items{border-top:1px solid var(--line);display:grid}.shared-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 2px;display:flex}.shared-item .review-copy{flex:1;min-width:0}.shared-empty-note{color:var(--muted);margin:12px 0 0;font-size:13px}@media (max-width:600px){.invite-actions{grid-template-columns:1fr}.invite-card,.shared-bill-card{padding-left:22px;padding-right:22px}}.shared-list-heading{margin:25px 0 10px}.shared-items{border-top:1px solid var(--line)}.shared-item{grid-template-columns:34px minmax(120px,1fr) minmax(130px,auto) minmax(110px,auto);align-items:center;gap:14px;min-height:68px;padding:14px 4px;display:grid}.shared-item-name{overflow-wrap:anywhere;text-align:left;min-width:0;font-size:14px;line-height:1.4}.shared-item-meta{color:var(--muted);white-space:nowrap;text-align:right;direction:ltr;font-size:12px}.shared-item-total{text-align:right;white-space:nowrap;font-size:13px}.shared-bill-card>.bill-heading{padding-bottom:12px}.shared-bill-card .review-total{margin-top:14px}@media (max-width:600px){.shared-item{grid-template-columns:24px minmax(70px,1fr) minmax(90px,auto) minmax(80px,auto);gap:7px;padding:13px 2px}.shared-item-name{grid-area:auto;font-size:12px}.shared-item-meta{text-align:right;grid-area:auto;margin-top:0;font-size:10px}.shared-item-total{grid-area:auto;font-size:11px}.shared-list-heading{margin-top:18px}}.join-form{flex-direction:column;flex:1;gap:8px;display:flex}.join-form .field-label{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.join-form .field-label span{color:var(--muted-light);letter-spacing:.08em;font-size:10px}.join-form .field-help{margin:0}.join-form .bottom-actions{margin-top:auto}.join-success{flex-direction:column;flex:1;padding-top:34px;display:flex}.success-mark{background:var(--green-soft);width:46px;height:46px;color:var(--green);border-radius:50%;place-items:center;margin-bottom:20px;font-size:24px;font-weight:800;display:grid}.join-success h1{letter-spacing:-1.2px;margin:0 0 10px;font-size:clamp(28px,6vw,35px)}.join-success>.lead{margin-bottom:24px}.join-success .private-link-card{margin:0}.join-success .bottom-actions{margin-top:auto;padding-top:28px}.participant-roster{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:22px;padding:16px}.participant-roster .section-title-row{margin:0 0 10px}.participant-roster h2{margin:0 0 4px;font-size:16px}.participant-roster .section-title-row p{color:var(--muted);margin:0;font-size:12px}.participant-roster ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.participant-roster li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;font-size:13px;font-weight:650;display:flex}.participant-roster li:last-child{border-bottom:0}.participant-avatar{background:var(--green-soft);width:30px;height:30px;color:var(--green);border-radius:50%;flex:0 0 30px;place-items:center;font-size:12px;font-weight:800;display:grid}.participant-roster li small{color:var(--muted-light);margin-left:auto;font-size:10px}.participant-roster li small:only-child{display:none}.participant-roster .roster-empty{color:var(--muted);margin:0;font-size:12px}.participant-card{max-width:760px}.participant-card .bill-heading{padding-bottom:14px}.participant-card .bill-heading h1{margin-bottom:8px}.participant-name-row{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.participant-name-row .lead{min-width:0}.participant-edit-name{color:var(--green);white-space:nowrap;flex:none;align-items:center;gap:5px;display:inline-flex}.participant-edit-name svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.participant-name-form{gap:8px;width:100%;max-width:none;margin-top:14px;display:grid}.participant-name-form .field-label{margin:0}.participant-name-form .text-input{width:100%}.participant-name-actions{grid-template-columns:1fr;gap:9px;margin-top:3px;display:grid}.participant-name-actions .primary-button,.participant-name-actions .secondary-button{width:100%;min-height:42px;font-size:12px}.participant-name-form .error-message{margin:2px 0 0}@media (max-width:600px){.join-card,.participant-card{padding-left:22px;padding-right:22px}.join-success{padding-top:28px}.participant-roster{padding:14px}}.claim-editor{margin-top:25px}.claim-editor>.section-title-row{margin:0 0 12px}.claim-editor .section-title-row h2{margin:0 0 4px;font-size:18px}.claim-editor .section-title-row p{color:var(--muted);margin:0;font-size:12px}.claim-item-list{gap:10px;display:grid}.claim-item{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px}.claim-item.is-selected,.claim-item.is-shared{background:#fbfdfb;border-color:#bdd5c8}.claim-item-heading{grid-template-columns:27px minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.claim-item-name{overflow-wrap:anywhere;font-size:14px;line-height:1.45}.claim-toggle{color:var(--green);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:750;display:flex}.claim-toggle input{width:17px;height:17px;accent-color:var(--green);margin:0}.claim-mode-label{background:var(--green-soft);color:var(--green);letter-spacing:.04em;vertical-align:1px;border-radius:999px;margin-right:7px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-block}.claim-shared-note{color:var(--muted);margin:10px 0 0 35px;font-size:11px;line-height:1.45}.claim-item-details{color:var(--muted);justify-content:space-between;gap:12px;margin:9px 0 0 35px;font-size:11px;display:flex}.claim-item-details strong{color:var(--ink)}.claim-allocation{border-top:1px solid var(--line);margin:12px 0 0 35px;padding-top:10px}.claim-allocation>span{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.claim-allocation ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.claim-allocation li{justify-content:space-between;gap:12px;font-size:11px;display:flex}.claim-allocation li.is-you span,.claim-allocation li.is-you strong{color:var(--green);font-weight:800}.claim-unclaimed{color:var(--muted);margin:10px 0 0 35px;font-size:11px}.claim-total-preview{margin-top:14px}.claim-save-actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.claim-save-actions .primary-button{width:100%}.claim-save-actions .primary-button:disabled{opacity:.55;cursor:not-allowed}.claim-save-actions p{color:var(--muted);margin:0;font-size:11px}.claim-editor .success-message,.claim-editor .error-message{margin-bottom:0}@media (max-width:600px){.claim-item{padding:12px}.claim-item-heading{grid-template-columns:23px minmax(0,1fr);row-gap:8px}.claim-toggle{grid-column:2;justify-self:start}.claim-item-details,.claim-allocation,.claim-unclaimed,.claim-shared-note{margin-left:31px}.claim-item-name{font-size:13px}}.claim-quantity-control{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.claim-quantity-control input{border:1px solid var(--line);width:64px;height:38px;color:var(--ink);text-align:center;background:#fff;border-radius:10px;padding:0 8px;font-size:14px;font-weight:700}.claim-quantity-control input:focus{border-color:var(--green);outline:2px solid #34776038}.claim-quantity-control small{color:var(--muted);font-size:10px}.claim-item-details strong{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.claim-item-details strong small{color:var(--muted);font-size:9px;font-weight:500}.claim-unclaimed{background:var(--soft);border-radius:9px;padding:8px 10px;line-height:1.45}.claim-item .error-message{margin:10px 0 0 35px}@media (max-width:600px){.claim-quantity-control{grid-column:2;justify-self:start;gap:6px}.claim-item .error-message{margin-left:31px}}.claim-item-heading{align-items:center}.claim-item-name{text-align:left}@media (max-width:600px){.claim-item-heading{grid-template-columns:23px minmax(0,1fr) auto;align-items:center;column-gap:7px}.claim-quantity-control{grid-column:auto;justify-self:end;gap:5px}.claim-quantity-control input{width:52px;height:36px}.claim-quantity-control>span,.claim-quantity-control small{font-size:9px}}.claim-quantity-control{gap:5px;font-size:9px}.claim-quantity-control input{border-radius:8px;width:48px;height:33px;padding:0 5px;font-size:13px}.claim-quantity-control small{font-size:9px}@media (max-width:600px){.claim-quantity-control{gap:4px}.claim-quantity-control input{width:44px;height:31px}}.verification-review{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.verification-heading{margin:0 0 12px}.verification-heading h2{margin:0 0 4px;font-size:18px}.verification-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.verification-ready-note{color:#2f765f;background:#f2f8f4;border:1px solid #bdd5c8;border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:13px;font-weight:700}.verification-help{margin:0 0 12px}.verification-item-list{gap:10px;display:grid}.verification-item{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.verification-item.is-verified{background:#fbfdfb;border-color:#bdd5c8}.verification-item-main{grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.verification-item-copy{min-width:0}.verification-item-copy strong{overflow-wrap:anywhere;font-size:14px;display:block}.verification-item-quantity{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.verification-line-total{white-space:nowrap;font-size:13px}.verification-allocation{border-top:1px solid var(--line);margin:12px 0 0 36px;padding-top:10px}.verification-allocation-title{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:750;display:block}.verification-allocation ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.verification-allocation li{justify-content:space-between;gap:12px;font-size:11px;display:flex}.verification-allocation li strong{white-space:nowrap}.verification-unclaimed{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.45}.verification-check{color:var(--green);cursor:pointer;align-items:center;gap:8px;margin:12px 0 0 36px;font-size:11px;font-weight:750;display:flex}.verification-check input{width:17px;height:17px;accent-color:var(--green);margin:0}.verification-check input:disabled{cursor:not-allowed}.verification-actions{gap:8px;margin-top:14px;display:grid}.verification-actions .primary-button{width:100%}.verification-actions .primary-button:disabled{opacity:.55;cursor:not-allowed}.verification-actions p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.participant-status-pills{align-items:center;gap:7px;display:flex}.settlement-ready-pill{color:#2f765f;background:#e8f3ed}.settlement-ready-pill .status-dot{background:#5a9a7d}@media (max-width:600px){.verification-review{margin-top:20px;padding-top:18px}.verification-item{padding:12px}.verification-item-main{grid-template-columns:23px minmax(0,1fr) auto;gap:7px}.verification-item-copy strong{font-size:13px}.verification-item-copy>span,.verification-line-total{font-size:11px}.verification-allocation,.verification-check{margin-left:30px}.verification-ready-note{font-size:12px}.verification-heading>.item-count{font-size:10px}.participant-status-pills{gap:5px}.participant-status-pills .draft-pill{padding:6px 8px;font-size:9px}}.verification-item.has-unclaimed{background:#fffaf0;border-color:#dfc58e}.verification-check.is-warning{color:#946512}.verification-check.is-warning input{accent-color:#b9821e}.organizer-join-card{margin-bottom:14px}.organizer-joined-line{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.organizer-joined-line p{color:var(--muted);margin:0;font-size:13px}.organizer-participant-link .participant-link-note{color:var(--muted);margin:0;font-family:inherit;font-size:13px;line-height:1.55}.participant-link-field-label{margin:2px 0 0}.participant-link-field-label span{color:var(--muted-light);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.organizer-join-card>.field-help{margin-top:12px}.organizer-joined-line p strong{color:var(--ink)}.organizer-name-form{gap:8px;margin-top:14px;display:grid}.organizer-name-form .field-label{margin:0}.organizer-name-form .field-label span{color:var(--muted-light);letter-spacing:.08em;font-size:10px}.organizer-name-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:3px;display:grid}.organizer-name-actions .primary-button,.organizer-name-actions .secondary-button{min-height:42px;font-size:12px}.organizer-name-actions .primary-button:only-child{grid-column:1/-1}@media (max-width:600px){.organizer-name-actions{grid-template-columns:1fr}.organizer-joined-line{align-items:flex-start}}.participant-roster .roster-action{white-space:nowrap;flex:none;margin-left:8px;font-size:11px}.participant-roster .roster-action:disabled{opacity:.55;cursor:wait}.participant-roster .danger-text{color:var(--danger)}@media (max-width:600px){.participant-roster li{gap:7px}.participant-roster li>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.participant-roster .roster-action{padding:0 4px;font-size:10px}}.roster-action-wrap{flex:none;align-items:center;margin-left:8px;display:flex;position:relative}.roster-action-wrap .roster-action{margin:0}.roster-confirm-popover{z-index:20;border:1px solid var(--line);white-space:normal;text-align:left;background:#fff;border-radius:15px;width:min(310px,100vw - 48px);padding:16px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 14px 36px #272d272e}.roster-confirm-popover:before{content:"";border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;width:10px;height:10px;position:absolute;top:-6px;right:16px;transform:rotate(45deg)}.roster-confirm-popover>strong{font-size:14px;line-height:1.35;display:block}.roster-confirm-popover>p{color:var(--muted);margin:7px 0 14px;font-size:12px;font-weight:450;line-height:1.5}.roster-confirm-popover>div{justify-content:flex-end;gap:8px;display:flex}.roster-confirm-popover .secondary-button,.roster-confirm-popover .danger-button{border-radius:10px;width:auto;min-height:36px;padding:0 12px;font-size:12px}.roster-confirm-popover .secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.danger-button{background:var(--danger);color:#fff;cursor:pointer;border:0;font-weight:700}.danger-button:hover:not(:disabled){background:#963e32}.danger-button:disabled{opacity:.6;cursor:wait}.participant-profile-actions{flex-flow:column wrap;align-items:flex-start;gap:8px;display:flex}.participant-profile-leave-wrap{display:flex;position:relative}.participant-leave-trigger{color:#a85b4d;align-items:center;gap:6px;padding:2px 0;font-size:12px;font-weight:600;display:inline-flex}.participant-leave-trigger svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.participant-leave-popover{top:calc(100% + 10px);left:0;right:auto}.participant-leave-popover:before{left:18px;right:auto}.participant-profile-actions .participant-edit-name{margin:0}@media (max-width:600px){.participant-profile-actions{gap:8px}.participant-leave-popover{width:min(310px,100vw - 56px);left:-8px}}.input-with-counter{width:100%;position:relative}.input-with-counter .text-input{width:100%;padding-right:155px}.input-with-counter .character-count{color:var(--muted-light);white-space:nowrap;pointer-events:none;margin:0;font-size:11px;line-height:1.3;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.payment-instructions-card{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:20px;padding:17px}.payment-instructions-card>.section-title-row{margin:0 0 12px}.payment-instructions-card h2{margin:0 0 4px;font-size:16px}.payment-instructions-card .section-title-row p{color:var(--muted);margin:0;font-size:12px}.payment-instructions-form{gap:8px;display:grid}.payment-instructions-form .field-label,.payment-instructions-form .error-message,.payment-instructions-form .success-message{margin:0}.payment-instructions-form .primary-button{width:100%;margin:0}.payment-instructions-textarea{resize:vertical;min-height:104px;padding-top:11px}.payment-instructions-value{border-top:1px solid var(--line);gap:6px;padding-top:12px;font-size:13px;display:grid}.payment-instructions-value>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:750}.payment-instructions-value strong,.payment-instructions-value a{overflow-wrap:anywhere;color:var(--green)}.payment-instructions-value p{white-space:pre-wrap;color:var(--ink);margin:0;line-height:1.55}.payment-instruction-copy-row{align-items:center;gap:10px;min-width:0;display:flex}.payment-instruction-copy-row>strong,.payment-instruction-copy-row>a,.payment-instruction-copy-row>p{overflow-wrap:anywhere;flex:1;min-width:0}.payment-copy-button{border:1px solid var(--line);width:30px;height:30px;color:var(--green);cursor:pointer;background:#fff;border-radius:9px;flex:0 0 30px;place-items:center;margin-left:auto;padding:0;display:grid}.payment-copy-button:hover{background:var(--green-soft)}.payment-copy-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.payment-copy-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}@media (max-width:600px){.payment-instruction-copy-row>strong,.payment-instruction-copy-row>a{white-space:nowrap;scrollbar-width:none;font-size:12px;overflow-x:auto}.payment-instruction-copy-row>strong::-webkit-scrollbar{display:none}.payment-instruction-copy-row>a::-webkit-scrollbar{display:none}}textarea{font:inherit}.participant-share-breakdown{background:#f4faf5;border:1px solid #cfe5d5;border-radius:16px;margin-top:22px;padding:17px}.participant-share-breakdown>.section-title-row{margin:0 0 12px}.participant-share-breakdown h2{margin:0 0 4px;font-size:17px}.participant-share-breakdown .section-title-row p{color:var(--muted);margin:0;font-size:12px}.participant-share-lines{border-top:1px solid #dcebe0;margin:0;padding:0;list-style:none}.participant-share-lines li{border-bottom:1px solid #dcebe0;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.participant-share-lines li>div{gap:4px;min-width:0;display:grid}.participant-share-lines li>div>strong{overflow-wrap:anywhere;font-size:13px}.participant-share-lines li span{color:var(--muted);font-size:11px}.participant-share-lines li>strong{flex:none;font-size:13px}.participant-share-empty{color:var(--muted);border-top:1px solid #dcebe0;margin:0;padding:12px 0;font-size:12px}.participant-share-total{justify-content:space-between;gap:12px;padding-top:14px;font-size:14px;font-weight:800;display:flex}.participant-share-total strong{color:var(--green)}.secondary-button:disabled,.secondary-button.disabled{color:#aaa9a5;box-shadow:none;cursor:not-allowed;background:#deddd9}.secondary-button:disabled:hover{background:#deddd9;transform:none}.payment-roster-row{gap:10px}.payment-roster-name{overflow-wrap:anywhere;flex:1;min-width:0}.friend-payment-status{flex:none;align-items:center;gap:10px;display:flex}.friend-payment-amount{white-space:nowrap;font-size:12px}.friend-paid-toggle{min-height:34px;color:var(--green);white-space:nowrap;cursor:pointer;background:#f7fbf8;border:1px solid #cbded1;border-radius:10px;padding:0 11px;font-size:11px;font-weight:750}.friend-paid-toggle:hover:not(:disabled){background:var(--green-soft)}.friend-paid-toggle.is-paid{color:#28624a;background:#eaf5ed;border-color:#cfe5d5}.friend-paid-toggle:disabled{opacity:.6;cursor:wait}.friend-no-amount{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}@media (max-width:600px){.payment-roster-row{flex-wrap:wrap;padding:9px 0}.payment-roster-row .participant-avatar{align-self:flex-start}.friend-payment-status{justify-content:space-between;width:100%;margin:0 0 0 40px}.friend-no-amount{margin-left:40px}}.participant-paid-card{border:1px solid var(--line);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:15px 16px;display:flex}.participant-paid-card>div{gap:4px;min-width:0;display:grid}.participant-paid-card>div strong{font-size:13px}.participant-paid-card>div span{color:var(--muted);font-size:12px}.participant-paid-amount{background:var(--green-soft);color:var(--green);white-space:nowrap;text-underline-offset:3px;border-radius:6px;padding:2px 6px;-webkit-text-decoration:underline #34776059;text-decoration:underline #34776059;display:inline-block}@media (max-width:600px){.participant-paid-card{flex-direction:column;align-items:flex-start}.participant-paid-card .friend-paid-toggle{width:100%}}.close-bill-card{background:#f4faf5;border:1px solid #cfe5d5;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:17px;display:flex}.close-bill-card h2{margin:0 0 5px;font-size:16px}.close-bill-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.close-bill-actions{flex:none;align-items:center;gap:9px;display:flex}.close-bill-card .primary-button,.close-bill-actions .secondary-button{width:auto;min-width:190px;min-height:42px;font-size:12px}.bill-closed-note{margin-top:18px}.friend-paid-label{background:var(--soft);color:var(--muted);border-radius:99px;flex:none;padding:6px 10px;font-size:10px;font-weight:800}.friend-paid-label.is-paid{background:var(--green-soft);color:var(--green)}.bill-closed .roster-action-wrap{display:none}@media (max-width:600px){.close-bill-card,.close-bill-actions{flex-direction:column;align-items:stretch}.close-bill-card .primary-button,.close-bill-actions .secondary-button{width:100%;min-width:0}}.verification-actions .verification-ready-note{margin:0}.verification-actions{margin-top:8px}@media (max-width:600px){.payment-roster-row{flex-wrap:nowrap;padding:9px 0}.payment-roster-row .participant-avatar{align-self:center}.payment-roster-row .friend-payment-status{box-sizing:border-box;flex:none;justify-content:flex-end;gap:8px;width:auto;min-width:0;max-width:none;margin-left:auto}.payment-roster-row .friend-payment-amount{font-size:11px}.payment-roster-row .friend-paid-toggle{min-height:32px;padding:0 9px;font-size:10px}}.participant-roster .roster-invite-link{margin:12px 0 0}.verification-item-copy strong{text-align:left}.bill-adjustment-editor{margin-top:18px}.adjustment-actions{flex-wrap:wrap;gap:8px;display:flex}.adjustment-actions .add-item-button{flex:140px;min-height:40px}.adjustment-actions .add-item-button:disabled{opacity:.55;cursor:not-allowed}.adjustment-reconciliation{margin-top:8px}.participant-adjustment-line{border-bottom:1px solid #dcebe0;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.participant-adjustment-line>div{gap:4px;min-width:0;display:grid}.participant-adjustment-line>div strong{overflow-wrap:anywhere;font-size:13px}.participant-adjustment-line>div span{color:var(--muted);font-size:11px}.participant-adjustment-line>strong{white-space:nowrap;flex:none;font-size:13px}.adjustment-reorder-actions{align-items:center;gap:10px;display:flex}.adjustment-reorder-actions .adjustment-move-button{text-align:center;min-width:22px;font-size:15px;line-height:1}.adjustment-reorder-actions button:disabled{opacity:.35;cursor:not-allowed}.participant-share-items h3,.participant-bill-adjustments h3{color:var(--muted);margin:10px 0 8px;font-size:12px;font-weight:750}.participant-share-item-subtotal{color:var(--muted);justify-content:space-between;gap:12px;margin-top:8px;padding-top:12px;font-size:12px;font-weight:700;display:flex}.participant-share-item-subtotal strong{color:var(--ink);white-space:nowrap}.participant-bill-adjustments{background:#fff;border:1px solid #dcebe0;border-radius:12px;margin-top:14px;padding:12px 12px 0}.participant-bill-adjustments h3{color:var(--green);margin:0 0 2px}.participant-share-total{border-top:0;margin-top:14px;padding-top:0}.participant-bill-adjustments .participant-adjustment-line:last-child{border-bottom:0}.discount-percentage-label{margin-top:5px}.bill-adjustment-editor .item-input-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.claim-allocation summary{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:700;list-style:none;display:flex}.claim-allocation summary::-webkit-details-marker{display:none}.claim-allocation summary:after{content:"+";color:var(--green);font-size:16px;line-height:1}.claim-allocation[open] summary:after{content:"−"}.claim-allocation ul{margin-top:8px}.quantity-step-button{border:1px solid var(--line);width:28px;height:30px;color:var(--green);cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0;font-size:17px;font-weight:700;line-height:1;display:grid}.quantity-step-button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:600px){.claim-quantity-control{gap:4px}.claim-quantity-control .quantity-step-button{width:25px;height:30px}.claim-quantity-control input{width:40px}.claim-editor{padding-bottom:160px}.claim-editor .claim-save-actions{z-index:20;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));width:min(100vw - 28px,720px);padding:10px 12px calc(10px + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:16px;margin:0;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #28322d24}.claim-editor .claim-save-actions p{text-align:center}.claim-save-actions .claim-total-preview{background:0 0;margin-top:0;padding:0}.claim-save-actions .claim-total-preview>strong{font-size:16px}}.restaurant-name-row{flex-direction:column;align-items:flex-start;gap:4px;margin:2px 0 11px;display:flex}.restaurant-name-row .bill-restaurant-name{margin:0}.restaurant-name-form{gap:8px;width:100%;max-width:none;margin:4px 0 13px;display:grid}.restaurant-name-form .field-label{margin:0}.restaurant-name-form .text-input{width:100%}@media (max-width:600px){.adjustment-actions{flex-direction:column}.adjustment-actions .add-item-button{width:100%}.participant-adjustment-line{gap:8px}}
