:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;background:#fffaf2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;padding:20px;overflow-x:hidden}.screen{gap:24px;width:100%;max-width:560px;margin:0 auto;display:grid;overflow-x:hidden}.home-screen{align-content:start;min-height:calc(100vh - 40px);padding:32px 0}.brand-mark{background:#ffd56a;border:2px solid #202124;border-radius:8px;place-items:center;width:72px;height:72px;font-size:28px;font-weight:800;display:grid;box-shadow:6px 6px #202124}.eyebrow,.label{color:#6b6358;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:42px;line-height:1.05}h2{margin-bottom:12px;font-size:18px}.lead{color:#4e4a45;max-width:28rem;margin-bottom:0}.action-row,.top-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.button{cursor:pointer;background:#fff;border:2px solid #202124;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex;box-shadow:4px 4px #202124}.button.primary{background:#ff8a65}.button.small{min-height:36px;padding:0 12px;box-shadow:3px 3px #202124}.button.disabled,.button:disabled,.icon-button:disabled,.chip button:disabled{cursor:not-allowed;opacity:.5}.text-link{color:#3f6f8f;font-weight:700}.pill{color:#5e554a;background:#fff;border:1px solid #d8cfc0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.panel>div,.settlement-row,.entry-form,.expense-row,.inline-form{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px}.panel>div{padding:16px}.value{margin:0;font-size:28px;font-weight:800}.settlement-list,.group-list{gap:10px;display:grid}.group-list-item{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.group-list-item p{color:#6b6358;margin:4px 0 0;font-size:13px}.group-list-meta{color:#6b6358;justify-items:end;gap:4px;font-size:12px;font-weight:700;display:grid}.group-list-meta span{background:#fff;border:1px solid #d8cfc0;border-radius:999px;padding:4px 8px}.group-list-meta small{font:inherit}.expense-row p,.form-note,.empty-state p{color:#6b6358;margin:4px 0 0;font-size:13px}.amount-cell{font-weight:800}.balance-list{gap:8px;display:grid}.balance-row{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.balance-row-right{align-items:center;gap:12px;display:flex}.balance-burden{color:#6b6358;font-size:13px}.positive{color:#255943}.negative{color:#9f2d20}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin-bottom:0}.step-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.step{color:#6b6358;background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;align-content:center;justify-items:center;min-height:64px;font-size:12px;font-weight:700;display:grid}.step span{color:#255943;background:#e9f5ef;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.step.active{color:#202124;border-color:#202124}.entry-form{gap:14px;padding:16px;display:grid}.inline-form{grid-template-columns:1fr auto;gap:10px;padding:10px;display:grid}.entry-form label{color:#514a42;gap:8px;font-weight:700;display:grid}.entry-form input,.entry-form select,.inline-form input{background:#fff;border:1px solid #d8cfc0;border-radius:8px;width:100%;min-height:44px;padding:0 12px}.stack{gap:10px;display:grid}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#fff;border:1px solid #d8cfc0;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:0 8px 0 12px;font-weight:700;display:inline-flex}.chip button,.icon-button,.icon-link{color:#5e554a;cursor:pointer;background:#f4eadb;border:0;border-radius:8px;font-weight:800}.chip button{width:24px;height:24px}.icon-button,.icon-link{justify-content:center;align-items:center;min-height:34px;padding:0 10px;display:inline-flex}.row-actions{gap:6px;display:flex}.error-message{color:#9f2d20;background:#fff4f1;border:1px solid #efb2a8;border-radius:8px;margin:0;padding:10px 12px;font-weight:700}.empty-state{background:#fff;border:1px dashed #d8cfc0;border-radius:8px;gap:12px;padding:16px;display:grid}.receipt-preview{object-fit:contain;background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;width:100%;max-height:280px}.ocr-box{background:#fffdf8;border:1px solid #d8cfc0;border-radius:8px;gap:8px;padding:10px;display:grid}.check-list{gap:8px;display:grid}.check-row{background:#fff;border:1px solid #eadfcd;border-radius:8px;align-items:center;min-height:44px;padding:0 12px;gap:10px!important;display:flex!important}.check-row input{width:auto;min-height:0}.review-box{gap:10px;display:grid}.review-box>div{border-bottom:1px solid #eadfcd;justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.review-box span{color:#6b6358}.share-box{background:#fffdf8;border:1px solid #d8cfc0;border-radius:8px;padding:12px 16px 12px 12px;overflow:hidden}.share-label{color:#514a42;margin:0 0 8px;font-size:13px;font-weight:700}.share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-url{text-overflow:ellipsis;white-space:nowrap;color:#3f6f8f;background:#fff;border:1px solid #eadfcd;border-radius:6px;flex:1;min-width:0;max-width:100%;padding:6px 10px;font-family:inherit;font-size:13px;overflow:hidden}.user-bar{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.user-info{color:#514a42;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.user-avatar{object-fit:cover;border:1px solid #d8cfc0;border-radius:50%;width:28px;height:28px}.locked-pill{color:#7a6000;background:#fff4d6;border-color:#e8c84a}.settlement-row{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.settlement-from{text-align:right;font-weight:700}.settlement-arrow{color:#6b6358;font-size:16px}.settlement-to{font-weight:700}.settlement-amount{color:#9f2d20}.expense-row{grid-template-columns:1fr auto;align-items:start;gap:12px;padding:12px;display:grid}.expense-main{min-width:0}.expense-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.payer-badge{color:#5e554a;background:#f4eadb;border:1px solid #d8cfc0;border-radius:4px;padding:0 6px;font-size:12px;font-weight:700;display:inline-block}.ocr-status{color:#6b6358;margin:4px 0 0;font-size:12px}.button.success{color:#255943;background:#e9f5ef;border-color:#3f9f6f}.button.danger{color:#9f2d20;background:#fff4f1;border-color:#e08070}.modal-backdrop{z-index:100;background:#0006;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fffaf2;border:2px solid #202124;border-radius:12px;gap:14px;width:100%;max-width:400px;padding:24px;display:grid;box-shadow:8px 8px #202124}.modal-title{margin:0;font-size:18px;font-weight:800}.modal-body{color:#4e4a45;margin:0;font-size:14px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.setup-card{background:#fffdf8;border:2px solid #202124;border-radius:12px;gap:14px;padding:20px;display:grid;box-shadow:4px 4px #202124}.setup-title{margin:0;font-size:18px;font-weight:800}.setup-body{color:#4e4a45;margin:0;font-size:14px}.member-form{grid-template-columns:1fr auto;gap:10px;display:grid}.member-form input{background:#fff;border:1px solid #d8cfc0;border-radius:8px;width:100%;min-height:44px;padding:0 12px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.summary-card{background:#fff;border:1px solid #eadfcd;border-radius:8px;gap:4px;padding:10px;display:grid}.summary-card.primary{background:#fff4d6;border-color:#e8c84a}.summary-card span{color:#6b6358;font-size:11px;font-weight:800}.summary-card strong{font-size:18px;font-weight:800}.summary-card small{color:#6b6358;font-size:12px;font-weight:700}.priority-members{flex-wrap:wrap;gap:6px;display:flex}.priority-members strong{background:#fffdf8;border:1px solid #eadfcd;border-radius:999px;padding:4px 8px;font-size:13px;line-height:1.2}.summary-card select{color:#514a42;background:#fffdf8;border:1px solid #eadfcd;border-radius:6px;width:100%;min-width:0;padding:5px 7px;font-size:12px;font-weight:700}.view-tabs{background:#fff;border:1px solid #202124;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.tab-button{color:#5e554a;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:40px;font-weight:800}.tab-button[aria-selected=true]{color:#202124;background:#ffd56a}.empty-panel{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;padding:16px}.settlement-tab-header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.settlement-tab-header h2{margin-bottom:0}.settlement-card-note{color:#6b6358;margin:4px 0 0;font-size:13px}.settlement-done{align-items:center;gap:14px;display:flex}.settlement-done-icon{color:#255943;background:#e9f5ef;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:grid}.settlement-done-title{margin:0;font-size:16px;font-weight:800}.settlement-done-sub{color:#6b6358;margin:2px 0 0;font-size:13px}.settlement-rows{gap:10px;display:grid}.settlement-transfer{flex-wrap:wrap;align-items:center;gap:4px;font-size:15px;display:flex}.transfer-from{font-weight:800}.transfer-arrow,.transfer-text{color:#6b6358}.transfer-to{font-weight:800}.transfer-amount{color:#9f2d20;margin-left:auto;font-size:16px}.balance-section{margin-top:8px}.balance-section .eyebrow{margin-bottom:10px}.balance-rows{gap:8px;display:grid}.add-expense-btn{width:100%;font-size:16px;display:flex}.expense-list{gap:10px;display:grid}.expense-card{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:12px;display:grid}.expense-card-main{min-width:0}.expense-card-link{border-radius:6px;gap:6px;padding:2px;display:grid}.expense-card-link:focus-visible{outline-offset:3px;outline:3px solid #ffd56a}.expense-card-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.expense-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.expense-amount{flex-shrink:0;font-weight:800}.expense-card-meta{color:#6b6358;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.expense-card-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.sub-area{border-top:2px solid #eadfcd;gap:20px;padding-top:24px;display:grid}.sub-area-divider{border-top:1px dashed #e0d6c6;margin:0}.eyebrow-count{color:#6b6358;text-transform:none;letter-spacing:0;font-weight:700}.receipt-step,.receipt-choices{gap:12px;display:grid}.receipt-choices-label{margin:0;font-size:16px;font-weight:800}.receipt-choice-btn{cursor:pointer;background:#fffdf8;border:2px solid #eadfcd;border-radius:12px;align-items:center;gap:14px;padding:16px;transition:border-color .1s;display:flex!important}.receipt-choice-btn:hover{border-color:#202124}.receipt-choice-icon{flex-shrink:0;font-size:28px;line-height:1}.receipt-choice-text{gap:2px;display:grid}.receipt-choice-text strong{font-size:15px}.receipt-choice-text small{color:#6b6358;font-size:12px}.receipt-skip-btn{color:#6b6358;cursor:pointer;text-align:center;background:0 0;border:0;width:100%;padding:10px;font-size:14px;font-weight:700;display:block}.receipt-skip-btn:hover{color:#202124}.receipt-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.compact-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.edit-form{gap:14px;display:grid}.edit-section{background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;gap:12px;padding:16px;display:grid}.edit-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.edit-section-header h2{margin:0}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.edit-basics{border-color:#202124;box-shadow:4px 4px #202124}.edit-field{color:#514a42;gap:7px;min-width:0;font-size:13px;font-weight:800;display:grid}.edit-field input,.edit-field select{color:#202124;background:#fff;border:1px solid #d8cfc0;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:0 12px}.edit-field input:focus,.edit-field select:focus{outline-offset:1px;border-color:#202124;outline:3px solid #ffd56a}.edit-amount-field{background:#fff4d6;border:1px solid #eadfcd;border-radius:8px;grid-column:1/-1;padding:12px}.edit-amount-input{text-align:right;border-color:#202124!important;min-height:72px!important;font-size:38px!important;font-weight:900!important}.amount-label{color:#514a42;gap:8px;font-weight:700;display:grid!important}.amount-input{letter-spacing:-.5px;text-align:right;min-height:64px!important;font-size:36px!important;font-weight:800!important}.participants-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.per-person-hint{color:#6b6358;background:#fffdf8;border:1px solid #eadfcd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;font-size:14px;display:flex}.per-person-hint strong{color:#202124;font-size:16px}.ocr-items{color:#4e4a45;margin:8px 0 0;padding-left:16px;font-size:13px}.ocr-items li{margin-bottom:4px}.step.done{color:#255943;cursor:pointer;border-color:#3f9f6f}.step.done span{color:#fff;background:#3f9f6f}@media (width<=420px){.app-shell{padding:16px}h1{font-size:36px}.step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.group-list-item,.inline-form{grid-template-columns:1fr}.group-list-meta{justify-items:start}.expense-row{grid-template-columns:1fr}.expense-right{flex-direction:row;justify-content:space-between;align-items:center}.settlement-row{grid-template-columns:1fr auto 1fr}.settlement-amount{text-align:right;grid-column:1/-1}.share-row{flex-direction:column;align-items:stretch}.share-row .button{box-shadow:none}.summary-grid{grid-template-columns:1fr}.settlement-card-header{display:grid}.edit-grid{grid-template-columns:1fr}}
