/* Account onboarding and merchant pages. Motion uses the existing reduced-motion aware page transitions. */
body.onboarding-locked .bottom,body.onboarding-locked .header-home,body.onboarding-locked #notice { display:none!important; }
body.onboarding-locked .app-frame { height:100dvh;max-height:none;overflow-y:auto; }
body.onboarding-locked #app { padding-bottom:30px; }
.store-card { display:flex;flex-direction:column;gap:12px;min-width:0; }
.store-avatar { width:56px;height:56px;border-radius:19px;background:#ddecff;color:#1565c0;display:grid;place-items:center;flex:none; }
.store-avatar .nav-icon { width:28px;height:28px; }
.store-badges { display:flex;gap:7px;flex-wrap:wrap; }
.store-badge { padding:5px 9px;border-radius:8px;font-size:11px;background:#e3f2ed;color:#205f4c;line-height:1.5; }
.store-badge.pinned { background:#fff0d3;color:#79520d; }
.store-title { color:var(--ink);font-size:20px;font-weight:700;line-height:1.4;text-decoration:none;overflow-wrap:anywhere; }
.store-title:hover { color:#1565c0; }
.store-description,.store-review p,.chat-offer-card p { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75; }
.store-description { margin:0; }
.store-metrics { display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center;font-size:13px;line-height:1.7; }
.store-metrics small { font-size:12px;color:var(--muted); }
.store-card>.actions { margin-top:auto;padding-top:8px; }
.store-card p { margin:0; }
.store-hero { margin-top:20px;display:grid;gap:17px; }
.store-hero h1 { margin:0;overflow-wrap:anywhere; }
.store-hero p { margin:0; }
.store-reviews h2 { margin-bottom:12px; }
.store-review { border-top:1px solid #d6e5f2;padding:18px 0; }
.store-review:last-child { padding-bottom:0; }
.store-admin-row { display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #d6e5f2;padding:18px 0; }
.store-admin-row>div { min-width:0;overflow-wrap:anywhere; }
.store-admin-row button { flex:none;min-height:44px; }
.chat-offer-card { background:#edf6ff;border:1px solid #c8def2;border-radius:16px;padding:17px;margin:14px 0; }
.chat-offer-card h3 { margin:9px 0 12px;line-height:1.5;overflow-wrap:anywhere; }
.chat-offer-card .store-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
.chat-offer-card .store-metrics strong { grid-column:1/-1;color:#154f87; }
.chat-offer-actions:empty { display:none; }
.activation-card details { margin:18px 0; }
.activation-card #activation-result:not(:empty) { padding:15px;border-radius:12px;background:#e3f2ed;color:#205f4c;line-height:1.7;margin:18px 0; }
.onboarding-card { background:#f3f9ff; }
.onboarding-steps { padding-left:24px;line-height:1.8;margin:20px 0; }
.onboarding-steps li { padding:4px 0;color:#526d85; }
.onboarding-steps li.done { color:#1f6b50; }
.onboarding-steps li.current { font-weight:650;color:#155a9d; }
body.onboarding-locked #app>.grid { grid-template-columns:minmax(0,1fr); }
body.onboarding-locked #app { max-width:800px;margin:auto; }
body.onboarding-locked #kyc-form fieldset,body.onboarding-locked #kyc-upload fieldset { border:0;padding:0;margin:0;min-width:0; }
body:is(.theme-ios,.theme-android) #store-like[aria-pressed=true] { background:#dcecff;color:#155a9d;border:1px solid #8ebbe8; }
.marketplace-upgrade { border:1px solid #e0ba71; }
html[data-color=dark] .store-avatar { background:#315779;color:#d7eaff; }
html[data-color=dark] .store-badge { background:#285345;color:#d4f4e4; }
html[data-color=dark] .store-badge.pinned { background:#604c23;color:#ffe9ba; }
html[data-color=dark] .chat-offer-card,html[data-color=dark] .onboarding-card { background:#23445e;border-color:#466681; }
html[data-color=dark] .chat-offer-card .store-metrics strong { color:#c4e3ff; }
html[data-color=dark] .onboarding-steps li { color:#caddeb; }
html[data-color=dark] .onboarding-steps li.current { color:#b4dcff; }
html[data-color=dark] .onboarding-steps li.done { color:#b9efd4; }
@media(max-width:700px){.store-card { gap:11px; }.store-card .actions { flex-wrap:wrap; }.store-card .actions>* { min-height:44px; }.store-title{font-size:19px;}.store-hero{padding:21px 17px;}.chat-offer-card .store-metrics{grid-template-columns:1fr;}.store-admin-row{flex-wrap:wrap;}.store-admin-row>div{flex:1 1 190px;}#store-like{min-height:44px;white-space:normal;}.store-badge{font-size:11px;}.onboarding-card h1{font-size:24px;}}
@media(prefers-reduced-motion:reduce){.store-card,.store-hero,.chat-offer-card,.onboarding-card{animation:none!important;transition:none!important;}}

/* Activation shares the login/register layout and identity. */
.activation-card>a.button { width:100%;margin-top:10px;text-align:center; }
.activation-card>details { text-align:left; }
.activation-card summary { min-height:44px;display:flex;align-items:center;line-height:1.5; }
.activation-card #activation-result { text-align:left; }

/* v0.10.2 — account form spacing, optional authenticator and secondary navigation. */
.auth .auth-otp { margin:2px 0 14px; border:1px solid #d5e4f1; border-radius:12px; padding:0 12px; text-align:left; }
.auth .auth-otp summary { cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; font-weight:600; color:#315d83; }
.auth .auth-otp summary::after { content:''; right:4px; top:17px; }
.auth .auth-otp[open] summary::after { content:''; }
.auth .auth-otp>p { font-size:12px; line-height:1.6; margin:0 0 12px; }
.auth .auth-otp .form-field { margin-bottom:12px; }
.auth .auth-footer { border-top:1px solid #dae6f1; margin-top:20px; padding-top:13px; text-align:center; font-size:12px; line-height:1.7; }
.auth .auth-footer p { margin:7px 0; }
.auth .auth-footer p.muted { font-size:11px; }
.auth .auth-footer-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 14px; }
.auth .auth-footer-links>a,.auth .auth-activation-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:7px 2px; font-size:12px; }
.auth .auth-activation-link { width:100%; color:#466784; }
.auth .auth-return { width:100%; min-height:44px; }
body:is(.theme-ios,.theme-android) .auth form>button { min-height:44px; border-radius:13px; font-weight:650; }
body:is(.theme-ios,.theme-android) .auth input:not([type=checkbox]),body:is(.theme-ios,.theme-android) .auth select { min-height:44px; }
.auth .auth-error { line-height:1.6; }
.auth #forgot-status:not(:empty) { background:#e4f3ec; color:#205e4a; padding:13px; border-radius:12px; line-height:1.7; text-align:left; }
html[data-color=dark] .auth .auth-footer,html[data-color=dark] .auth .auth-otp { border-color:#45637b; }
html[data-color=dark] .auth .auth-otp summary,html[data-color=dark] .auth .auth-activation-link { color:#c7e1f7; }
@media(min-width:900px){body:is([data-page=login],[data-page=register],[data-page=forgot-password],[data-page=activation],[data-page=activate]) #app { padding-top:12px; }.auth{padding:25px 25px;}}
@media(max-width:700px){.auth .auth-footer-links>a{flex:1;}.auth .auth-otp summary{font-size:13px;}.auth .auth-footer{margin-top:18px;}.auth .auth-activation-link{font-size:12px;}}

/* v0.10.3 — readable registration choices and full-width password. */
body[data-page=register] #auth-form>label:has([name=password]),body[data-page=register] #auth-form>label:has([name=role]) { grid-column:1/-1; }
body[data-page=register] .registration-help { display:block; margin-top:8px; font-size:12px; line-height:1.7; color:#49657e; font-weight:400; }
body[data-page=register] .auth .check { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.7; padding:12px; }
body[data-page=register] .auth .check input { flex:none; margin:3px 0 0; width:18px;height:18px; }
body[data-page=register] .auth .auth-footer p.muted { font-size:12px; line-height:1.75; }
html[data-color=dark] body[data-page=register] .registration-help { color:#c7dceb; }
@media(max-width:899px){body[data-page=register] #auth-form { display:block; }}

/* v0.10.4 — clear home actions without decorative arrows. */
body[data-page=home] .home-search { min-height:54px;height:auto;padding:5px 6px 5px 15px; }
body[data-page=home] .home-search input { min-width:0; }
body[data-page=home] .home-search button { width:auto;flex:0 0 auto;min-width:60px;min-height:44px;height:44px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:650; }
body[data-page=home] .hero .button { min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-size:12px; }
body[data-page=home] .section-title>a { min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 0 8px 12px;font-size:12px; }
body[data-page=home] .service-tile { display:flex;flex-direction:column;align-items:flex-start;gap:0; }
body[data-page=home] .service-tile h3 { line-height:1.5;margin:0 0 7px; }
body[data-page=home] .service-tile .muted { line-height:1.65;margin-bottom:12px; }
body[data-page=home] .tile-link { margin-top:auto;min-height:36px;display:flex;align-items:center;font-weight:650; }
body[data-page=home] .home-help { display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px 12px;padding:17px; }
body[data-page=home] .home-help .tile-icon { align-self:start; }
body[data-page=home] .home-help h3 { font-size:14px;line-height:1.5; }
body[data-page=home] .home-help .muted { font-size:12px;line-height:1.65; }
body[data-page=home] .home-help>.home-help-action { grid-column:2;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:9px 14px;border:1px solid #c4dbef;border-radius:12px;background:#e5f0fb;color:#1565c0;font-size:12px;font-weight:650;text-decoration:none; }
html[data-color=dark] body[data-page=home] .home-help>.home-help-action { border-color:#527797;background:#315b7b;color:#d6eaff; }
@media(max-width:380px){body[data-page=home] .home-search input{font-size:12px;}body[data-page=home] .section-title{gap:8px;}body[data-page=home] .section-title h2{font-size:17px;}body[data-page=home] .section-title>a{font-size:11px;}}

/* v0.10.5 — compact provider discovery, full-width results. */
body[data-page=providers] #app { display:block; }
body[data-page=providers] #app>h1 { margin:8px 0 10px;font-size:28px;line-height:1.25; }
body[data-page=providers] #app>p.muted { max-width:780px;margin:0 0 20px;line-height:1.7; }
body[data-page=providers] #app>.card { width:100%;margin:0;padding:22px; }
body[data-page=providers] #search .region-grid,body[data-page=providers] #search>.grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px; }
body[data-page=providers] #search .region-field { grid-column:auto;min-width:0; }
body[data-page=providers] #search>.grid>label { min-width:0;margin:0; }
body[data-page=providers] #search input,body[data-page=providers] #search select { min-height:48px;width:100%; }
body[data-page=providers] #search .legacy-search { margin:0 0 16px; }
body[data-page=providers] #search .legacy-search summary { min-height:44px; }
body[data-page=providers] #search .legacy-search .grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
body[data-page=providers] #search .actions { display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin:0 0 14px;align-items:stretch; }
body[data-page=providers] #search .actions button { flex:0 1 auto;min-width:130px;width:auto;min-height:44px;padding:11px 18px; }
body[data-page=providers] #search small { font-size:11px;line-height:1.65; }
body[data-page=providers] #provider-search-status { margin:10px 0 0;font-size:12px;line-height:1.6; }
body[data-page=providers] #providers { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 0;width:100%; }
body[data-page=providers] #providers>.empty { grid-column:1/-1;min-height:150px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.7; }
body[data-page=providers] .store-card { min-width:0; }
body[data-page=providers] .store-title,body[data-page=providers] .store-description { overflow-wrap:anywhere; }
body[data-page=providers] .store-card .actions { display:flex;flex-wrap:wrap;margin-top:auto;gap:8px; }
body[data-page=providers] .store-card .actions>* { flex:1 1 100px;min-height:44px; }
@media(min-width:600px) and (max-width:1050px){body[data-page=providers] #providers{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){body[data-page=providers] #app>h1{font-size:24px;}body[data-page=providers] #app>.card{padding:17px;}body[data-page=providers] #search .region-grid,body[data-page=providers] #search>.grid,body[data-page=providers] #search .legacy-search .grid{grid-template-columns:1fr;gap:13px;}body[data-page=providers] #search .actions button{flex:1 1 120px;min-width:0;}body[data-page=providers] #search .actions button:first-child{flex-basis:100%;}body[data-page=providers] #search input,body[data-page=providers] #search select{font-size:16px;}}
@media(max-width:599px){body[data-page=providers] #providers{grid-template-columns:1fr;}}
/* v0.11.0 — paid store promotion, distinct from escrow funds. */
.store-badge.sponsored { background:#fff0cc;color:#815207;border:1px solid #f3d58d; }
.profile-promo-link { margin:0 0 18px;min-height:44px; }
.promo-intro { margin:22px 0;max-width:850px; }
.promo-intro h1 { margin:8px 0 12px; }
.promo-intro p,.promo-history>p,.promo-admin-settings p { line-height:1.7; }
.promo-plans,.promo-orders { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0; }
.promo-plan { display:flex!important;align-items:flex-start;gap:12px;padding:18px!important;border:1px solid #c7dff2;border-radius:16px;background:#edf6ff;cursor:pointer;margin:0!important; }
.promo-plan:has(input:checked) { border-color:#1674ce;box-shadow:0 0 0 2px #1674ce19; }
.promo-plan input { flex:0 0 18px;width:18px!important;min-height:18px!important;height:18px;margin:3px 0; }
.promo-plan>span { display:flex;flex-direction:column;gap:9px;min-width:0; }
.promo-plan strong { font-size:15px;overflow-wrap:anywhere; }
.promo-plan small { font-weight:400; }
.promo-history { margin-top:25px; }
.promo-order { padding:21px;min-width:0;margin:0; }
.promo-order-head { display:flex;justify-content:space-between;align-items:flex-start;gap:12px; }
.promo-order-head strong { overflow-wrap:anywhere; }
.promo-order .actions { display:flex;flex-wrap:wrap;gap:8px; }
.promo-order .actions>* { min-height:44px;flex:1 1 135px; }
.promo-reference { overflow-wrap:anywhere;font-size:11px; }
.promo-admin-settings { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start; }
.promo-admin-settings>.card { margin:0;min-width:0; }
body[data-page=promotions] #app,body[data-page=admin] #app:has(.promo-admin-settings) { display:block; }
body[data-page=promotions] .check { display:flex;gap:10px;align-items:flex-start;line-height:1.7;font-size:12px;margin:18px 0; }
body[data-page=promotions] .check input { width:18px;height:18px;min-height:18px;flex:none;margin-top:3px; }
html[data-color=dark] .promo-plan { background:#23445e;border-color:#527797; }
html[data-color=dark] .promo-plan:has(input:checked) { border-color:#97caff; }
html[data-color=dark] .store-badge.sponsored { background:#59451e;color:#ffe5a1;border-color:#987e41; }
@media(max-width:750px){.promo-plans,.promo-orders,.promo-admin-settings{grid-template-columns:1fr;}.promo-order-head{flex-wrap:wrap;}.promo-order{padding:17px;}}
/* v0.11.1 — a focused inbox and readable conversation room. */
.inbox-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px; }
.inbox-heading p { max-width:650px;line-height:1.7; }
.inbox-heading>a { flex:none;min-height:44px; }
.inbox-workspace { padding:22px; }
.inbox-search,.chat-find { display:flex!important;align-items:center;gap:10px;border:1px solid #c9def1;border-radius:14px;background:var(--field);padding:0 13px;margin:0 0 14px!important; }
.inbox-search>.nav-icon,.chat-find>.nav-icon { flex:none;width:20px;height:20px;color:var(--muted); }
.inbox-search input,.chat-find input { width:100%;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;min-height:46px;margin:0;padding:10px 0; }
.inbox-tabs { display:flex;flex-wrap:wrap;gap:8px; }
.inbox-tabs button { min-height:44px; }
.inbox-tabs button[aria-pressed=true] { background:#1565c0!important;color:#fff!important; }
#inbox-refresh { margin-left:auto; }
#inbox-status,.inbox-note { font-size:12px;line-height:1.7; }
.inbox-list { display:flex;flex-direction:column;gap:10px; }
.inbox-entry { display:flex;align-items:flex-start;gap:13px;background:#f6faff;border:1px solid #d9e7f3;padding:16px;border-radius:16px;text-decoration:none;color:var(--ink);transition:background-color .16s ease,border-color .16s ease; }
.inbox-entry:hover { background:#eaf4ff;border-color:#a9cceb; }
.inbox-avatar { flex:0 0 42px;height:42px;background:#dcecff;color:#1565c0;border-radius:14px;display:grid;place-items:center; }
.inbox-copy { flex:1;min-width:0; }
.inbox-entry-top { display:flex;align-items:baseline;justify-content:space-between;gap:14px; }
.inbox-entry-top strong { overflow-wrap:anywhere;font-size:14px; }
.inbox-entry-top small { flex:none;font-size:10px;color:var(--muted); }
.inbox-subject { font-size:11px;color:var(--muted);margin:5px 0;overflow-wrap:anywhere; }
.inbox-preview { margin:6px 0 9px;font-size:12px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere; }
.inbox-copy .badge { font-size:10px; }
.inbox-empty { text-align:center;padding:28px 12px; }
body[data-page=chats] #app { display:block; }
.room-screen .chat { min-height:0!important;height:clamp(240px,42dvh,460px);padding:13px;overflow-y:auto;overflow-x:hidden;gap:12px; }
.room-screen .chat .bubble,.room-screen .chat-day,.room-screen .chat-no-results { flex-shrink:0; }
.room-screen .bubble p { margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7; }
.room-screen .bubble small { display:block;font-size:10px;line-height:1.5; }
.room-screen .bubble mark { background:#ffec9c;color:#322500;border-radius:3px; }
.chat-day { align-self:center;max-width:100%;font-size:10px;color:#5c7690;text-align:center;margin:5px 0; }
.chat-day span { display:inline-block;background:#d9e7f3;padding:5px 10px;border-radius:20px; }
.chat-no-results { font-size:12px;line-height:1.7;color:var(--muted);margin:auto;text-align:center; }
.chat-find { margin:12px 0 8px!important; }
.chat-find input { min-height:44px;font-size:12px; }
.chat-tool-actions { display:flex;gap:9px;align-items:center; }
.chat-tool-actions select { flex:1;min-width:0;margin:0;min-height:44px;font-size:12px; }
.chat-tool-actions button { flex:none;min-height:44px;font-size:12px; }
#chat-search-status { font-size:11px;margin:8px 0 10px;line-height:1.6; }
#older-messages { min-height:44px;font-size:12px;margin:0 0 10px; }
.room-screen details.chat-offer-card { margin:0 0 12px;padding:0 13px; }
.room-screen details.chat-offer-card>summary { display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-height:70px;padding:13px 23px 13px 0;font-size:12px;color:#315d83;line-height:1.5; }
.room-screen details.chat-offer-card>summary strong { font-size:14px;color:#145fa7; }
.room-screen details.chat-offer-card>summary::after { right:4px;top:25px; }
.room-screen details.chat-offer-card>.eyebrow { margin-top:10px; }
.room-screen .chat-offer-actions { margin-bottom:15px; }
.room-screen .chat-compose { display:flex;align-items:flex-end;gap:8px;margin-top:12px; }
.room-screen .chat-compose textarea { flex:1;min-width:0;min-height:46px;max-height:120px;resize:none;margin:0;border-radius:15px;line-height:1.5;padding:12px;font-size:14px; }
.room-screen .chat-compose button { min-height:46px; }
.chat-new-messages { width:100%;min-height:44px;margin:9px 0 0;font-size:12px; }
.chat-new-messages[hidden] { display:none!important; }
.chat-support { margin-top:15px; }
.chat-support>summary,#chat-files>summary { min-height:44px;cursor:pointer; }
.chat-support .actions { display:flex;flex-wrap:wrap;gap:8px; }
.chat-support .actions>* { min-height:44px!important;flex:1 1 140px;font-size:12px!important; }
html[data-color=dark] .inbox-search,html[data-color=dark] .chat-find { border-color:#527797; }
html[data-color=dark] .inbox-entry { background:#23445e;border-color:#45637b; }
html[data-color=dark] .inbox-entry:hover { background:#2c506d; }
html[data-color=dark] .inbox-avatar { background:#315b7b;color:#d6eaff; }
html[data-color=dark] .chat-day span { background:#31536f;color:#d5e6f5; }
html[data-color=dark] .room-screen details.chat-offer-card>summary,html[data-color=dark] .room-screen details.chat-offer-card>summary strong { color:#d0e8ff; }
@media(max-width:700px){.inbox-heading{display:block;}.inbox-heading>a{margin-top:5px;}.inbox-workspace{padding:15px;}.inbox-entry{padding:13px;gap:10px;}.inbox-entry-top{display:block;}.inbox-entry-top small{display:block;margin-top:3px;}.inbox-avatar{flex-basis:36px;height:36px;border-radius:12px;}.inbox-tabs button{flex:1 1 70px;font-size:11px;padding:10px 8px;}#inbox-refresh{margin-left:0;}.room-screen .chat-compose textarea,.inbox-search input,.chat-find input{font-size:16px;}.room-screen .chat{height:clamp(230px,36dvh,360px);}.bottom a{min-width:0;}.bottom a span{font-size:9px;}}
.room-screen .chat-tools { margin:0 0 10px;border:0;padding:0; }
.room-screen .chat-tools>summary { min-height:44px;font-size:12px;line-height:1.6;padding:10px 22px 10px 0;cursor:pointer; }
.room-screen .chat-tools>summary::after { top:16px; }
.room-screen .chat-tools .chat-find { margin-top:6px!important; }
.room-screen .chat-tools #older-messages { margin-bottom:10px; }
@media(max-width:700px){.room-screen .chat{height:clamp(180px,calc(100dvh - 660px),320px);}}
