:root{font-family:'DM Sans',system-ui,sans-serif;color:#183d39;background:#f8f5ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dd775e;outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h1{font-size:clamp(2.6rem,9vw,4.4rem);line-height:1.02;letter-spacing:-.035em}h2{font-size:2rem;line-height:1.1}h3{font-size:1.05rem}p{line-height:1.55}small,.small{font-size:.82rem;line-height:1.5}.muted{color:#6b7c73}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:700;color:#d57962}.shell{max-width:1140px;margin:auto;padding:0 32px}.top{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e6da}.brand{display:flex;align-items:center;gap:9px;font-family:'DM Serif Display',Georgia,serif;font-size:1.55rem;color:#183d39;text-decoration:none}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e78970;color:white;font:700 17px system-ui}.top-right{display:flex;gap:10px;align-items:center}.badge{border-radius:99px;padding:7px 12px;background:#e5eee6;color:#426a5c;font-size:.72rem;font-weight:700}.landing{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;min-height:620px;padding:70px 0}.hero-copy{max-width:500px}.hero-copy h1{margin:20px 0}.hero-copy p{max-width:430px;color:#6b7c73;font-size:1.05rem}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button{border:0;border-radius:12px;background:#1d5148;color:white;padding:15px 22px;font-weight:700;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.button:hover{background:#28675b}.button.secondary{background:#fff;color:#254d45;border:1px solid #dce3d9}.button.coral{background:#e5846d;color:#fff}.button.smallbtn{padding:9px 14px;min-height:40px;font-size:.82rem}.button:disabled{opacity:.5;cursor:not-allowed}.textbtn{border:0;background:none;color:#2b6659;text-decoration:underline;padding:8px}.hero-art{background:#dfece0;border-radius:28px;min-height:510px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-art:before,.hero-art:after{content:'';position:absolute;border-radius:50%;border:1px solid #c4d9c8;width:420px;height:420px}.hero-art:after{width:340px;height:340px}.receipt{position:relative;z-index:1;background:#fffdf7;width:265px;padding:29px 25px 24px;transform:rotate(-5deg);box-shadow:0 16px 55px #517f642b;border-radius:5px}.receipt:after{content:'';position:absolute;bottom:-9px;left:0;width:100%;height:10px;background:linear-gradient(135deg,transparent 50%,#fffdf7 50%) 0 0/14px 14px,linear-gradient(225deg,transparent 50%,#fffdf7 50%) 0 0/14px 14px}.receipt .center{text-align:center}.receipt .dash{border-top:1px dashed #cad1c7;margin:18px 0}.receipt-row,.line{display:flex;justify-content:space-between;gap:15px;margin:10px 0}.float-note{position:absolute;z-index:2;background:white;border-radius:14px;box-shadow:0 10px 30px #31543a20;padding:14px 17px;right:7%;bottom:17%;font-size:.78rem}.float-note strong{display:block;font-size:1rem}.spark{position:absolute;top:15%;right:15%;font-size:2rem;color:#e5846d}.steps{display:flex;gap:25px;margin-top:38px;color:#677d71;font-size:.78rem}.steps span{display:flex;align-items:center;gap:7px}.stepnum{background:#e4ede2;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;color:#366658;font-weight:700}.page{max-width:980px;margin:0 auto;padding:45px 24px 100px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.page-head h1{font-size:clamp(2.3rem,6vw,3.5rem);margin-top:9px}.panel{background:#fffefa;border:1px solid #eaece3;border-radius:20px;padding:24px;box-shadow:0 8px 30px #294c3510}.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.stack{display:grid;gap:18px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.field{display:grid;gap:7px;margin:14px 0;flex:1}.field label{font-size:.78rem;font-weight:700;color:#486158}.field input,.field select,input,select{width:100%;border:1px solid #d8e0d5;border-radius:10px;padding:12px;background:#fff;color:#183d39;min-height:46px}.field input:focus{border-color:#3e8270}.tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 25px;padding-bottom:4px}.tabs button{white-space:nowrap;border:0;background:transparent;color:#77877c;padding:11px 15px;border-radius:10px;font-weight:700}.tabs button.active{background:#1d5148;color:white}.item{border:1px solid #e6e9df;background:#fff;border-radius:16px;padding:19px;margin:12px 0}.item-title{font-weight:700;font-size:1.12rem}.amount{font-family:'DM Serif Display',Georgia,serif;font-size:1.65rem}.notice{background:#fff3e7;border:1px solid #f1dac5;color:#7f563d;border-radius:12px;padding:13px 15px;font-size:.86rem;line-height:1.5}.ok{background:#e9f3ea;color:#416a50;border-color:#d0e5d1}.danger{color:#a94c3d}.divider{height:1px;background:#ebeee7;margin:18px 0}.preview{display:flex;gap:8px;overflow:auto}.preview img{width:100px;height:120px;object-fit:cover;border-radius:10px}.qr{display:block;width:180px;max-width:100%;margin:15px auto}.invite{text-align:center}.invite .button{margin:4px}.pill{background:#f1f4eb;border-radius:99px;padding:5px 10px;font-size:.75rem;color:#557465}.claim-nav{display:flex;align-items:center;justify-content:space-between;color:#718277;font-size:.8rem;margin-bottom:12px}.claim-card{min-height:215px;display:flex;flex-direction:column;justify-content:center;text-align:center;touch-action:pan-y}.claim-card .amount{font-size:2.6rem;margin:12px}.claim-actions{display:flex;gap:10px}.claim-actions button{flex:1}.list-row{padding:14px 0;border-bottom:1px solid #edf0e8}.list-row:last-child{border-bottom:0}.list-row strong{font-size:.95rem}.total-row{font-weight:700;font-size:1.05rem}.footer{padding:25px 0;color:#829087;font-size:.78rem;border-top:1px solid #e9e6da}.modal-bg{position:fixed;inset:0;z-index:10;background:#122d27aa;display:grid;place-items:center;padding:20px}.modal{background:#fffefa;border-radius:22px;padding:26px;width:min(100%,460px);max-height:90vh;overflow:auto}.modal h2{margin-bottom:12px}.loading{padding:40px;text-align:center}.hidden{display:none}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#183d39;color:white;padding:12px 18px;border-radius:10px;z-index:20;display:none;max-width:90%;font-size:.9rem}#toast.show{display:block}@media(max-width:700px){.shell{padding:0 20px}.top{height:68px}.top-right .badge{display:none}.landing{grid-template-columns:1fr;gap:36px;padding:48px 0;min-height:0}.hero-art{min-height:350px;order:2}.receipt{transform:rotate(-4deg) scale(.9)}.steps{gap:12px;flex-wrap:wrap;margin-top:25px}.grid{grid-template-columns:1fr}.page{padding:30px 18px 90px}.panel{padding:20px}.page-head{align-items:start}.page-head .button{padding:10px}.claim-actions{position:sticky;bottom:10px;z-index:2;background:#f8f5edf0;padding:7px 0}.footer{margin-top:20px}}@media(prefers-reduced-motion:no-preference){button,.item{transition:transform .15s,background .15s}button:active{transform:scale(.97)}}

.textbtn:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}
@media(max-width:700px){.edit-item .row>.field,.edit-charge>.field{min-width:110px}.claim-actions button{padding-left:10px;padding-right:10px}.top-right{gap:2px}.top-right .textbtn{font-size:.8rem}}

.photo-detail{margin:10px 0;font-size:.85rem;color:#2b6659}.photo-detail summary{cursor:pointer;padding:8px 0}.receipt-photo{display:block;width:100%;max-height:70vh;object-fit:contain;background:#f2f1e9;border-radius:10px}

/* Receipt review */
.receipt-editor>h2{margin:9px 0 7px}.receipt-editor .intro{max-width:38rem}.upload-box{margin:22px 0 20px;padding:20px;border:1px dashed #c5d5c7;border-radius:18px;background:#f5f8f1}.upload-heading{display:flex;align-items:center;gap:12px}.upload-heading strong{font-size:.96rem}.upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e3eee3;color:#346d5a;font-size:1.45rem}.upload-actions{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 0}.upload-actions .button{flex:1;padding:12px 15px;min-width:145px}.file-control{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.upload-help{margin-top:14px}.photo-strip{display:flex;gap:10px;overflow-x:auto;margin:18px 0}.photo-tile{position:relative;flex:0 0 104px;background:white;border:1px solid #e6ebe1;border-radius:12px;padding:6px;box-shadow:0 4px 12px #263d3210}.photo-tile img{display:block;width:90px;height:108px;border-radius:7px;object-fit:cover}.photo-tile>span{display:block;text-align:center;font-size:.68rem;color:#6c7d70;margin:6px 0 1px}.photo-remove{position:absolute;right:1px;top:1px;border:0;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:#fff;color:#37594c;box-shadow:0 2px 8px #1d332c36;font-size:1.3rem}.scan-notice{margin:16px 0}.scan-notice ul{padding-left:20px;margin:6px 0 0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:30px 0 12px}.section-heading h3{font-size:1.08rem;margin:3px 0}.count-pill{display:grid;place-items:center;border-radius:50%;background:#eaf1e7;color:#44695a;min-width:28px;height:28px;font-size:.78rem;font-weight:700}.receipt-lines{border-top:1px solid #e8ede5}.receipt-line{padding:16px 0 13px;border-bottom:1px solid #e8ede5}.receipt-line-top{display:flex;align-items:flex-end;gap:12px}.line-number{flex:0 0 30px;align-self:center;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#edf3ea;color:#648071;font-size:.7rem;font-weight:700}.receipt-line .field,.charge-line .field{margin:0;min-width:0}.line-name{flex:1}.line-remove{border:0;background:transparent;color:#8a746d;text-decoration:underline;font-size:.75rem;padding:12px 0;white-space:nowrap}.item-values{display:grid;grid-template-columns:minmax(70px,.65fr) minmax(110px,1fr) minmax(100px,1fr);gap:10px;margin:13px 0 0 42px;align-items:start}.money-input{display:flex;align-items:center;border:1px solid #d8e0d5;background:#fff;border-radius:10px;overflow:hidden}.money-input>span{padding-left:12px;color:#6b7c73;font-weight:700;font-size:.85rem}.money-input input{border:0;border-radius:0;min-width:0;padding-left:7px}.money-input:focus-within{outline:3px solid #dd775e;outline-offset:2px}.unit-details{font-size:.75rem;color:#537364;padding-top:2px}.unit-details summary,.issue-details summary,.more-options summary,.photo-detail summary{cursor:pointer;list-style:none}.unit-details summary::before,.issue-details summary::before,.more-options summary::before,.photo-detail summary::before{content:'＋';margin-right:6px}.unit-details[open] summary::before,.issue-details[open] summary::before,.more-options[open] summary::before,.photo-detail[open] summary::before{content:'−'}.unit-details .field{margin-top:8px}.line-review{margin:10px 0 0 42px;font-size:.75rem;color:#9a614a}.issue-details{margin:11px 0 0 42px;font-size:.77rem;color:#718078}.issue-details summary{display:inline-block;padding:5px 0}.issue-choice{display:flex;align-items:center;gap:9px;margin:10px 0 4px;color:#53665c}.issue-choice input,.review-confirm input{width:20px;height:20px;min-height:20px;accent-color:#245e4e;flex:none}.add-line{width:100%;border:1px dashed #bdcfc0;border-radius:11px;background:transparent;padding:13px;color:#286954;font-weight:700;text-align:center;margin-top:12px}.charge-line{display:grid;grid-template-columns:1fr minmax(100px,.55fr) auto;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid #ebeee8}.charge-line .line-review{grid-column:1/-1;margin:0}.total-input{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px;background:#eaf2e8;border-radius:14px;margin:24px 0}.total-input label{font-weight:700;font-size:.9rem}.total-input .money-input{width:150px;flex:none}.more-options{border-top:1px solid #ebeee8;border-bottom:1px solid #ebeee8;padding:16px 0;color:#315c4c;font-size:.85rem}.more-options>.field{margin-top:18px}.review-confirm{display:flex;gap:11px;align-items:flex-start;padding:14px;margin-top:18px;background:#fff4e8;border-radius:12px;color:#795746;font-size:.83rem;line-height:1.45}.save-receipt{width:100%;justify-content:space-between;margin-top:20px}.receipt-aside h2{margin:10px 0}.finish-panel h2{margin:10px 0}.finish-panel .row{margin-top:18px}.tabs button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.receipt-editor{padding:20px 17px}.upload-box{padding:16px}.receipt-line-top{gap:8px}.line-number{flex-basis:26px;width:26px;height:26px}.item-values{margin-left:34px;grid-template-columns:minmax(65px,.65fr) minmax(105px,1fr);gap:9px}.unit-details{grid-column:1/-1}.issue-details,.line-review{margin-left:34px}.total-input{padding:15px}.total-input .money-input{width:120px}.receipt-aside{order:2}.charge-line{grid-template-columns:1fr minmax(94px,.65fr) auto}.upload-actions .button{min-width:120px}}
@media(max-width:700px){.tabs{gap:3px}.tabs button{flex:1;padding:10px 4px;font-size:.72rem;min-width:0;text-align:center}}

/* Guided path through the table */
.journey-guide{display:flex;align-items:center;gap:13px;padding:16px 18px;margin:0 0 22px;border:1px solid #dce9db;border-radius:15px;background:#eef5eb}.journey-counter{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#245a4d;color:white;font-weight:700}.journey-guide>div{flex:1;min-width:0}.journey-guide strong{display:block;font-size:.92rem;margin:3px 0;color:#23483e}.journey-guide p{font-size:.78rem;line-height:1.4;color:#687d6e}.journey-jump{font-size:.77rem;white-space:nowrap}.next-step{margin:22px 0 0;padding:18px;background:#eef5eb;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.next-step p{font-size:.84rem;color:#547061;margin-top:5px}.next-step .button{min-height:44px;padding:11px 15px;white-space:nowrap}.upload-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.finish-panel{border-color:#d5e5d5;background:#f7fbf5}.finish-panel .button{margin-top:2px}.tabs button[aria-current=step]{box-shadow:0 3px 9px #26554922}@media(max-width:700px){.journey-guide{padding:13px;gap:10px;margin-bottom:16px}.journey-counter{width:32px;height:32px;flex-basis:32px}.journey-jump{font-size:.7rem;padding:4px}.next-step{align-items:stretch;flex-direction:column}.next-step .button{width:100%}}

.scan-progress{margin-top:16px;padding:15px;background:#fff;border:1px solid #dce8dc;border-radius:13px}.scan-progress.hidden{display:none}.scan-progress-heading{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;color:#315e50}.scan-progress-percent{font-variant-numeric:tabular-nums;font-weight:700}.scan-progress progress{display:block;width:100%;height:9px;margin:10px 0;border:0;border-radius:99px;overflow:hidden;accent-color:#3f826b}.scan-progress progress::-webkit-progress-bar{background:#e3ece2;border-radius:99px}.scan-progress progress::-webkit-progress-value{background:#3f826b;border-radius:99px}.scan-progress p{margin:0}

/* Mobile item review */
.claim-review{max-width:780px;margin:auto}.claim-review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:9px 0 18px}.claim-review-heading h2{margin-bottom:4px}.claim-review-heading>strong{white-space:nowrap;color:#245a4d;font-size:1.25rem}.claim-lists{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #e2eae0;scrollbar-width:thin}.claim-lists button{border:0;border-bottom:3px solid transparent;background:transparent;min-height:48px;padding:10px 12px;white-space:nowrap;color:#62796b;font-weight:700}.claim-lists button.selected{border-bottom-color:#286b54;color:#225647}.claim-lists span{font-size:.72rem;background:#edf3ea;border-radius:99px;padding:3px 7px;margin-left:3px}.claim-list-heading{margin:20px 0 8px}.claim-list-heading h3{margin:0 0 5px}.claim-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #e9eee8;touch-action:pan-y}.claim-review-main{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.claim-review-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.claim-review-actions .textbtn{padding:10px 5px;min-height:44px}.claim-review-actions .button{min-height:44px}.claim-empty{padding:18px 0}.claim-review-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}.claim-review-footer .button{min-height:48px}@media(max-width:480px){.claim-review{padding:19px 16px}.claim-lists{margin:0 -5px}.claim-lists button{padding:10px 7px;font-size:.76rem}.claim-review-row{align-items:flex-start;flex-wrap:wrap;gap:5px}.claim-review-main{flex:1 1 100%}.claim-review-actions{margin-left:auto}.claim-review-footer{align-items:stretch;flex-direction:column}.claim-review-footer .button{width:100%}}

.summary-layout{max-width:680px;margin:0 auto}.summary-amount{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.summary-amount h2{margin:8px 0}.summary-amount>.amount{white-space:nowrap}.summary-payment{font-size:.86rem;line-height:1.5;margin:16px 0;color:#536b62}.summary-payment.notice{color:#7f563d}.summary-pending{margin:14px 0}.summary-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.summary-actions .button{flex:1 1 150px}.summary-quick{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e9eee7;padding:14px 0;font-size:.9rem}.summary-quick .textbtn{text-align:right}.summary-details{border-top:1px solid #e9eee7}.summary-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:.93rem;font-weight:700;padding:17px 0;list-style:none}.summary-details>summary::-webkit-details-marker{display:none}.summary-details>summary:after{content:'+';font-size:1.2rem;color:#608174;margin-left:auto}.summary-details[open]>summary:after{content:'−'}.summary-detail-body{padding:0 0 18px}.summary-detail-body>.small{margin-top:8px}.summary-detail-body .row{margin-top:12px}.summary-person{padding:9px 0;border-bottom:1px solid #eef1eb}.summary-person:last-child{border:0}.summary-issue{margin:10px 0}.summary-layout .line{align-items:flex-start}.summary-layout .line>b,.summary-layout .line>strong:last-child{white-space:nowrap}@media(max-width:430px){.summary-amount{display:block}.summary-amount>.amount{display:block;margin-top:12px}.summary-actions .button{flex-basis:100%}.summary-quick{align-items:flex-start}}
@media(max-width:480px){.claim-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;overflow:visible}.claim-lists button{white-space:normal;line-height:1.25;min-width:0;padding:9px 2px}.page.reviewing .page-head{margin-bottom:12px}.page.reviewing .page-head h1{font-size:1.7rem}.page.reviewing .journey-guide{display:none}}

@media(max-width:480px){.page.settling .page-head{margin-bottom:12px}.page.settling .page-head h1{font-size:1.9rem}.page.settling .journey-guide{display:none}}
/* Focus the journey on people, remaining items, and amounts due. */
.people-journey{max-width:680px;margin:0 auto}.people-journey h2{margin:10px 0}.table-people{margin-top:18px;border-top:1px solid #e6ece4}.person-row{display:flex;align-items:center;justify-content:space-between;min-height:50px;border-bottom:1px solid #e6ece4}.add-person-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.add-person-row .field{min-width:150px}.add-person-row .button{margin:14px 0;min-height:46px}.journey-primary{width:100%;margin:12px 0}.invite-options{border-top:1px solid #e3eae2;margin-top:16px}.invite-options>summary{padding:18px 0;cursor:pointer;color:#245b4d;font-weight:700}.invite-detail{text-align:left;padding:0 0 12px}.invite-detail>.small{margin:10px 0}.invite-detail .qr{margin:18px auto}.invite-buttons{display:flex;gap:8px;flex-wrap:wrap}.invite-address{overflow-wrap:anywhere}.claim-card .amount{font-size:clamp(1.35rem,5vw,2rem)}.claim-availability{display:inline-block;padding:6px 10px;background:#edf5ee;color:#245b4d;border-radius:99px;font-weight:700;font-size:.82rem}.claim-selected{font-weight:700;color:#245b4d;font-size:.9rem}.claim-side h2{margin:10px 0}.modal-actions{display:grid;gap:8px;margin-top:18px}.modal-actions .button{width:100%}.next-people{border-top:1px solid #e4ebe2;margin-top:22px;padding-top:16px}.next-people p{margin:4px 0 8px}.person-next{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid #e6ede4;padding:14px 0;min-height:48px;color:#245b4d}.person-next span:last-child{font-weight:700}.summary-unclaimed,.summary-issues,.payer-list{border-top:1px solid #e6ece4;margin-top:22px;padding-top:18px}.summary-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-section-head h3{margin-top:5px}.summary-unclaimed>p,.payer-list>p{margin:7px 0 12px}.unclaimed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e9eee7;padding:12px 0}.unclaimed-row>div{display:grid;gap:3px;min-width:0}.unclaimed-row strong{overflow-wrap:anywhere}.unclaimed-row .button{flex-shrink:0}.payer{border-bottom:1px solid #e7ede6}.payer details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:68px;padding:10px 0}.payer details>summary::-webkit-details-marker{display:none}.payer-name{display:grid;gap:4px;min-width:0}.payer-name strong{overflow-wrap:anywhere}.payer-name small{color:#6b7c73;font-size:.76rem;font-weight:400}.payer-total{white-space:nowrap;font-size:1.05rem;font-weight:700}.payer-total span{color:#618174;padding-left:5px}.payer-details{padding:2px 0 14px}.payer-actions{display:flex;flex-wrap:wrap;gap:2px 8px}.payer-actions .textbtn{min-height:42px}.payer-choose{margin:-5px 0 8px;padding-left:0}.table-overview h2{margin:9px 0}.summary-footnote{margin-top:20px}.summary-main .notice{margin:12px 0}@media(max-width:480px){.add-person-row{align-items:stretch;display:block}.add-person-row .button{width:100%;margin:0 0 12px}.claim-card .amount{line-height:1.3}.person-next{font-size:.88rem}.payer-actions .textbtn{padding-left:0}}

.flow-panel{max-width:620px;margin:0 auto}.flow-panel h2{margin:10px 0 12px}.flow-panel>.notice{margin-top:14px}.tip-options{border:0;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tip-options legend{font-weight:700;font-size:.85rem;margin-bottom:10px}.tip-choice{cursor:pointer;position:relative}.tip-choice input{position:absolute;opacity:0;width:1px;min-height:0}.tip-choice span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:54px;border:1px solid #d8e3d8;border-radius:12px;background:white;font-weight:700}.tip-choice span small{font-size:.68rem;color:#658575}.tip-choice input:checked+span{background:#e8f3e8;border:2px solid #286b54;color:#1d5148}.tip-choice input:focus-visible+span{outline:3px solid #dd775e;outline-offset:2px}.flow-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:22px}.flow-actions .textbtn{min-height:44px}.flow-add{border-top:1px solid #e4ebe2;margin-top:20px;padding-top:16px}.flow-add label{display:block;font-size:.85rem;font-weight:700;margin-bottom:8px}.flow-add-row{display:flex;gap:8px}.flow-add-row input{min-width:0}.flow-pass{text-align:center;padding-top:38px;padding-bottom:30px}.flow-pass h2{margin:15px 0}.flow-panel .next-people{margin-top:18px}

.receipt-sharing{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;border:1px solid #dce8dc;border-radius:12px;background:#f7faf5;cursor:pointer}.receipt-sharing input{width:20px;min-height:20px;flex:none;margin:2px 0}.receipt-sharing span{display:grid;gap:5px;font-size:.9rem}.receipt-sharing small{font-size:.78rem;line-height:1.45;color:#64796e}

.claim-quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border:1px solid #dce8dc;background:#fffefa;border-radius:14px}.claim-quantity>label{font-weight:700;font-size:.9rem}.quantity-stepper{display:flex;align-items:center;gap:5px}.quantity-stepper button{width:44px;min-height:44px;border:1px solid #d8e0d5;border-radius:10px;background:white;color:#245b4d;font-size:1.35rem}.quantity-stepper input{width:62px;min-height:44px;text-align:center;padding:7px;font-weight:700;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.claim-quantity p{flex-basis:100%;margin:0}@media(max-width:360px){.claim-quantity{padding:12px}.claim-quantity>label{flex-basis:100%}}

@media(max-width:700px){.quantity-mode .claim-actions{position:static;background:transparent;padding:0}}

/* Prices for repeated items: one clear unit price, with the receipt total secondary. */
.claim-price{display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap;margin:14px 0 3px;line-height:1.1}.claim-price-value{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,6vw,2.35rem);letter-spacing:-.025em}.claim-price-unit{font-size:.9rem;color:#61786d;font-weight:600}.claim-line-total{font-size:.82rem;color:#6b7c73;margin:0 0 14px}.claim-card .claim-availability{align-self:center;width:auto;max-width:100%;padding:7px 14px}.claim-card .claim-selected{margin-top:9px}.claim-card .small.muted:empty{display:none}.claim-card .item-title{overflow-wrap:anywhere}

.app-version{display:inline-block;margin-left:8px;color:#71867a}.summary-handoff{margin:20px 0 4px;padding:15px;border-radius:14px;background:#eef5eb;border:1px solid #dce9db}.summary-handoff strong{font-size:.94rem}.summary-handoff p{margin:4px 0 10px}.summary-handoff .button{width:100%;min-height:46px}.review-next-hint{flex-basis:100%;margin:-5px 0 0}@media(max-width:480px){.review-next-hint{margin:0}}
/* A person's amount, payment status and slip stay together on the summary. */
.summary-viewer{margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid #e6ece4}.summary-viewer select{width:100%}.payment-status{margin:20px 0 12px;padding:14px 16px;border:1px solid #e6e8df;border-radius:14px;background:#f8f8f3;color:#415b51}.payment-status.is-paid{background:#edf5ee;border-color:#d5e8d8;color:#245b4d}.payment-status strong{font-size:.94rem}.payment-status p{font-size:.84rem;line-height:1.45;margin:5px 0 0}.payment-actions{margin:16px 0 10px}.payment-undo{margin:0 0 10px;padding-left:0;min-height:42px}.summary-person-switch{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #e7ede6;background:transparent;color:#193e36;padding:14px 2px;min-height:68px;cursor:pointer}.summary-person-switch>span{display:grid;gap:4px;min-width:0}.summary-person-switch>span:last-child{text-align:right;flex-shrink:0}.summary-person-switch small{font-size:.76rem;font-weight:400;color:#6b7c73}.summary-person-switch[aria-current=true]{color:#28715c}.summary-person-switch strong{overflow-wrap:anywhere}
.payment-confirm-amount{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f2f6ee;border-radius:12px;padding:16px;margin:18px 0}.payment-confirm-amount span{font-size:.9rem;color:#536b62}.payment-confirm-amount strong{font-size:1.3rem;white-space:nowrap}

.quantity-review-list{border:1px solid #e5ebe2;background:#f8faf5;border-radius:12px;padding:13px 15px;margin:16px 0}.quantity-review-list>strong{display:block;margin-bottom:8px}.quantity-review-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #e5ebe2;font-size:.88rem}.quantity-review-line strong{text-align:right}.quantity-review-list+.small{margin-top:8px}.summary-issue .issue-review-quantity{margin-top:12px}

.sparkle-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:middle}.spark .sparkle-icon{display:block}.receipt-sparkles{display:flex;justify-content:center;gap:14px;margin-top:20px;color:#e5846d}.receipt-sparkles .sparkle-icon{width:16px;height:16px}

/* Swipe feedback stays behind the moving card; vertical page scrolling remains native. */
.swipe-stage{position:relative;overflow:hidden;border-radius:18px;isolation:isolate}.swipe-moving{position:relative;touch-action:pan-y pinch-zoom;will-change:transform;transition:transform .25s cubic-bezier(.2,.75,.25,1)}.swipe-moving.is-dragging{transition:none;user-select:none}.swipe-moving.is-leaving{transition:transform .2s ease-in}.swipe-feedback{position:absolute;inset:0;display:flex;align-items:center;padding:0 22px;font-weight:700;font-size:.96rem;opacity:0;pointer-events:none}.swipe-feedback.swipe-right{justify-content:flex-start;background:#dfeee4;color:#205d4c}.swipe-feedback.swipe-left{justify-content:flex-end;background:#f8e5dc;color:#944f40}.claim-review-row.swipe-moving{background:#fffdf8}.claim-review-rows .swipe-stage{border-radius:10px}.claim-review-rows .swipe-feedback{font-size:.9rem}@media(prefers-reduced-motion:reduce){.swipe-moving,.swipe-moving.is-leaving{transition:none}}
.swipe-instruction{display:flex;justify-content:center;gap:10px;margin:10px 0 0;color:#667d71;font-size:.8rem;text-align:center}.swipe-instruction span{color:#a7b8ac}

/* Repeated taps should increment controls without triggering iOS double-tap zoom. */
button{touch-action:manipulation}
@media(max-width:700px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}

.remainder-button{margin:12px 0;width:100%}.remainder-list{margin:16px 0}.remainder-list .line{gap:12px}.remainder-list .line span{overflow-wrap:anywhere}.remainder-list .line strong{white-space:nowrap}

/* Mobile layout: keep navigation, actions, and card details readable without squeezing. */
.top-right{min-width:0}.top-right .textbtn{white-space:nowrap}.header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{flex-shrink:0}.tip-choice span{text-align:center;padding:8px}
@media(max-width:700px){
 .page-head{margin-bottom:18px}.page-head h1{font-size:clamp(1.9rem,8vw,2.35rem)}
 .tabs{gap:3px;margin-bottom:16px}.tabs button{min-height:44px;white-space:nowrap;font-size:.76rem}
 .journey-guide{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start}.journey-jump{grid-column:2;justify-self:start}
 .page.claiming .journey-guide{display:none}.page.claiming .grid{gap:14px}
 .claim-card{min-height:175px;padding:18px 15px}.claim-card .item-title{font-size:1.28rem!important;margin-top:9px!important;line-height:1.2}
 .claim-quantity{margin-top:10px;padding:12px}.claim-actions button{font-size:.9rem;line-height:1.2}
 .claim-side{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;padding:14px 16px}.claim-side .eyebrow{grid-column:1}.claim-side h2{grid-column:1;font-size:1.5rem;margin:4px 0}.claim-side p{display:none}.claim-side button{grid-column:2;grid-row:1 / span 2;min-height:44px;text-align:right}
 .claim-review-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
}
@media(max-width:400px){.header-name{display:none}.shell{padding-left:16px;padding-right:16px}.page-head .badge{flex-shrink:0}.tabs button{font-size:.72rem}}
@media(max-width:480px){
 .page{padding:24px 0 72px}.summary-main,.claim-review{padding:18px 16px}
 .summary-section-head{flex-wrap:wrap;align-items:flex-start}.summary-section-head>span{white-space:nowrap}
}

@media(max-width:700px){.claim-side{grid-template-columns:minmax(100px,1fr) auto}.claim-side .eyebrow,.claim-side h2{white-space:nowrap}.claim-side button{font-size:.84rem}}
@media(max-width:700px){.claim-side{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px}.claim-side .eyebrow{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.claim-side h2{flex:1 1 auto;white-space:nowrap}.claim-side button{flex:0 0 auto}}
/* Host's table overview keeps payment and unassigned-item tracking together. */
.host-overview{margin:0 0 24px;border:1px solid #d9e7d9;border-radius:16px;background:#f4f8f1;overflow:hidden}
.host-overview>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:15px 16px;color:#1d5148;min-height:68px}
.host-overview>summary::-webkit-details-marker{display:none}.host-overview>summary::after{content:'+';font-size:1.45rem;line-height:1;flex:none}.host-overview[open]>summary::after{content:'−'}
.host-overview>summary span{display:grid;gap:4px;min-width:0}.host-overview>summary strong{font-size:1rem}.host-overview>summary small{font-size:.79rem;color:#60776a;line-height:1.4}
.host-overview-body{padding:0 16px 16px}.overview-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.overview-totals>div{display:grid;align-content:start;gap:6px;padding:11px;background:#fffefa;border:1px solid #e0ebe0;border-radius:10px;min-width:0}.overview-totals span{font-size:.72rem;color:#5a7165;line-height:1.35}.overview-totals strong{font-size:1rem;color:#1d5148;overflow-wrap:anywhere}.host-overview .summary-unclaimed,.host-overview .summary-issues,.host-overview .payer-list{border-top-color:#d9e6d9}.host-overview .summary-person-switch small{line-height:1.45}.overview-all-assigned{margin-top:16px;font-size:.84rem;color:#365f4e}.host-overview .notice{margin-top:12px}
@media(max-width:400px){.host-overview-body{padding:0 12px 14px}.overview-totals{grid-template-columns:1fr;gap:6px}.overview-totals>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px}.overview-totals strong{white-space:nowrap}}
.payment-status.needs-check{background:#fff3e7;border-color:#f1dac5;color:#7f563d}
/* A compact settlement screen: amount and actions first, details on demand. */
.summary-redesign{max-width:620px}.summary-redesign .summary-main{padding:20px}.summary-share{padding-bottom:4px}.summary-person-picker{display:flex;align-items:center;gap:10px;margin-bottom:18px}.summary-person-picker label{font-size:.78rem;font-weight:700;color:#5c7468;white-space:nowrap}.summary-person-picker select{min-width:0;min-height:42px;padding:8px 10px;background:#f7f9f5;font-size:16px}
.summary-redesign .summary-amount{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.summary-redesign .summary-amount>div{min-width:0}.summary-redesign .summary-amount h2{font-size:1.38rem;margin:5px 0 0;line-height:1.15;overflow-wrap:anywhere}.summary-redesign .summary-amount>.amount{display:block;margin:0;white-space:nowrap;font-size:clamp(1.6rem,6vw,2.15rem);line-height:1.05}.share-status{font-size:.83rem;color:#687d71;margin-top:9px}.share-status.is-paid{color:#24634f;font-weight:700}.share-status.needs-check{color:#9b5b3e;font-weight:700}.summary-share>.small{margin-top:5px}.summary-redesign .payment-actions{display:flex;flex-wrap:nowrap;gap:8px;margin:16px 0 10px}.summary-redesign .payment-actions .button{min-width:0;flex:1 1 0;padding:11px 8px;min-height:46px;font-size:.88rem}.summary-redesign .payment-undo{margin:0 0 4px}
.summary-fold{border-top:1px solid #e6ece4}.summary-fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 0;font-size:.93rem;font-weight:700;color:#234b41;cursor:pointer}.summary-fold>summary::-webkit-details-marker{display:none}.summary-fold>summary>span:first-child{min-width:0;overflow-wrap:anywhere}.summary-fold>summary small{font-weight:500;font-size:.78rem;color:#6b7d72;margin-left:5px}.fold-hint{font-size:.78rem;font-weight:600;color:#668075;white-space:nowrap}.summary-fold[open] .fold-hint{font-size:0}.summary-fold[open] .fold-hint:after{content:'Close';font-size:.78rem}.summary-fold-body{padding:0 0 14px}.summary-fold-actions{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:6px}.summary-fold-actions .textbtn{padding-left:0;min-height:44px}.summary-fold-body .summary-unclaimed,.summary-fold-body .summary-issues{margin:0;padding-top:0;border:0}.summary-fold-body .notice{margin:8px 0}.summary-attention>summary{color:#92563d}.summary-redesign .host-overview{margin:8px 0;background:#f5f8f3}.summary-redesign .host-overview>summary{min-height:60px;padding:12px 14px}.summary-redesign .host-overview .payer-list{margin-top:14px}.summary-pass{min-height:44px;padding-left:0}.summary-redesign .summary-footnote{margin-top:14px;font-size:.74rem}.summary-more .textbtn{padding-left:0;min-height:44px}.summary-more .receipt-sharing{margin:6px 0 12px}.summary-fold-body>.row{margin-top:12px}
@media(max-width:400px){.summary-redesign .summary-main{padding:16px}.summary-redesign .summary-amount h2{font-size:1.25rem}.summary-redesign .summary-amount>.amount{font-size:1.65rem}.summary-person-picker{margin-bottom:14px}}

.summary-attention>summary>span:first-child{display:grid;gap:3px}.summary-attention>summary small{margin:0}.summary-redesign .payment-actions .button{white-space:nowrap;font-size:.84rem}
/* The host starts with the whole table and can expand a complete split. */
.host-table{max-width:680px}.host-table .summary-main{padding:20px}.host-table-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:7px}.host-table-title h2{font-size:1.7rem;line-height:1.1}.host-table-title .amount{font-size:clamp(1.7rem,6vw,2.3rem);white-space:nowrap}.host-table-head>p{margin-top:5px}.host-table-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0 12px}.host-table-stats>div{display:grid;gap:5px;align-content:start;padding:11px 10px;background:#f3f7f1;border:1px solid #e1eae0;border-radius:10px;min-width:0}.host-table-stats span{font-size:.72rem;color:#64796d;line-height:1.25}.host-table-stats strong{font-size:.93rem;color:#1d5148;overflow-wrap:anywhere}.host-progress{margin-top:12px}.host-progress>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline;color:#315d4e;font-size:.8rem}.host-progress span{color:#6b7d72;font-size:.75rem;white-space:nowrap}.host-progress progress{display:block;width:100%;height:7px;margin-top:7px;border:0;border-radius:99px;overflow:hidden;accent-color:#2d705c}.host-progress progress::-webkit-progress-bar{background:#e5eee3;border-radius:99px}.host-progress progress::-webkit-progress-value{background:#2d705c;border-radius:99px}.host-table-note{margin:10px 0 14px}.host-attention{margin-top:4px}.host-people-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:21px 0 11px}.host-people-heading h3{font-size:1.05rem}.host-people-heading p{margin-top:3px}.host-people-heading .button{flex:none;min-height:42px}.host-diners{border-top:1px solid #e5ece2}.host-diner{border-bottom:1px solid #e5ece2}.host-diner>summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 0;cursor:pointer}.host-diner>summary::-webkit-details-marker{display:none}.host-diner-info{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.host-diner-info>strong{color:#1d443b}.host-diner-info>strong small{color:#6b7d72;font-weight:500}.host-diner-status{font-size:.79rem;line-height:1.35;color:#6b7d72}.host-diner-status.is-paid{color:#2b6d53}.host-diner-status.needs-check,.host-payment-warning{color:#9b5b3e}.host-diner-preview{font-size:.75rem;line-height:1.35;color:#73867a}.host-diner-amount{display:grid;gap:3px;text-align:right;flex:none;white-space:nowrap}.host-diner-amount strong{font-size:1rem;color:#1d5148}.host-diner-amount small{font-size:.69rem;color:#73867a}.host-diner-amount:after{content:'View ↓';font-size:.73rem;color:#2b6659;margin-top:2px}.host-diner[open] .host-diner-amount:after{content:'Close ↑'}.host-diner-body{padding:0 0 14px}.host-diner-body>.small:first-child{margin:0 0 7px}.host-diner-body .line{align-items:flex-start;font-size:.87rem;gap:12px}.host-diner-body .line span{overflow-wrap:anywhere;min-width:0}.host-diner-body .line b{white-space:nowrap}.host-diner-actions{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:10px}.host-diner-actions .textbtn{min-height:40px;padding-left:0}.host-slip-note{margin:14px 0 4px}.host-table .summary-pass{display:block}.host-table .summary-attention>summary small:empty{display:none}
@media(max-width:420px){.host-table .summary-main{padding:16px}.host-table-title h2{font-size:1.4rem}.host-table-title .amount{font-size:1.75rem}.host-table-stats{grid-template-columns:1fr;gap:5px}.host-table-stats>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px}.host-table-stats strong{white-space:nowrap}.host-people-heading{align-items:flex-start;flex-direction:column;gap:9px}.host-people-heading .button{width:100%}.host-diner>summary{gap:8px}}

@media(max-width:700px){.page.host-settling .page-head{display:none}.page.host-settling{padding-top:18px}}
@media(max-width:420px){.host-table-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.host-table-stats>div{display:grid;gap:4px;align-content:start;padding:8px 7px}.host-table-stats strong{font-size:.88rem}.host-table-stats span{font-size:.69rem}.host-table-note{margin:8px 0 10px}}
@media(max-width:700px){.page.host-settling .page-head{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}

@media(max-width:350px){.host-table-title h2{font-size:1.2rem}.host-table-title .amount{font-size:1.55rem}}
