main {
  padding-top: 34px;
}
:root{--accent:#2563eb}
.test-purchase-note{padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14px;line-height:1.7;background:#f7f8fa}.save-set-features{padding-left:20px;line-height:1.9;font-size:16px}.saved-trip-row{padding:16px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}.saved-trip-row small{color:var(--muted);font-size:14px}.saved-trip-actions{display:flex;flex-wrap:wrap;gap:8px}.saved-trip-actions button{border:1px solid var(--line);background:#fff;color:var(--accent);padding:9px 12px;border-radius:10px;font:inherit;font-size:14px;cursor:pointer}#restorePurchaseForm{padding:24px 0 0}#saveSetStatus{line-height:1.7;font-size:14px}#saveSetTrip{font-weight:700}#saveSetOwned[hidden],#saveSetBuy[hidden],#viewCurrentArchiveBtn[hidden],#archiveCurrentBtn[hidden]{display:none}#purchaseRecoveryCode{font-size:14px}#archiveViewBody p{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.7;overflow-wrap:anywhere}#saveSetDialog,#savedTripsDialog,#archiveViewDialog{max-height:90dvh;overflow:auto}
.image-export-button{display:block;width:100%;margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:13px 12px;background:#fff;color:var(--accent);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.export-image-preview{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}.export-image-preview[hidden],.export-image-paging[hidden]{display:none}.export-image-paging{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:14px}.export-image-paging button{border:0;padding:10px 16px;border-radius:10px;font:inherit}#imageExportDialog{max-height:90dvh;overflow-y:auto}#imageExportDialog .dialog-head{align-items:center;gap:12px}#imageExportDialog .close-button{flex-shrink:0}#exportImageStatus{font-size:14px;line-height:1.7}
.start-status{padding:16px;text-align:center;background:#fff;border-bottom:1px solid var(--line);font-size:14px}.start-status[hidden]{display:none}.start-status button{margin-left:12px}.device-note{color:var(--muted);font-size:14px;line-height:1.7}.invite-url-label{text-align:left;margin-top:20px;font-size:14px}.invite-url-label input{font-size:14px;letter-spacing:normal;font-weight:400}.invite-actions{display:flex;gap:10px;margin-top:12px}.invite-actions button{flex:1;min-width:0;font-size:14px}#settlementShareText{width:100%;box-sizing:border-box;resize:vertical;min-height:220px;border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--ink);background:#fff;font:inherit;font-size:16px;line-height:1.8}button:disabled{opacity:.55;cursor:wait}@media(max-width:420px){.invite-actions{flex-direction:column}}

@media (max-width: 820px) {
  main {
    padding-top: 20px;
  }
}

.share-trip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}
.share-dialog-body{padding:28px}.active-room{text-align:center;background:var(--paper);border-radius:18px;padding:24px}.active-room p{margin:0 0 12px;color:var(--muted)}.active-room strong{display:block;font-size:34px;letter-spacing:.18em;margin:8px 0 20px}.share-note{font-size:13px!important;margin:12px 0 0!important}.full-button{width:100%;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:700}.create-room-button{width:100%;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:left;gap:2px 10px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;color:var(--ink);font:inherit;cursor:pointer}.create-room-button span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:38px;height:38px;background:var(--paper);border-radius:50%;color:var(--coral);font-size:22px}.create-room-button small{color:var(--muted)}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:20px 0}.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}#joinRoomForm input[name="code"]{text-transform:uppercase;letter-spacing:.15em;font-weight:700}.syncing{opacity:.65;pointer-events:none}@media(max-width:520px){.share-trip{font-size:0;padding:9px 11px}.share-trip:first-letter{font-size:16px}}
.settings-button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.settings-button span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:17px}.profile-preview{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 24px;border-radius:50%;background:var(--ink);color:#fff;font-size:28px;font-weight:800}.avatar{cursor:pointer}@media(max-width:520px){.settings-button span:last-child{display:none}}
.member{position:relative;padding-right:8px}.member-balance{display:none}.delete-member{border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 7px 5px 10px;margin-left:2px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.delete-member:hover{color:var(--accent)}
.settings-dialog-body{padding:28px}.settings-list{display:grid;gap:10px}.setting-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px;color:var(--ink);font:inherit}.setting-row span{display:grid;gap:4px}.setting-row strong{font-size:15px}.setting-row small{color:var(--muted);font-size:12px}.setting-row b{font-size:24px;font-weight:400}.setting-row input{width:42px;height:24px;margin:0;accent-color:var(--accent)}.setting-group{border-top:1px solid var(--line);margin-top:8px;padding-top:16px;display:grid}.setting-group p{font-size:12px;color:var(--muted);margin:0 0 7px}.setting-group button{border:0;background:transparent;text-align:left;padding:10px 0;color:var(--ink);font:inherit}.setting-group .danger-text{color:#c83f45}.photo-picker{display:grid;justify-items:center;cursor:pointer;margin-bottom:20px}.photo-picker span{color:var(--accent);font-size:13px}.photo-picker input{display:none}.profile-preview{margin-bottom:8px;background-color:var(--accent);background-size:cover;background-position:center}.color-field{margin:0 0 24px}.color-options{display:flex;gap:12px;margin-top:12px}.color-options input{position:absolute;opacity:0}.color-options span{display:block;width:34px;height:34px;border-radius:50%;background:var(--swatch);border:4px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}.color-options input:checked+span{box-shadow:0 0 0 3px var(--swatch)}
#profileDialog{animation:none;overflow:hidden}#profileDialog form{overflow:hidden}.color-options{max-width:100%;flex-wrap:wrap}.remove-member-body{padding:30px;text-align:center}.remove-member-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#fff0f0;color:#c83f45;font-size:28px}.remove-member-body h2{margin:0 0 10px;font-size:22px}.remove-member-body p{margin:0 0 24px;color:var(--muted);line-height:1.6}.danger-button{background:#c83f45;color:#fff}.remove-member-body .form-actions{justify-content:center}.remove-member-body .form-actions button{min-width:118px}
.expense{position:relative}.edit-expense{border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:700;padding:6px 0;cursor:pointer}.settlement-panel{background:#f6f8ff!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--accent) 22%,#dce4df)}.settlement-panel .eyebrow.light,.settlement-panel .transfer-amount{color:var(--accent)}.settlement-head p:last-child,.settlement-panel .expense-meta{color:var(--muted)!important}.transfer{border-bottom-color:var(--line)}.arrow{color:var(--muted)}.total-row{border-top-color:var(--line)}.share-button{justify-content:center;gap:10px}
.delete-expense-button{border:0;background:transparent;color:#c83f45;font:inherit;font-size:14px;font-weight:700;padding:4px 0 18px;cursor:pointer}.delete-expense-button[hidden]{display:none}
body{background:#fff}.people-strip,.ledger-panel{box-shadow:none;border:1px solid var(--line)}.settlement-panel{background:var(--accent);color:#fff}.eyebrow,.text-button,.add-expense span,.trip-dot{color:var(--accent)}.share-button,.submit-button{background:var(--accent)}.member-avatar,.mini-avatar{background:var(--accent)!important}.expense-icon,.member,.count-pill,.cancel-button,.close-button{background:#f6f7f7}.topbar{background:rgba(255,255,255,.94)}
.trip-switch{cursor:pointer}
/* External recommendations stay outside the generated image and export controls. */
.legal-links { display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: .875rem; line-height: 1.7; }
footer.legal-links { max-width: 1180px; margin: 0 auto; padding: 24px 24px 40px; border-top: 1px solid var(--line); }
.legal-links a { color: var(--accent); text-underline-offset: .2em; }
.legal-links a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.settings-legal-links { display: grid; padding: 8px 0; }
.purchase-legal-links { margin: 16px 0; }
.travel-services { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.travel-services h2 { margin: 0 0 1rem; font-size: 1rem; }
.travel-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.travel-services .travel-service-card { display: grid; gap: .5rem; border: 1px solid var(--line); border-radius: 14px; padding: 1rem; color: var(--ink); text-decoration: none; font-size: 1rem; line-height: 1.6; }
.travel-service-card strong { display: flex; justify-content: space-between; color: var(--accent); }
.travel-service-card small { font-size: .875rem; color: var(--muted); }
.travel-service-card:hover { border-color: var(--accent); }
.travel-services a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 520px) { .travel-service-grid { grid-template-columns: 1fr; } }
.support-opt-out{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:14px;line-height:1.6}.support-opt-out input{width:20px;height:20px;flex-shrink:0}#declineSupportBtn{min-height:48px;font-size:16px;border:1px solid var(--line);color:var(--ink)}#supportDialog{max-width:440px}#supportDescription{line-height:1.8}
.archive-members{display:flex;flex-wrap:wrap;gap:8px}.archive-members span{border:1px solid var(--line);border-radius:20px;padding:8px 12px;overflow-wrap:anywhere}.archive-expense{padding:16px 0;border-bottom:1px solid var(--line);line-height:1.8;overflow-wrap:anywhere}.archive-expense div{font-size:14px;color:var(--muted)}#archiveViewBody h3{margin:24px 0 12px;font-size:16px}#archiveLibraryBtn{font-weight:700}
