:root { color-scheme: light; --ink:#202127; --muted:#8a8d98; --rose:#ff315b; --rose-soft:#fff0f3; --cloud:#f5f6fa; --line:#eceef3; font-family:"MiSans","HarmonyOS Sans SC","Microsoft YaHei UI",sans-serif; color:var(--ink); background:#eef0f4; }
/* Same consumer design system: quiet cloud panels, rose actions, 44px targets. */
.memory-entry { margin:18px 0 10px 48px; display:flex; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:14px; }
.memory-entry button { min-height:44px; border:0; background:transparent; text-align:left; padding:8px 0; }
.memory-entry strong { display:block; font-size:14px; }.memory-entry small { display:block; font-size:11px; color:var(--muted); line-height:1.7; max-width:290px; }
#recallPreferences { color:var(--rose); margin-left:auto; white-space:nowrap; font-size:12px; }
.preference-intro h3 { font-size:20px; margin:9px 0 12px; line-height:1.5; }.preference-intro p { line-height:1.8; font-size:14px; color:#757985; }
.preference-kicker { color:var(--rose); font-size:12px; }.preference-form>label,.preference-pair label { display:grid; gap:8px; margin:16px 0; font-size:14px; }
.preference-form input:not([type=checkbox]),.preference-form select { width:100%; min-width:0; min-height:44px; background:#fafbfe; border:1px solid #e7e9ef; border-radius:10px; padding:10px; font:inherit; }
.preference-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.preference-pair label { margin:0; }
.preference-check { display:flex!important; align-items:flex-start; gap:10px; line-height:1.8; min-height:44px; padding:6px 0; font-size:13px; }
.preference-check input { margin-top:5px; accent-color:var(--rose); width:17px; height:17px; flex-shrink:0; }
.preference-privacy { font-size:12px!important; line-height:1.8!important; color:#888d99; margin:18px 0; }
.preference-management { border-top:1px solid var(--line); margin-top:24px; padding-top:14px; }.preference-management small { font-size:11px; color:var(--muted); }
.quiet-danger { display:block; border:0; background:transparent; color:#c34862; min-height:44px; padding:8px 0; font-size:13px; }
.form-error { color:#be334b!important; background:#fff3f6; padding:10px; border-radius:8px; font-size:13px; }
.feedback-reasons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }.feedback-reasons label { display:flex; align-items:center; gap:8px; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:10px; cursor:pointer; font-size:13px; }
.feedback-reasons label:has(input:checked) { border-color:#ff8ba3; background:var(--rose-soft); }.feedback-reasons input { accent-color:var(--rose); }
.feedback-saved { flex-basis:100%; line-height:1.7; color:var(--muted); font-size:11px; padding:4px 0; }.answer-feedback { flex-wrap:wrap; }
.memory-answer-note { border:0; background:transparent; color:#898590; font-size:11px; min-height:44px; padding:4px 0; text-align:left; line-height:1.6; }
.preferences-settings-link { display:grid; gap:8px; width:100%; text-align:left; min-height:68px; padding:14px; background:#fafbfe; border:1px solid var(--line); border-radius:12px; margin-bottom:20px; }.preferences-settings-link span { font-size:12px; color:var(--muted); }
* { box-sizing:border-box; }
body { margin:0; min-height:100dvh; padding:24px; }
button,input,textarea { font:inherit; color:inherit; }
button { cursor:pointer; -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:wait; opacity:.5; }
button:focus-visible,textarea:focus-visible,a:focus-visible { outline:3px solid #ffb7c8; outline-offset:3px; }
[hidden] { display:none !important; }
.icon-defs { position:absolute; width:0; height:0; overflow:hidden; }
svg { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); }
.chat-shell { max-width:800px; height:calc(100dvh - 48px); min-height:480px; margin:auto; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; background:var(--cloud); border-radius:22px; box-shadow:0 8px 42px #24304b0c; border:1px solid #fff; overflow:hidden; }
.store-header { display:flex; align-items:center; gap:12px; padding:20px 24px 18px; background:#fafbfe; }
.icon-button { width:44px; height:44px; border:0; background:transparent; display:grid; place-items:center; padding:0; flex-shrink:0; }
.store-identity { display:flex; gap:12px; align-items:center; flex:1; min-width:0; }
.store-logo { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; color:var(--rose); background:white; border:1px solid #ffe5eb; font-size:23px; font-weight:850; }
h1 { margin:0 0 6px; font-size:20px; line-height:1.3; letter-spacing:.02em; }
.store-identity p { display:flex; align-items:center; gap:6px; margin:0; font-size:12px; color:var(--muted); }
.store-identity i { width:6px; height:6px; border-radius:50%; background:#20b98a; }
.store-button { border:1px solid #d8dbe1; border-radius:30px; padding:0 18px; background:transparent; height:36px; font-size:14px; white-space:nowrap; }
.service-strip { background:#fafbfe; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 32px 16px; color:#757984; font-size:12px; border-bottom:1px solid #f0f1f5; }
.service-strip span { display:flex; align-items:center; gap:6px; }.service-strip svg { width:14px; height:14px; color:var(--rose); }.service-strip small { color:#a7aab3; white-space:nowrap; font-size:11px; }
.chat-stream { min-height:0; overflow-y:auto; padding:24px 32px 18px; overscroll-behavior:contain; scroll-behavior:smooth; }
.day-divider { text-align:center; margin:0 0 24px; color:#aaadb7; font-size:12px; }
.message { display:flex; align-items:flex-start; gap:12px; margin-bottom:24px; animation:message-in .2s ease-out; }
.message-avatar { width:36px; height:36px; display:grid; place-items:center; flex-shrink:0; border-radius:11px; background:#fff; color:var(--rose); font-size:16px; font-weight:700; border:1px solid #eeeef3; }
.message-content { max-width:83%; min-width:0; }
.bubble { background:#fff; padding:14px 17px; border-radius:4px 18px 18px 18px; font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.bubble p { margin:0; white-space:pre-wrap; text-wrap:pretty; }
.message-caption { display:block; margin:7px 3px 0; color:#a3a6af; font-size:11px; }
.message.user { flex-direction:row-reverse; }.user .message-avatar { background:#e6e9f1; color:#70788e; }.user .bubble { background:#ffe3eb; border-radius:18px 4px 18px 18px; }.user .message-caption { text-align:right; }
.welcome-card { margin:0 0 24px 48px; max-width:560px; border-radius:18px; background:white; padding:24px; }
.welcome-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }.welcome-label { display:inline-block; color:var(--rose); font-size:11px; font-weight:600; letter-spacing:.08em; }.welcome-heading svg { width:19px; height:19px; color:var(--rose); }
.welcome-card h2 { margin:0 0 10px; font-size:24px; letter-spacing:.02em; }.welcome-card>p { font-size:13px; margin:0 0 22px; color:#848792; line-height:1.7; }
.scene-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.scene-grid button { display:flex; align-items:center; gap:10px; border:1px solid #f0f1f5; border-radius:12px; padding:14px 10px; text-align:left; background:#fcfcfe; min-height:78px; }.scene-grid button:hover { background:#fff4f7; border-color:#ffd3df; }.scene-grid b { font-size:13px; display:block; font-weight:600; }.scene-grid small { display:block; margin-top:6px; color:#9a9daa; font-size:10px; }.scene-grid em { font-size:15px; font-style:normal; color:#aaa; margin-left:auto; }
.scene-mark { width:33px; height:38px; display:grid; place-items:center; flex-shrink:0; color:#be8655; background:#faf1e8; border-radius:8px; font-size:18px; font-weight:650; }.scene-mark.spicy { color:#db6e77; background:#fceef0; }.scene-mark.gift { color:#9e86b9; background:#f3eff9; }.scene-mark.order { color:#6fa18e; background:#eef6f1; }.scene-mark svg { width:19px; height:19px; }
.welcome-foot { display:flex; align-items:center; gap:6px; border-top:1px solid var(--line); margin-top:20px; padding-top:15px; font-size:11px; color:#a0a3ae; }.tiny-dot { width:5px; height:5px; border-radius:50%; background:#b3b8c4; }
.privacy-note { color:#b0b3bc; text-align:center; font-size:10px; line-height:1.7; margin:24px 0 10px; }
.chat-bottom { background:var(--cloud); padding:12px 24px max(12px,env(safe-area-inset-bottom)); }
.quick-actions { display:flex; gap:9px; overflow-x:auto; padding:0 0 12px; scrollbar-width:none; }.quick-actions button { display:flex; align-items:center; gap:7px; justify-content:center; background:white; border:0; border-radius:14px; min-height:44px; padding:8px 17px; font-size:13px; white-space:nowrap; }.quick-actions svg { width:17px; height:17px; color:var(--rose); }
.composer { display:flex; align-items:flex-end; gap:10px; }.round { background:#fff; border-radius:50%; width:48px; height:48px; }.composer textarea { flex:1; min-width:0; resize:none; height:48px; min-height:48px; max-height:112px; padding:13px 17px; line-height:22px; border:0; border-radius:24px; background:white; font-size:15px; outline:none; scrollbar-width:thin; }.composer textarea::placeholder { color:#b0b2bd; }
.send-button { border:0; background:var(--rose); color:white; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; }.send-button svg { width:23px; height:23px; }
.connection-status { color:#b0b3bd; font-size:10px; text-align:center; margin-top:12px; }.connection-status[data-state="plan"] { color:#af7940; }
.follow-up-actions { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:12px; }.follow-up-actions button { border:1px solid #ffd7e1; background:#fff6f8; color:#e44167; border-radius:24px; min-height:38px; padding:6px 15px; font-size:12px; }
.typing .bubble { display:flex; gap:5px; min-height:46px; align-items:center; }.typing i { width:5px; height:5px; border-radius:50%; background:#c7cad3; animation:typing 1s infinite; }.typing i:nth-child(2) { animation-delay:.15s; }.typing i:nth-child(3) { animation-delay:.3s; }
.tool-tray { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:24px 0 8px; }.tool-tray button { display:grid; gap:10px; justify-items:center; background:transparent; border:0; font-size:12px; padding:0; min-height:80px; }.tool-tray span { display:grid; place-items:center; width:56px; height:56px; background:white; border-radius:15px; }.tool-tray svg { width:25px; height:25px; }
.emoji-tray { display:flex; gap:8px; padding-top:14px; }.emoji-tray button { min-height:44px; background:white; border:0; border-radius:12px; padding:8px 15px; }
.service-sheet { padding:0; border:0; border-radius:22px; width:min(570px,calc(100vw - 30px)); max-height:78dvh; background:#fff; color:var(--ink); box-shadow:0 20px 80px #20283933; }.service-sheet::backdrop { background:#252b3b45; backdrop-filter:blur(3px); }.service-sheet>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 20px; border-bottom:1px solid var(--line); }.service-sheet h2 { font-size:18px; margin:0; }.sheet-body { overflow-y:auto; padding:20px; max-height:calc(78dvh - 75px); }.sheet-body>p { color:#858b98; font-size:13px; line-height:1.9; }.sheet-primary { width:100%; background:var(--rose); color:white; border:0; border-radius:12px; min-height:46px; padding:10px; margin-top:16px; }
.catalog-card { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }.catalog-category { width:60px; height:66px; border-radius:12px; background:#f6f3ef; color:#a08265; display:grid; place-items:center; font-size:12px; flex-shrink:0; text-align:center; }.catalog-info { flex:1; min-width:0; }.catalog-info h3 { font-size:14px; margin:0 0 6px; }.catalog-info p { font-size:11px; color:#959aa6; line-height:1.6; margin:0 0 8px; }.catalog-info b { color:var(--rose); font-size:15px; }.catalog-card button { align-self:center; background:var(--rose-soft); color:var(--rose); border:0; border-radius:24px; padding:0 13px; min-height:40px; font-size:12px; }
.rating-actions,.view-actions { display:flex; gap:8px; flex-wrap:wrap; }.rating-actions button,.view-actions button { min-height:44px; border:1px solid var(--line); border-radius:10px; background:#f8f9fb; padding:10px 14px; font-size:13px; }.view-actions button.active { color:var(--rose); border-color:#ffafc3; background:var(--rose-soft); }.sheet-link { color:#848a99; font-size:12px; display:inline-block; margin-top:22px; }
.product-in-chat { margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fafbfc; }.product-in-chat h3 { font-size:14px; margin:0 0 6px; }.product-in-chat small { font-size:11px; color:#9499a5; }.product-in-chat footer { display:flex; align-items:center; justify-content:space-between; margin-top:12px; gap:12px; }.product-in-chat b { color:var(--rose); font-size:16px; }.product-in-chat button { border:0; border-radius:20px; background:var(--rose-soft); color:var(--rose); padding:8px 12px; min-height:36px; font-size:12px; }
.retry-button { border:0; background:#fff0f3; color:var(--rose); padding:8px 14px; border-radius:20px; margin-top:10px; min-height:38px; }.toast { position:fixed; z-index:10; bottom:150px; left:50%; transform:translateX(-50%); max-width:80vw; background:#272b35ed; color:white; padding:12px 18px; border-radius:24px; font-size:13px; text-align:center; }
.answer-feedback { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }.answer-feedback button { background:transparent; border:1px solid #e4e7ed; border-radius:20px; padding:6px 11px; color:#9da2ae; font-size:10px; min-height:32px; }.answer-feedback button.selected { color:var(--rose); border-color:#ffb9ca; background:#fff4f7; }.handoff-summary { width:100%; resize:vertical; padding:14px; font-size:13px; line-height:1.7; border:1px solid var(--line); border-radius:12px; background:#f9fafc; }
body[data-view="shop"] .welcome-card { background:#fff8f3; }.shop-view-note { display:none; }body[data-view="shop"] .welcome-card h2 { font-size:28px; }body[data-view="shop"] .scene-grid { grid-template-columns:1fr; }body[data-view="shop"] .scene-grid button { min-height:68px; }
body[data-view="minimal"] .welcome-card { display:none; }body[data-view="minimal"] .message-content { max-width:90%; }body[data-view="minimal"] .bubble { border-radius:10px; }body[data-view="minimal"] .service-strip { display:none; }body[data-view="minimal"] .store-logo { display:none; }
@keyframes typing { 50% { opacity:.35; transform:translateY(-2px); } }@keyframes message-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(min-width:1000px) { .chat-shell { height:calc(100dvh - 64px); margin-top:8px; }.store-header { padding-inline:25px; }.chat-stream { padding-inline:40px; }.chat-bottom { padding-inline:32px; } }
@media(max-width:600px) { body { padding:0; background:var(--cloud); }.chat-shell { width:100%; height:100dvh; min-height:0; border:0; border-radius:0; box-shadow:none; }.store-header { gap:5px; padding:14px 10px 12px; }.store-logo { display:none; }.store-identity { gap:8px; }h1 { font-size:17px; letter-spacing:0; }.store-identity p { font-size:11px; }.store-button { padding-inline:14px; font-size:13px; }.service-strip { padding:0 20px 12px; font-size:11px; }.service-strip small { font-size:10px; }.chat-stream { padding:20px 14px 14px; }.message { gap:9px; margin-bottom:20px; }.message-avatar { width:32px; height:32px; border-radius:9px; font-size:14px; }.message-content { max-width:calc(100% - 52px); }.bubble { font-size:14px; padding:12px 14px; }.welcome-card { margin-left:41px; padding:20px 16px; }.welcome-card h2 { font-size:21px; }.welcome-card>p { font-size:12px; margin-bottom:18px; }.scene-grid { gap:8px; }.scene-grid button { padding:13px 10px; min-height:82px; }.scene-mark { display:none; }.scene-grid b { font-size:12px; }.scene-grid small { font-size:9px; }.scene-grid em { font-size:13px; }.chat-bottom { padding:10px 12px max(10px,env(safe-area-inset-bottom)); }.quick-actions { gap:7px; padding-bottom:10px; }.quick-actions button { padding:8px 12px; font-size:12px; border-radius:13px; }.composer { gap:8px; }.round,.send-button { width:44px; height:44px; }.composer textarea { font-size:14px; height:44px; min-height:44px; padding:11px 14px; }.composer svg { width:23px; height:23px; }#shopButton { display:none; }.connection-status { font-size:9px; margin-top:10px; }.service-sheet { align-self:end; margin:auto auto 0; width:100%; border-radius:22px 22px 0 0; }.follow-up-actions button { min-height:38px; }.privacy-note { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; } }
@media(min-width:601px) and (max-height:780px) { .chat-stream { padding:16px 32px; }.day-divider { margin-bottom:16px; }.message { margin-bottom:16px; }.welcome-card { padding:18px; margin-bottom:16px; }.welcome-card h2 { font-size:21px; }.welcome-card>p { margin-bottom:14px; }.scene-grid button { min-height:64px; padding:10px; }.welcome-foot { margin-top:14px; padding-top:12px; } }
@media(max-width:600px) { .answer-feedback button,.follow-up-actions button,.catalog-card button,.product-in-chat button,.store-button { min-height:44px; }.answer-feedback button { font-size:11px; padding-inline:12px; } }
.message-caption { color:#7d8390; font-size:12px; }
.answer-feedback button { color:#737b89; }
.connection-status { color:#7a818e; font-size:11px; line-height:1.6; }
.privacy-note { color:#858b96; font-size:11px; }
.scene-grid small { color:#7c8391; font-size:11px; }
.welcome-foot { color:#7c8391; }
/* Catalog follows the chat's 14/13/12px scale, rose controls and cloud surfaces. */
.catalog-notice { margin:0 0 14px; }
.catalog-toolbar { background:white; }
.catalog-search { display:block; }
.catalog-search input { width:100%; min-height:46px; border:1px solid #e5e8ef; border-radius:12px; padding:12px 14px; background:#f8f9fc; font-size:14px; }
.catalog-categories { display:flex; gap:8px; overflow-x:auto; padding:12px 0; scrollbar-width:thin; }
.catalog-categories button { flex-shrink:0; min-height:44px; border:1px solid #e7eaf0; background:#fff; border-radius:22px; padding:8px 15px; font-size:13px; }
.catalog-categories button[aria-pressed="true"] { color:var(--rose); background:var(--rose-soft); border-color:#ffc4d2; }
.catalog-filter-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:12px; color:#747c8b; }
.catalog-filter-row label { display:flex; align-items:center; gap:6px; min-height:44px; }
.catalog-filter-row input[type="number"] { width:75px; min-height:44px; border:1px solid #e5e8ef; border-radius:8px; padding:8px; font-size:13px; }
.catalog-filter-row select { min-height:44px; border:1px solid #e5e8ef; border-radius:8px; padding:8px; background:#fff; font-size:13px; }
.catalog-stock-filter input { width:18px; height:18px; accent-color:var(--rose); }
.catalog-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; color:#747c8b; font-size:12px; }
.catalog-summary button,.catalog-reset,.catalog-back { min-height:44px; background:transparent; border:0; color:var(--rose); padding:8px 4px; font-size:13px; }
.catalog-category { flex-direction:column; gap:5px; height:76px; line-height:1.5; padding:6px; text-wrap:balance; }
.catalog-category small { font-size:9px; color:#9b8b79; }
.catalog-info h3 { line-height:1.5; }
.catalog-info p { margin-bottom:7px; color:#747c8b; font-size:12px; }
.catalog-tags { display:flex; flex-wrap:wrap; gap:5px; }
.catalog-tags span { font-size:10px; border-radius:4px; background:#f4f5f8; color:#747c8b; padding:3px 5px; }
.catalog-price-row { display:flex; align-items:center; gap:10px; padding-top:9px; }
.catalog-price-row small { color:#6b8378; font-size:11px; }
.catalog-price-row .sold-out,.catalog-stock.sold-out { color:#9b7777; }
.catalog-empty { text-align:center; padding:30px 12px; }
.catalog-empty h3 { font-size:16px; }.catalog-empty p { font-size:13px; color:#747c8b; line-height:1.7; }
.catalog-detail-heading { padding:16px 0; border-bottom:1px solid var(--line); }
.catalog-detail-heading small { color:#848c99; font-size:12px; }
.catalog-detail-heading h3 { font-size:22px; margin:10px 0; line-height:1.5; }
.catalog-detail-heading p { font-size:14px; color:#747c8b; }
.catalog-detail-heading b { font-size:25px; color:var(--rose); margin-right:14px; }
.catalog-stock { font-size:12px; color:#6b8378; }
.catalog-description { font-size:14px; line-height:1.9; color:#747c8b; }
.catalog-facts { display:grid; grid-template-columns:90px minmax(0,1fr); gap:14px 12px; margin:24px 0; font-size:13px; line-height:1.8; }
.catalog-facts dt { color:#848c99; }.catalog-facts dd { margin:0; overflow-wrap:anywhere; }
.catalog-safety { background:#fff8f2; border-radius:10px; padding:14px; color:#9b754d!important; font-size:12px!important; line-height:1.9; }
@media(max-width:600px) { .sheet-body { padding:16px; }.catalog-card { gap:10px; }.catalog-category { width:52px; font-size:11px; }.catalog-card button { padding-inline:10px; }.catalog-info h3 { font-size:13px; }.catalog-facts { grid-template-columns:82px minmax(0,1fr); gap:12px; } }
@media(min-width:601px) and (max-height:780px) {
  .store-header { padding-top:16px; padding-bottom:12px; }
  .service-strip { padding-bottom:12px; }
  .chat-stream { padding-top:12px; }
  .day-divider { margin-bottom:12px; }
  .welcome-message .bubble { padding:10px 14px; font-size:14px; line-height:1.6; }
  .welcome-card { padding:16px; }
  .welcome-heading { margin-bottom:8px; }
  .welcome-card h2 { margin-bottom:6px; }
  .welcome-card>p { margin-bottom:10px; }
  .scene-grid button { min-height:60px; }
  .welcome-foot { margin-top:10px; padding-top:10px; }
}

/* Pilot additions retain cloud/rose tokens and 8px rhythm; no pretend progress %. */
.run-progress { display:flex; align-items:center; gap:12px; padding:8px 0 12px; color:#737b89; font-size:12px; line-height:1.6; }
.run-progress span { flex:1; min-width:0; overflow-wrap:anywhere; }
.run-progress button { border:1px solid #ffd7e1; background:#fff; color:var(--rose); border-radius:12px; min-height:44px; min-width:60px; padding:8px 12px; }
.condition-summary { display:flex; gap:8px; align-items:flex-start; padding:0 0 10px; font-size:11px; line-height:1.7; }
.condition-summary strong { flex-shrink:0; font-weight:600; color:#737b89; padding-top:3px; }
.condition-summary>div { display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.condition-summary span { background:#fff; color:#737b89; padding:3px 7px; border-radius:6px; overflow-wrap:anywhere; }
.handoff-receipt { border:1px solid #f0e2e8; background:#fff; color:var(--rose); border-radius:10px; min-height:44px; width:100%; text-align:left; padding:9px 12px; font-size:12px; margin-bottom:10px; }
.product-in-chat .purchase-link { display:inline-block; margin-top:10px; font-size:12px; color:#858b96; text-decoration:none; }
.product-in-chat .product-evidence { display:block; margin-top:10px; line-height:1.7; color:#858b96; font-size:11px; }
.product-in-chat a.purchase-link { color:var(--rose); min-height:44px; padding:10px 0; }
.product-in-chat button { min-height:44px; }
button:disabled { cursor:default; opacity:.55; }
.handoff-state { padding:14px; background:var(--cloud); border-radius:10px; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.sheet-label { display:block; margin:18px 0 8px; font-size:12px; color:#737b89; }
.handoff-disclaimer { font-size:11px!important; }
@media(max-width:600px) { .condition-summary { font-size:10px; }.run-progress { font-size:11px; }.product-in-chat footer { flex-wrap:wrap; }.product-in-chat h3 { line-height:1.6; } }
body:not([data-customer-ready]) .chat-shell { display:none!important; }
.customer-login { width:min(440px,calc(100% - 32px)); margin:auto; padding:36px 28px; background:#fff; border:1px solid #e7e9f0; border-radius:28px; box-shadow:0 16px 60px #18243708; color:#20242c; }
.customer-login[hidden] { display:none; }
.customer-login .store-logo { display:flex; width:52px; height:52px; align-items:center; justify-content:center; background:#fff0f5; color:#fe2c55; border-radius:18px; font-size:24px; font-weight:700; }
.login-eyebrow { color:#737b89; font-size:14px; margin:20px 0 12px; }
.customer-login h1 { font-size:24px; line-height:1.4; margin:0 0 12px; }
.customer-login p { line-height:1.8; font-size:14px; }
.customer-login form { margin-top:28px; }
.customer-login label { display:block; font-size:14px; margin-bottom:10px; font-weight:600; }
.login-number { display:flex; align-items:center; border:1px solid #dce0ea; border-radius:14px; padding:0 16px; background:#fafbfe; }
.login-number:focus-within { outline:2px solid #ffb6c8; border-color:#fe2c55; }
.login-number span { color:#89909d; font-size:16px; border-right:1px solid #e1e4ed; padding-right:14px; }
.login-number input { width:100%; min-width:0; border:0; outline:0; background:transparent; padding:16px; font:inherit; font-size:18px; color:#20242c; }
.customer-login small { display:block; font-size:12px; line-height:1.8; color:#858c9b; margin-top:10px; }
.customer-login form button { width:100%; min-height:48px; border:0; border-radius:14px; background:#fe2c55; color:#fff; font:inherit; font-weight:600; margin-top:24px; }
.customer-login #customerLoginError { color:#c72849; }
.customer-login .login-demo-note { border-top:1px solid #eef0f5; padding-top:18px; margin-top:24px; }
.account-settings { padding:16px 0; border-bottom:1px solid #eceef3; margin-bottom:16px; }
.account-settings strong { display:block; margin-bottom:8px; }.account-settings button { min-height:44px; border:1px solid #ffd7e1; border-radius:12px; background:#fff5f8; color:#fe2c55; padding:8px 16px; }
.order-choice-notice { display:block; margin:10px 0; color:#858c9b; line-height:1.7; font-size:12px; }
.product-consult-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.product-consult-actions button { min-height:44px; padding:8px 12px; border:1px solid #ffd1de; border-radius:12px; background:#fff7fa; color:#fe2c55; font:inherit; font-size:13px; text-align:left; }
.order-choice-card { display:grid; gap:8px; margin-top:12px; padding:14px; border:1px solid #e8eaf1; border-radius:14px; background:#fafbfe; }
.order-choice-card strong { font-size:15px; line-height:1.6; }.order-choice-card small { font-size:12px; line-height:1.7; color:#858c9b; overflow-wrap:anywhere; }
.order-choice-card button { justify-self:start; min-height:44px; padding:8px 16px; border:1px solid #ffd1de; border-radius:12px; color:#fe2c55; background:#fff; }
@media(max-width:480px) { .customer-login { padding:28px 22px; }.customer-login h1 { font-size:22px; } }
