:root{--green:#173f35;--green2:#246b53;--cream:#f5f7f2;--ink:#1c2925;--line:#dce5de;--muted:#62726a;--orange:#f4b544}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}a{color:var(--green2)}button,input,textarea,select{font:inherit}button{border:1px solid #b8c9bf;border-radius:10px;background:white;color:var(--green);padding:10px 14px;cursor:pointer;font-weight:650}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{width:100%;padding:11px;border:1px solid #bdcbc2;border-radius:9px;background:white;color:var(--ink);margin-top:5px}label{display:block;font-weight:650;margin:10px 0}.hero,.topbar{display:flex;gap:16px;align-items:center;background:var(--green);color:white;padding:22px max(18px,calc((100vw - 1000px)/2));}.hero{justify-content:space-between}.hero h1,.topbar h1{margin:0;font-size:clamp(1.5rem,4vw,2.2rem)}.hero p,.topbar p{margin:5px 0}.topbar{padding:16px max(16px,calc((100vw - 900px)/2))}.topbar img{width:65px;height:75px;object-fit:contain}.topbar .home{color:white;align-self:flex-start;white-space:nowrap}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:800;opacity:.8;margin:0 0 4px}.pill{background:var(--orange);color:#30270f;padding:5px 12px;border-radius:20px;font-weight:800;white-space:nowrap}main{max-width:960px;margin:20px auto;padding:0 14px}.notice,.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 2px 9px #173f3508}.notice{border-left:5px solid var(--orange)}.notice p{margin:4px 0 0}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.role-card{display:block;position:relative;text-decoration:none;color:var(--ink);background:white;border:1px solid var(--line);border-radius:18px;padding:16px;min-width:0;transition:transform .15s}.role-card:hover{transform:translateY(-2px)}.role-card img{display:block;width:100%;height:110px;object-fit:contain}.role-letter{position:absolute;right:14px;top:12px;background:var(--green);color:white;border-radius:12px;padding:3px 10px;font-weight:900;font-size:1.3rem}.role-card h2{margin:8px 0 2px}.role-card p{color:var(--muted);font-size:.92rem}.open-link{font-weight:800;color:var(--green2)}.panel h2{font-size:1.2rem;margin:0 0 12px}.panel h3{margin:0}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.sectionhead h2{margin:0}.voice-row{display:flex;align-items:stretch;gap:8px}.voice-row textarea{flex:1;min-width:0}.mic{min-width:88px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.gps-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.primary{background:var(--green2);color:white;border-color:var(--green2);width:100%;margin-top:12px;padding:13px}.danger{background:#fff0ee;color:#9e2f22;border-color:#e6b7b1}.hint,.status{color:var(--muted);font-size:.9rem}.status{display:block;margin-top:8px}.stack{display:grid;gap:10px;margin-top:12px}.item{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfdfb}.item h3{margin:0 0 5px;font-size:1.05rem}.item p{margin:5px 0}.item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.empty{padding:14px;color:var(--muted);background:#f7faf7;border-radius:10px}.store-image{width:100%;max-height:220px;object-fit:cover;border-radius:12px;margin:8px 0}.distance{font-weight:800;color:var(--green2)}footer{text-align:center;color:var(--muted);padding:20px}.hidden,[hidden]{display:none!important}@media(max-width:680px){.role-grid{grid-template-columns:1fr}.role-card{display:grid;grid-template-columns:80px 1fr;column-gap:12px}.role-card img{grid-row:span 3;width:80px;height:100px}.role-card .role-letter{right:10px;top:10px}.role-card h2,.role-card p,.role-card .open-link{grid-column:2}.role-card p{margin:0 0 8px}.grid2{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar img{width:52px;height:65px}.hero{align-items:flex-start}.panel{padding:14px}}

.error{color:#9e2f22!important}
.badge{display:inline-block;background:var(--orange);color:#30270f;border-radius:8px;padding:1px 8px;font-size:.72rem;font-weight:800;vertical-align:middle}
.item.chosen{border-color:var(--green2);background:#eef8f2}
.track{margin-top:10px;padding:10px 12px;border-left:4px solid var(--green2);background:#f2f8f4;border-radius:8px}
.timeline{margin:6px 0 0;padding-left:20px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);max-width:min(92vw,560px);background:var(--green);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 6px 24px #0004;z-index:50;font-weight:650}
.toast.error{background:#9e2f22;color:#fff!important}
select{width:100%;padding:11px;border:1px solid #bdcbc2;border-radius:9px;background:#fff;margin-top:5px}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

.alert-overlay{position:fixed;inset:0 0 auto 0;z-index:100;background:#9e2f22;color:#fff;font-weight:800;font-size:1.15rem;text-align:center;padding:18px 14px;box-shadow:0 6px 24px #0006}
.evidence{margin-top:8px;padding:10px 12px;border-left:4px solid var(--orange);background:#fffaf0;border-radius:8px}
.evidence img{display:block;max-width:100%;max-height:260px;border-radius:10px;margin:6px 0}
.evidence-form{margin-top:10px;padding:10px 12px;border:1px dashed #b8c9bf;border-radius:10px}

.chat{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7faf7}
.msg{margin:4px 0}.msg.mine{text-align:right;color:var(--green2)}
.chat-send{display:flex;gap:8px;margin-top:8px}.chat-send input{margin:0;flex:1;min-width:0}
.review{margin-top:8px;padding:10px 12px;border-left:4px solid var(--green2);background:#eef8f2;border-radius:8px}.stars{color:#c98a00;letter-spacing:2px}

.ok{color:#1f6b45;font-weight:700}

/* ===== 0.10.2 บล็อกไล่สีตามลำดับการทำงาน (อ่อน -> เข้ม) B เขียว / U น้ำตาลทอง / Y ฟ้า-น้ำเงิน ===== */
.blk{position:relative;border-left-width:8px;padding-top:26px}
.blk::before{content:"บล็อก " attr(data-blk);position:absolute;top:-12px;left:14px;color:#fff;font-weight:800;font-size:.8rem;padding:2px 12px;border-radius:12px}
.blk h2,.blk h3{color:#1c2925}
.blk .item{background:#ffffffcc}
body[data-role="B"] .topbar{background:#173f35}
body[data-role="B"] .blk1{background:#edf9f0;border-color:#5fb87d}body[data-role="B"] .blk1::before{background:#5fb87d}
body[data-role="B"] .blk2{background:#cdeed8;border-color:#3a9a5c}body[data-role="B"] .blk2::before{background:#3a9a5c}
body[data-role="B"] .blk3{background:#9fd9b4;border-color:#1d7a40}body[data-role="B"] .blk3::before{background:#1d7a40}
body[data-role="B"] .primary{background:#1d7a40;border-color:#1d7a40}
body[data-role="U"] .topbar{background:#5c4010}
body[data-role="U"] .blk1{background:#fbf3dc;border-color:#c9962f}body[data-role="U"] .blk1::before{background:#c9962f}
body[data-role="U"] .blk2{background:#f1dfa6;border-color:#a87a1e}body[data-role="U"] .blk2::before{background:#a87a1e}
body[data-role="U"] .blk3{background:#e0c070;border-color:#7a5412}body[data-role="U"] .blk3::before{background:#7a5412}
body[data-role="U"] .primary{background:#7a5412;border-color:#7a5412}
body[data-role="Y"] .topbar{background:#0f2f73}
body[data-role="Y"] .blk1{background:#e6f4fe;border-color:#4aa3e8}body[data-role="Y"] .blk1::before{background:#4aa3e8}
body[data-role="Y"] .blk2{background:#bfe0fb;border-color:#2a74c9}body[data-role="Y"] .blk2::before{background:#2a74c9}
body[data-role="Y"] .blk3{background:#86bdf0;border-color:#143f8f}body[data-role="Y"] .blk3::before{background:#143f8f}
body[data-role="Y"] .primary{background:#143f8f;border-color:#143f8f}
@media(prefers-contrast:more){.blk::before{outline:2px solid #000}}


/* Compact, accessible expandable settings shared by B / U / Y. */
.settings-fold { border: 1px solid #d8e4dc; border-radius: 12px; overflow: hidden; background: #fff; }
.settings-fold > summary { cursor: pointer; list-style-position: inside; padding: 13px 14px; font-weight: 700; color: #244b3c; background: #f5f8f5; }
.settings-fold > summary:focus-visible { outline: 3px solid #3b82f6; outline-offset: -3px; }
.settings-fold[open] > summary { border-bottom: 1px solid #d8e4dc; }
.settings-fold-body { display: grid; gap: 12px; padding: 12px; }
.settings-fold-body > label { margin: 0; }
.settings-fold-body .hint { margin: 0; }


/* BUY 1.5.8 — local-only QR/payment prototype */
.payment-panel{margin-top:1rem;padding:1rem;border:1px solid #e0b45d;border-radius:14px;background:#fffaf0}.payment-panel h3{margin-top:0}.payment-qr{margin-top:1rem;padding:.8rem;border:1px dashed #b88b37;border-radius:12px;background:#fff}.qr-image{max-width:min(100%,360px);max-height:420px;object-fit:contain;background:#fff}.settings-collapse{margin:.8rem 0;padding:.8rem;border:1px solid #d6e2d9;border-radius:12px;background:#f8fbf8}.settings-collapse>summary{cursor:pointer;font-weight:700}.settings-collapse[open]>summary{margin-bottom:.8rem}.item img.store-image{max-height:240px;object-fit:contain}

.done-item{margin:.6rem 0;border:1px solid #cfd8cf;border-radius:12px;background:#f4f8f4}.done-item>summary{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;cursor:pointer;font-weight:600}.done-item[open]>summary{border-bottom:1px solid #cfd8cf}.done-item>.item{margin:.6rem}.del-x{flex:none;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;border:1px solid #c0392b;background:#fff;color:#c0392b;font-weight:700;cursor:pointer}

.contacts{margin-top:10px;padding:10px 12px;border-left:4px solid #1d7a40;background:#f1f8f3;border-radius:8px}.contacts ul{margin:6px 0 0;padding-left:18px}.contacts a{font-weight:700}

.contacts .addr{font-size:.92rem;color:#35503f}

.profile{margin:8px 0;border:1px solid #c9d9cf;border-radius:10px;padding:8px 12px;background:#fbfdfb}
.profile>summary{cursor:pointer;font-weight:800;padding:4px 0}.profile[open]>summary{margin-bottom:8px}
/* v1.10.50: แถบสรุปเป็นปุ่มชัดเจน — ยุบ: “✏️ แก้ไข ▾” / เปิด: “ย่อ ▴” */
.profile>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;list-style:none;min-height:36px}
.profile>summary::-webkit-details-marker{display:none}
.profile>summary::after{content:"✏️ แก้ไข ▾";margin-left:auto;flex:none;font-size:.85em;font-weight:700;padding:4px 12px;border-radius:999px;border:1px solid #9bbba7;background:#eaf4ee;color:#1d5a3a}
.profile[open]>summary::after{content:"ย่อ ▴";background:#fff}
.profile>summary:hover::after,.profile>summary:focus-visible::after{background:#d9ecdf}
.greet{margin:6px 0;padding:10px 12px;border-radius:10px;background:#eef8f2;font-weight:800;color:#1d5f34}

/* 1.8.3: ปุ่มย่อ/ขยายรายการที่เสร็จแล้ว เป็นสามเหลี่ยม (ไม่ให้ ✅ ดูเหมือนเช็กบ็อกซ์) */
.done-item>summary{list-style:none}
.done-item>summary::-webkit-details-marker{display:none}
.done-item>summary::before{content:'▶';flex:none;font-size:.85em;color:#244b3c;transition:transform .15s ease}
.done-item[open]>summary::before{transform:rotate(90deg)}
.done-item>summary>span{flex:1;min-width:0}

/* 1.8.4: ดาวร้านค้า/ไรเดอร์ในหน้าเลือกข้อเสนอและหน้าชำระเงิน */
.rating-line{margin:.3rem 0}.rating-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:#fff6dc;border:1px solid #e0b45d;font-size:.92em}.rating-badge.none{background:#f3f3f3;border-color:#ccc;color:#666}.pay-parties{margin:.6rem 0;padding:.6rem .8rem;border-radius:10px;background:#fff;border:1px solid #ecd9a8}.pay-parties p{margin:.25rem 0}

/* 1.8.6: ตัวการ์ตูน B/U/Y ในแถบหัว (ตัดจากภาพชุด 3 ตัว พื้นโปร่งใส) */
.topbar img.logo-char{height:104px;width:auto;max-width:none;flex:none;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}@media (max-width:560px){.topbar img.logo-char{height:84px}}

/* 1.9.0 ไมค์ในแชต */
.chat-send .mic{margin:0;min-width:84px;white-space:nowrap}.chat-mic-status{margin:4px 0 0}.chat-mic-status.error{color:#9e2f22}
@media(max-width:420px){.chat-send{flex-wrap:wrap}.chat-send input{flex-basis:100%}.chat-send .mic{flex:1}.chat-send button[data-chat]{flex:1}}

/* 1.9.5: รีวิวแบบกดดาว/ไลก์/หัวใจ/โกรธ */
.rpick{margin:.4rem 0}.rstars{display:flex;gap:4px}
.rstar{background:none;border:0;padding:0 2px;font-size:2.4rem;line-height:1;color:#d9d2c3;cursor:pointer;transition:transform .12s;min-width:0}
.rstar.on{color:#ffb800;text-shadow:0 2px 0 #e08a00,0 0 8px rgba(255,184,0,.55)}.rstar:active{transform:scale(1.25)}
.rreacts{display:flex;gap:10px;margin:.5rem 0}
.rx-ball{width:54px;height:54px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:inset -6px -8px 14px rgba(0,0,0,.28),inset 6px 6px 12px rgba(255,255,255,.45),0 6px 10px rgba(0,0,0,.22);transition:transform .12s,outline-color .12s;outline:3px solid transparent;min-width:0}
.rx-ball.red{background:radial-gradient(circle at 32% 28%,#ff7a6e,#e3141b 60%,#a10009)}.rx-ball.blue{background:radial-gradient(circle at 32% 28%,#6a7bff,#1a1adf 60%,#0c0c8a)}
.rx-ball svg{width:55%;height:55%;fill:#fff}.rx-ball.flip svg{transform:rotate(180deg)}.rx-ball .emo{font-size:1.8rem;line-height:1}
.rx-ball.sel{outline-color:#ffb800;transform:scale(1.12)}.rx-ball:active{transform:scale(1.2)}
.rx-done{display:inline-flex;align-items:center;gap:6px}.rx-done .rx-ball{width:30px;height:30px;cursor:default;box-shadow:inset -3px -4px 7px rgba(0,0,0,.28),inset 3px 3px 6px rgba(255,255,255,.45)}.rx-done .emo{font-size:1rem}

/* 1.10.6 ห้องแชต 3 ฝ่าย */
.chat-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-state{font-size:.82rem;padding:2px 8px;border-radius:999px;background:#e8f5e9}.chat-state.closed{background:#eceff1}
.chat-members{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.chat-chip{font-size:.8rem;padding:2px 8px;border-radius:999px;background:#eee;color:#666}.chat-chip.on{background:#e3f2fd;color:#0d47a1}
.chat-auto{display:inline-flex;gap:6px;align-items:center}.chat-cancel{margin-left:8px;padding:2px 10px;font-size:.8rem}

/* 1.10.8 แชตสด */
.chat-live{max-height:14rem;overflow-y:auto}
.chat-relay-status{margin:.25rem 0}
.chat-relay-status.error{color:#b42318}

/* 1.10.12 */
.clear-local{margin:1rem 0;padding:.5rem .75rem;border:1px dashed #999;border-radius:10px}


/* BUY Personal AI — optional settings panel */
.ai-connect-panel{border:1px solid #b8d8c5;background:linear-gradient(135deg,#f7fff9,#fff);margin-top:1rem}
.ai-connect-details>summary{font-weight:800;cursor:pointer;color:#176b42;padding:.35rem}
.ai-connect-content{padding:.8rem .25rem .2rem;display:grid;gap:.65rem}
.ai-connect-content label{display:grid;gap:.3rem;font-weight:650}
.ai-connect-content input,.ai-connect-content select{width:100%;min-width:0;padding:.7rem;border:1px solid #b9c8c0;border-radius:10px;font:inherit;background:#fff}
.ai-provider-link{margin:0}
.ai-remember{display:flex!important;align-items:center;gap:.5rem;font-weight:500!important}
.ai-remember input{width:auto!important}
.ai-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.ai-actions button{flex:1 1 145px}
.ai-security{border-left:3px solid #d59a28;padding-left:.65rem}
.ai-connect-panel .status.error{color:#a21b1b}
.ai-connect-panel .status.success{color:#176b42}
@media(max-width:520px){.ai-actions button{flex-basis:100%}}



/* 1.10.14 — role-aware Personal AI assistant */
.ai-assistant-panel{margin-top:1rem;border:1px solid #c8d9d0}
.ai-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.ai-assistant-head h2{margin:.1rem 0}
.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0}
.ai-prompt-chip{font:inherit;font-size:.9rem;text-align:left;padding:.5rem .7rem;border:1px solid #b9c8c0;border-radius:999px;background:#f7fbf8;color:#174f35}
.ai-prompt-label{display:block;font-weight:700;margin:.45rem 0 .25rem}
.ai-assistant-panel textarea{box-sizing:border-box;width:100%;min-width:0;padding:.7rem;border:1px solid #b9c8c0;border-radius:10px;font:inherit;resize:vertical}
.ai-assistant-panel .ai-actions{margin:.55rem 0}
.ai-answer{white-space:pre-wrap;overflow-wrap:anywhere;padding:.85rem;border:1px solid #cbd8d0;border-radius:10px;background:#fbfdfb;line-height:1.55}
.ai-assistant-note{border-left:3px solid #d59a28;padding-left:.65rem}
.ai-assistant-panel .status.error{color:#a21b1b}
.ai-assistant-panel .status.success{color:#176b42}


/* BUY 1.10.15 — conversational order clarification for B */
.ai-order-panel{border:1px solid #9ac9a8;background:#f8fff9;margin-top:10px}
.ai-order-panel h2{margin:0}.ai-order-conversation{display:grid;gap:8px;margin:12px 0;max-height:340px;overflow:auto}
.ai-order-bubble{max-width:94%;padding:10px 12px;border-radius:12px;border:1px solid #d3e1d7;background:#fff;overflow-wrap:anywhere}
.ai-order-bubble p{margin:3px 0 0;white-space:pre-wrap}.ai-order-ai{justify-self:start;border-top-left-radius:4px}
.ai-order-user{justify-self:end;background:#eaf7ee;border-color:#a9d1b4;border-top-right-radius:4px}
.ai-order-reply{display:grid;gap:6px}.ai-order-reply label{margin:0;font-weight:700}.ai-order-reply textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #b9c8c0;border-radius:10px;font:inherit}
.ai-order-reply button{width:100%}.ai-order-ready{padding:12px;border:1px solid #79b98a;border-radius:12px;background:#effaf1}.ai-order-ready p{overflow-wrap:anywhere;white-space:pre-wrap}.ai-order-ready .ai-actions button{margin-top:0}.ai-order-cancel{margin-top:8px;font-size:.88rem}
@media(max-width:520px){.ai-order-bubble{max-width:100%}.ai-order-ready .ai-actions button{flex-basis:100%}}

.ai-order-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-order-footer button{flex:1 1 190px}.ai-order-cancel{margin-top:0}

/* 1.10.16: opt-in local preference greeting */
.ai-greeting-panel{margin:10px 0 0;padding:12px;border:1px solid #c9dfcf;border-radius:12px;background:#f7fcf8;display:grid;gap:8px}
.ai-greeting-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ai-greeting-text{margin:0;padding:10px;border-radius:9px;background:#fff;border:1px solid #e0ebe2;line-height:1.55}
.ai-greeting-panel label{margin:0;font-size:.94rem}
.ai-greeting-actions{display:flex;gap:8px;flex-wrap:wrap}
.ai-greeting-actions button{flex:1 1 150px}


/* 1.10.17 — local U/Y work-pattern greeting */
.ai-role-learning{border-color:#c7d9e8;background:#f7fbff}
.ai-role-learning .ai-greeting-text{background:#fff}

/* v1.10.24 — Smart Route (Y) + Community Slang Dictionary (B) */
.ai-route-panel{margin:0 0 10px}.ai-route-list{margin:6px 0;padding-left:0;list-style:none;display:grid;gap:4px}.ai-route-list li{padding:6px 8px;border:1px solid #d3e1d7;border-radius:8px;background:#fff;overflow-wrap:anywhere}
.ai-slang-panel summary{cursor:pointer;font-weight:700}.ai-slang-list{display:grid;gap:6px;margin:10px 0}.ai-slang-row{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:6px 8px;border:1px solid #d3e1d7;border-radius:8px;background:#fff;overflow-wrap:anywhere}
.ai-slang-teach{padding:10px;border:1px solid #79b98a;border-radius:10px;background:#effaf1;margin:8px 0}.ai-slang-panel textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid #b9c8c0;border-radius:10px;font:inherit}

/* v1.10.51: ป้องกันบัญชีด้วยรหัสผ่าน (ไม่บังคับ) ในกล่องข้อมูล */
.key-protect{margin-top:10px;border-top:1px dashed #c9d9cf;padding-top:8px}
.key-protect>summary{cursor:pointer;font-weight:700;font-size:.92em;color:#1d5a3a;padding:4px 0}
.key-protect input{display:block;width:100%;box-sizing:border-box;margin:6px 0}
.key-protect button{margin:4px 0}

.key-form{margin:10px 0;padding:8px 10px;border:1px solid #e6c9a8;border-radius:10px;background:#fffaf2}.key-form input{display:block;width:100%;box-sizing:border-box;margin:6px 0}.key-form label{font-weight:700}

/* v1.10.86: read-only Directory conflict review */
.buy-conflict-review{margin:18px 0;border:1px solid #c58a35}.buy-conflict-list{display:grid;gap:10px}.buy-conflict-item{padding:12px;border:1px solid var(--line,#d8ddd8);border-radius:12px;background:var(--card,#fff)}.buy-conflict-item p{overflow-wrap:anywhere}.buy-conflict-item summary{cursor:pointer;font-weight:600}
/* v1.10.89: owner-operated Directory conflict editor */
.buy-conflict-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0}.buy-conflict-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:var(--soft,#f3f5f3);font-size:12px}.buy-conflict-editor-label{display:grid;gap:6px;font-weight:600;margin:10px 0}.buy-conflict-editor{width:100%;min-height:150px;resize:vertical;font:12px/1.5 ui-monospace,monospace;padding:10px;border:1px solid var(--line,#d8ddd8);border-radius:8px}.buy-conflict-actions{display:flex;flex-wrap:wrap;gap:8px}.buy-conflict-actions button{min-height:40px}

/* BUY v1.10.122: compact, collapsible local crypto self-test */
.secure-selftest-panel{margin-top:14px}.secure-selftest-panel .primary{margin-top:0}.secure-selftest-status.success,.secure-selftest-results .success{color:#176b42}.secure-selftest-status.error,.secure-selftest-results .error{color:#9e2f22}.secure-selftest-results{margin:0;padding-left:1.3rem;display:grid;gap:5px}.secure-selftest-results:empty{display:none}

.keyword-grid{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.keyword-chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 10px;border:1px solid #cbdacf;border-radius:999px;background:#fff;font-size:.88rem;font-weight:650;cursor:pointer}.keyword-chip input{width:auto;margin:0}.keyword-add-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:end}.keyword-add-row input{margin:0}.keyword-add-row button{white-space:nowrap}.keyword-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;min-height:30px}.keyword-pill{padding:6px 9px;border-radius:999px;border:1px solid #b8d1c0;background:#edf7f0;color:#205b3b;font-size:.86rem}.store-keywords-panel{margin-top:10px}.store-keywords-panel>summary{font-weight:800}.store-keywords-panel .item-actions{margin-top:8px}.store-keywords-panel .status{margin-bottom:0}@media(max-width:680px){.keyword-add-row{grid-template-columns:1fr auto}.keyword-add-row .mic{grid-column:2}.keyword-add-row #storeKeywordAdd{grid-column:1}.keyword-add-row input{grid-column:1 / -1}}

/* BUY Nearby Discovery Round 4 — compact, responsive controls */
.nearby-panel { border: 1px solid #cbd8d2; }
.nearby-category-row,.nearby-filter-row { display:flex; flex-wrap:wrap; gap:.5rem; align-items:end; margin:.75rem 0; }
.nearby-category-row button[aria-pressed="true"] { outline:2px solid #26735c; background:#e7f2ec; }
.nearby-filter-row label { max-width:8rem; }
.nearby-result { padding:.8rem; border:1px solid #dce5df; border-radius:.7rem; background:#fff; }
.nearby-result p { margin:.3rem 0; }
.nearby-preview { white-space:pre-wrap; overflow-wrap:anywhere; padding:.8rem; background:#f3f6f4; border-radius:.6rem; }
