/* Storefront additions: account sections, terms, balance, install prompt. */
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.account-card{border:1px solid var(--line);background:var(--white);padding:22px;min-width:0;display:flex;flex-direction:column;gap:8px}
.account-card h2{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 4px}
.account-card p{margin:0;font-size:13px;line-height:1.55}
.account-card .text-button{align-self:flex-start;padding:10px 0;margin-right:16px}
.account-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.account-line strong{font-size:17px;font-weight:600;overflow-wrap:anywhere}.account-line span{font-size:12px;color:var(--muted)}
.account-figure{font-size:34px!important;letter-spacing:-1px;font-weight:600}
.account-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}.account-actions .primary{min-height:48px;padding-inline:22px;font-size:13px}
[data-account-balance]{border-color:var(--ink);border-width:2px;grid-column:1/-1}
.install-steps{margin:6px 0 0;padding-left:20px;font-size:13px;line-height:1.7}.install-steps svg{width:16px;height:16px;vertical-align:-3px}
.terms-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;padding:14px 0;margin:4px 0 8px;border-top:1px solid var(--line)}
.terms-check input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--ink)}
.terms-check a{text-decoration:underline;text-underline-offset:3px}
.account-fields .terms-check{border-top:0;padding-bottom:0}
.balance-notice{display:grid;gap:4px;border:2px solid var(--ink);padding:12px 14px;margin:14px 0;font-size:12px;line-height:1.5}.balance-notice strong{font-size:14px}.balance-notice a{text-decoration:underline}
.fee-balance{font-weight:600}.fee-balance a{font-weight:400;text-decoration:underline;font-size:10px;margin-left:4px}
.order-eta{font-size:14px;margin:12px 0 0}
.sample-badge{display:inline-block;font-size:10px;letter-spacing:.4px;border:1px dashed var(--muted);color:var(--muted);padding:4px 8px;margin:6px 0 0;border-radius:3px}
.terms-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 48px);border:0;padding:0 24px 28px;background:var(--white)}
.terms-dialog::backdrop{background:#000a}
.terms-dialog .modal-top{position:sticky;top:0;background:var(--white);display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.terms-body h2{font-size:22px;letter-spacing:-.5px;margin:22px 0 8px}.terms-body h3{font-size:15px;margin:20px 0 6px}.terms-body p,.terms-body li{font-size:13px;line-height:1.65}
.install-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:var(--ink);color:#fff;padding:16px 16px 14px;border-radius:6px;box-shadow:0 10px 30px #0004;max-width:520px;margin-inline:auto}
.install-banner strong{font-size:15px}.install-banner .install-steps{font-size:12px}.install-banner .icon-button{background:#333;color:#fff;flex:0 0 36px}
.site-footer nav a{white-space:nowrap}
@media(max-width:640px){.account-grid{grid-template-columns:1fr;gap:10px}.account-card{padding:18px}}
@media(display-mode:standalone){.site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
.pay-split{border-top:1px dashed var(--line);margin:4px 0 8px;padding-top:6px}.pay-split .fee-line{font-size:12px;color:var(--muted)}
.city-notice-slot:empty{display:none}.city-notice-slot{padding-top:18px}
.city-notice{background:var(--ink);color:#fff;border-radius:6px;padding:22px 20px;outline:none}
.city-notice h2{font-size:22px;letter-spacing:-.5px;line-height:1.2;margin:4px 0 10px;max-width:640px}
.city-notice p{font-size:13px;line-height:1.55;margin:8px 0;max-width:640px}.city-notice .micro{color:#bbb}.city-notice a{color:#fff}
.city-notice .text-button{color:#fff;padding-left:0}
.city-kicker{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#bbb;margin:0}
.city-meters{display:grid;gap:8px;margin:12px 0;max-width:420px}
.city-meter{display:grid;grid-template-columns:58px 1fr 38px;align-items:center;gap:10px;font-size:12px}.city-meter strong{text-align:right}
.city-meter meter{width:100%;height:10px}
.city-waitlist{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:14px;max-width:560px}
.city-waitlist label{flex:1 1 220px;display:grid;gap:5px;font-size:12px}
.city-waitlist input[type=email]{width:100%;border:1px solid #444;border-radius:5px;background:#fff;color:var(--ink);min-height:45px;padding:12px;font-size:14px}
.city-notice .city-waitlist .primary{background:#fff;color:var(--ink);min-height:45px}
.city-waitlist .inline-error{flex-basis:100%;margin:0;color:var(--ink)}.city-waitlist .inline-error:empty{display:none}
.city-joined{border-left:2px solid #fff;padding-left:10px}
.city-notice.compact{background:var(--paper);color:var(--ink);padding:16px;margin:12px 0}.city-notice.compact h2{font-size:16px;letter-spacing:0}
.city-notice.compact .city-kicker,.city-notice.compact .micro{color:var(--muted)}.city-notice.compact .text-button{color:var(--ink)}
.city-notice.compact .city-waitlist input[type=email]{border-color:#bfc0b7}.city-notice.compact .city-waitlist .primary{background:var(--ink);color:#fff;width:100%}
.city-notice.compact .city-joined{border-color:var(--ink)}
