:root{--ink:#1c2d22;--muted:#737d73;--green:#386044;--green-dark:#274b32;--lime:#d8e8a9;--cream:#f7f5ef;--paper:#fffefa;--line:#e7e8df;--orange:#dd784b;--shadow:0 14px 42px rgba(34,54,39,.08);font-family:Arial, sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.topbar{height:78px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,254,250,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}.brand-lockup{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--green);color:white;font:800 26px Arial,sans-serif;letter-spacing:-3px;padding:0 5px 4px 0}.brand-name{font:800 18px Arial,sans-serif;letter-spacing:-.8px}.brand-name span{font-weight:500;color:var(--green);margin-left:4px}.topbar-controls{display:flex;align-items:center;gap:20px}.tenant-picker{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.tenant-picker select{border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;outline:none}.view-tabs{display:flex;gap:4px;background:#f3f1ea;padding:4px;border-radius:11px}.tab-button{border:0;background:transparent;border-radius:8px;color:#6c756a;padding:9px 13px;font-size:12px;font-weight:700}.tab-button.active{background:#fffefa;color:var(--green);box-shadow:0 2px 8px #203b2612}.icon-button{border:1px solid var(--line);background:#fffefa;border-radius:10px;width:38px;height:38px;font-size:19px;color:var(--green)}#app{max-width:1240px;margin:auto;padding:34px 24px 72px;min-height:calc(100vh - 150px)}.prototype-note{text-align:center;color:#8a9185;font-size:11px;padding:16px;border-top:1px solid var(--line)}.dot{display:inline-block;width:7px;height:7px;border-radius:9px;background:#9ac171;margin:0 5px 1px}.store-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.store-title{display:flex;align-items:center;gap:12px}.store-logo{display:grid;place-items:center;width:44px;height:44px;background:var(--lime);border-radius:14px;font-size:22px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Arial,sans-serif;letter-spacing:-.04em}h1{font-size:clamp(26px,4vw,39px);margin:7px 0 4px}h2{font-size:23px;margin-bottom:4px}h3{font-size:16px;margin-bottom:7px}.muted{color:var(--muted)}.store-subtitle{color:var(--muted);font-size:13px;margin:0}.delivery-pill{background:#edf2df;color:var(--green);padding:10px 13px;border-radius:10px;font-size:12px;font-weight:700}.hero{min-height:190px;background:var(--green);color:white;border-radius:22px;display:flex;align-items:center;justify-content:space-between;padding:32px 40px;overflow:hidden;position:relative;margin-bottom:27px}.hero:after{content:'✳';position:absolute;right:17%;font-size:185px;color:#ffffff0e;top:-34px;transform:rotate(18deg)}.hero-copy{max-width:470px;position:relative;z-index:1}.hero-kicker{color:var(--lime);text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:700}.hero h2{font-size:clamp(24px,4vw,34px);margin:10px 0}.hero p{color:#d9e4d9;font-size:13px;margin:0;max-width:380px;line-height:1.6}.hero-art{position:relative;z-index:1;font-size:94px;filter:drop-shadow(0 15px 14px #102a1b55);margin:0 7% 0 0}.store-tools{display:flex;gap:12px;align-items:center;margin-bottom:21px}.search-box{flex:1;position:relative}.search-box:before{content:'⌕';position:absolute;left:14px;top:7px;font-size:24px;color:#879187}.search-box input{width:100%;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:0 15px 0 42px;outline:none;color:var(--ink)}.search-box input:focus,.field input:focus,.field select:focus{border-color:#86a675;box-shadow:0 0 0 3px #91b87522}.cart-button,.primary-button{border:0;border-radius:10px;background:var(--green);color:white;padding:12px 17px;font-weight:700;font-size:12px}.cart-button:hover,.primary-button:hover{background:var(--green-dark)}.cart-count{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:12px;background:var(--lime);color:var(--green);font-size:10px;margin-left:6px}.category-list{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:21px}.category-chip{white-space:nowrap;border:1px solid var(--line);background:var(--paper);color:#687365;border-radius:22px;padding:8px 14px;font-size:11px;font-weight:700}.category-chip.active{background:var(--green);color:white;border-color:var(--green)}.section-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 13px}.section-title p{font-size:12px;color:var(--muted);margin:0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:13px;transition:transform .18s,box-shadow .18s}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.product-visual{height:135px;border-radius:12px;background:linear-gradient(135deg,#eff2e6,#f7eee1);display:grid;place-items:center;font-size:67px;position:relative;margin-bottom:13px}.product-tag{position:absolute;left:9px;top:9px;background:#fffefaee;color:var(--green);padding:5px 8px;border-radius:20px;font-size:9px;font-weight:700}.product-name{font-size:13px;font-weight:700;min-height:34px;margin:0 0 3px}.product-unit{color:var(--muted);font-size:10px}.product-buy{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.price{font:800 17px Arial,sans-serif}.price small{font:500 10px 'DM Sans',sans-serif;color:var(--muted)}.add-button{border:1px solid #d8e2d4;background:#f4f7ef;color:var(--green);border-radius:9px;padding:8px 10px;font-weight:700;font-size:11px}.add-button:hover{background:var(--lime)}.dashboard-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.dashboard-head p{margin:4px 0 0;font-size:13px;color:var(--muted)}.dashboard-actions{display:flex;gap:8px}.secondary-button{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 13px;font-size:11px;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:17px}.stat-label{font-size:11px;color:var(--muted);font-weight:600}.stat-number{font:800 24px Arial,sans-serif;margin:9px 0 5px}.stat-foot{font-size:10px;color:#6c9364}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:19px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#899086;font-weight:700;padding:10px 9px;border-bottom:1px solid var(--line)}td{padding:12px 9px;border-bottom:1px solid #eff0ea}tr:last-child td{border-bottom:0}.status{display:inline-flex;padding:5px 8px;background:#edf2df;border-radius:20px;color:var(--green);font-size:10px;font-weight:700}.status.pending{background:#fff0df;color:#a26421}.status.cancelled{background:#fbe8e6;color:#a54e46}.empty-state{text-align:center;padding:32px;color:var(--muted);font-size:12px}.empty-state b{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}.item-title{display:flex;align-items:center;gap:8px}.mini-emoji{display:grid;place-items:center;width:30px;height:30px;background:#f2f1e8;border-radius:9px;font-size:17px}.central-banner{border-radius:18px;background:#e8efdc;padding:21px 24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.central-banner p{font-size:12px;color:#657261;margin:6px 0 0}.central-kpi{font:800 22px Arial,sans-serif;text-align:right}.central-kpi small{display:block;font:500 10px 'DM Sans',sans-serif;color:#73806f;margin-top:3px}.store-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:11px;color:#667264;font-weight:700}.field input,.field select{height:41px;border:1px solid var(--line);background:#fffefa;border-radius:9px;padding:0 11px;outline:none;color:var(--ink)}.modal-backdrop{position:fixed;inset:0;background:#15251bb0;z-index:20;display:flex;justify-content:flex-end}.modal{width:min(480px,100%);height:100%;background:var(--paper);padding:25px;overflow:auto;box-shadow:-20px 0 50px #10241725}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-top h2{margin:0}.close-button{border:0;background:#f1f1ea;border-radius:50%;width:34px;height:34px;font-size:20px}.cart-line{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.cart-emoji{width:40px;height:40px;border-radius:11px;background:#f1f0e8;display:grid;place-items:center;font-size:22px}.cart-line strong{font-size:12px}.cart-line small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.qty-controls{display:flex;gap:7px;align-items:center}.qty-controls button{border:1px solid var(--line);background:white;border-radius:7px;width:25px;height:25px}.cart-total{display:flex;justify-content:space-between;font-weight:800;font-family:Arial,sans-serif;font-size:17px;padding:18px 0}.full-button{width:100%;padding:14px}.form-note{font-size:10px;line-height:1.5;color:var(--muted)}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:40;background:#223b29;color:white;padding:11px 16px;border-radius:10px;font-size:12px;box-shadow:var(--shadow);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.order-success{text-align:center;padding:42px 18px}.success-icon{font-size:51px;margin-bottom:13px}.order-code{font:800 20px Arial,sans-serif;background:#f1f3e9;padding:10px 14px;border-radius:10px;display:inline-block;margin:6px 0 16px}.status-select{border:1px solid var(--line);background:white;border-radius:8px;padding:7px;font-size:11px}.subscription-toggle{accent-color:var(--green);width:17px;height:17px}.mobile-cart{display:none}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{padding:0 18px}.topbar-controls{gap:10px}.tenant-picker span{display:none}.view-tabs{gap:0}.tab-button{padding:9px 10px}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{height:auto;min-height:68px;padding:10px 14px;align-items:flex-start;gap:10px}.brand-lockup{margin-top:7px}.topbar-controls{flex-wrap:wrap;justify-content:flex-end;gap:7px}.tenant-picker{display:none}.view-tabs{order:2;width:100%;justify-content:space-between}.tab-button{flex:1;padding:8px 5px;font-size:10px}.icon-button{width:33px;height:33px}.brand-name{font-size:16px}#app{padding:22px 15px 55px}.store-heading{align-items:flex-start}.delivery-pill{font-size:10px;padding:8px}.hero{min-height:170px;padding:24px;border-radius:17px}.hero-art{font-size:63px;margin:0}.hero p{font-size:11px}.hero h2{font-size:23px}.store-tools{gap:8px}.cart-button{font-size:0;padding:0;width:45px;height:44px}.cart-button:before{content:'🛒';font-size:17px}.cart-count{font-size:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-card{padding:9px;border-radius:13px}.product-visual{height:111px;font-size:55px}.product-name{font-size:12px;min-height:32px}.price{font-size:15px}.add-button{padding:7px}.dashboard-head{align-items:flex-start;gap:12px;flex-direction:column}.stat-card{padding:13px}.stat-number{font-size:21px}.stat-grid{gap:8px}.panel{padding:14px}.store-settings{grid-template-columns:1fr}.central-banner{padding:16px;gap:10px}.table-wrap{margin:0 -5px}.modal{padding:20px}.mobile-cart{display:block}}
.logo-image{overflow:hidden;padding:0!important}.logo-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.logo-preview{margin-top:8px}.login-screen{min-height:65vh;display:grid;place-items:center}.login-card{width:min(440px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow)}.login-card h1{font-size:27px;margin:10px 0}.login-card>p{font-size:12px;line-height:1.5}.login-card>.store-logo{margin-bottom:17px}.account-switch{display:flex;background:#f1f1ea;border-radius:10px;padding:4px;margin:10px 0 18px}.account-switch button{flex:1;border:0;background:transparent;padding:9px;border-radius:7px;font-size:12px;font-weight:700;color:var(--muted)}.account-switch button.selected{background:#fffefa;color:var(--green)}.link-button{display:block;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:700;margin:14px auto 0;padding:8px}.offer-old{display:block;color:var(--orange);font-size:9px}.inactive-row{opacity:.5}
.add-controls{display:flex;gap:5px;align-items:center}.quantity-input,.cart-qty-input{width:53px;height:32px;border:1px solid var(--line);border-radius:8px;padding:0 5px;background:#fffefa;text-align:center;font-size:11px}.cart-qty-input{width:60px}.add-button:disabled{opacity:.45;cursor:not-allowed}.product-buy{gap:5px}
@media(max-width:640px){.add-controls{gap:4px}.quantity-input{width:44px}.add-button{font-size:10px;padding:7px 6px}.cart-qty-input{width:50px}}
.ops-tabs{display:flex;gap:8px;overflow:auto;padding:4px;margin:0 0 18px}.ops-tabs button{white-space:nowrap}.ops-selected{background:var(--green)!important;color:#fff!important}.ops-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ops-form .field:last-of-type{grid-column:1/-1}.ops-checklist{display:grid;gap:8px;max-height:220px;overflow:auto;padding:12px;background:#f6f6ef;border-radius:10px}.ops-checklist label,.consent-row,.check-row label{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45}.consent-row{margin:6px 0 14px;color:var(--muted)}.consent-row input,.check-row input,.ops-checklist input{accent-color:var(--green)}.route-card{padding:16px 0;border-bottom:1px solid var(--line)}.route-card:last-child{border-bottom:0}.load-list{font-size:12px;background:#f4f5ed;padding:10px;border-radius:8px;margin:12px 0}.route-stops{display:grid;gap:8px}.stop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:11px}.message-list{display:grid;gap:10px;margin-top:18px}.message-list .panel{margin:0}.message-list p{white-space:pre-wrap;font-size:12px;line-height:1.5;margin:9px 0}.check-row{display:flex;gap:18px}.field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:11px;color:var(--ink);resize:vertical}.field textarea:focus{outline:0;border-color:#86a675;box-shadow:0 0 0 3px #91b87522}
@media(max-width:900px){.ops-tabs{margin-left:-10px;margin-right:-10px}.ops-form{grid-template-columns:1fr}.ops-form .field:last-of-type{grid-column:auto}.stop-row{align-items:flex-start;flex-direction:column}}
.status-suspended{background:#fbe6df;color:#9a3a25}.module-summary{max-width:290px;font-size:10px;line-height:1.5}.compact-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:215px}.compact-actions .secondary-button{padding:8px 9px;font-size:10px}.subscription-notice{background:#fbf1d9;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:12px}.subscription-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;background:#f4f5ed;border-radius:10px}.subscription-modules label{display:flex;gap:7px;align-items:flex-start;font-size:11px;line-height:1.4}.subscription-modules input{accent-color:var(--green)}.modal form .subscription-modules{margin-bottom:14px}.login-card .mfa-note{background:#f4f5ed;padding:12px;border-radius:10px}
@media(max-width:640px){.module-summary{max-width:220px}.subscription-modules{grid-template-columns:1fr}.compact-actions{min-width:190px}}
.product-photo{width:100%;height:100%;object-fit:cover;border-radius:12px}.product-photo-admin{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.product-photo-admin>div{display:grid;gap:6px;width:100px}.product-photo-admin img{width:100px;height:78px;object-fit:cover;border-radius:8px;background:#eee}.subscription-blocked{max-width:680px;margin:8vh auto;padding:28px}.subscription-blocked p{line-height:1.7;color:var(--muted)}
.recovery-codes{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f7f8f5;color:#203c29;font:600 14px/1.8 ui-monospace,SFMono-Regular,monospace;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}

.quantity-adjust{border:1px solid #b9cbd8;border-radius:8px;background:#eaf3fa;color:#174c75;min-width:32px;min-height:36px;font-weight:800;cursor:pointer}.quantity-adjust:disabled{opacity:.5}

/* TE-SIGO: pantalla exclusiva de segmentos y pantalla exclusiva de productos */
.segment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.segment-tile{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;text-align:left;min-width:0;box-shadow:0 6px 20px #182c3810;display:flex;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s}
.segment-tile:hover{transform:translateY(-2px);box-shadow:0 12px 25px #182c3820}
.segment-media{display:grid;place-items:center;width:100%;height:155px;background:linear-gradient(130deg,#edf4fa,#dde9f3);overflow:hidden}
.segment-media img{width:100%;height:100%;object-fit:cover}
.segment-initial{font:bold 62px Arial,sans-serif;color:#5685ab;text-shadow:0 2px 7px #fff}
.segment-name{font-size:15px;font-weight:800;padding:13px 14px 4px}
.segment-arrow{align-self:flex-end;font-size:22px;padding:0 14px 12px;color:var(--green)}
.segment-navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 18px}
.segment-navigation h1{font-size:25px;margin:3px 0}
.segment-current span{font-size:12px;color:var(--muted)}
.segment-change{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}
.segment-change select{padding:10px;border:1px solid var(--line);border-radius:9px;max-width:210px;background:white}
.product-grid .product-visual{height:165px;background:#fff;font-size:0}
.product-grid .product-photo{object-fit:contain;max-width:100%;height:100%;width:100%}
.product-grid .product-visual:not(:has(img)){font-size:15px;color:#68819a;background:#f2f6fa}
.product-grid .product-card{box-shadow:0 3px 14px #152c3c0a}
@media(max-width:640px){.segment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.segment-media{height:140px}.segment-name{font-size:13px;padding:10px}.segment-navigation{align-items:stretch}.segment-navigation>.secondary-button{width:100%;text-align:left}.segment-current{flex:1}.segment-change{max-width:50%}.product-grid .product-visual{height:135px}.product-grid .product-card{padding:8px}.product-grid .product-name{font-size:12px}.product-grid .product-buy{flex-wrap:wrap;gap:8px}}


/* TE-SIGO: accesibilidad visual y diferenciación de los segmentos. */
.segment-tile:nth-child(6n+1) .segment-media{background:linear-gradient(135deg,#ffefb1,#ffd9ab)}
.segment-tile:nth-child(6n+2) .segment-media{background:linear-gradient(135deg,#f9d9d4,#f3b2a9)}
.segment-tile:nth-child(6n+3) .segment-media{background:linear-gradient(135deg,#d4ecfb,#bde4f5)}
.segment-tile:nth-child(6n+4) .segment-media{background:linear-gradient(135deg,#ffe5c9,#ffd49f)}
.segment-tile:nth-child(6n+5) .segment-media{background:linear-gradient(135deg,#ddf4e3,#c5ecd1)}
.segment-tile:nth-child(6n) .segment-media{background:linear-gradient(135deg,#e2defd,#d1defa)}
.segment-initial{color:#205675;text-shadow:0 1px 3px #fff9}
.product-grid .product-card{border-color:#dce4dc}
.product-grid .add-button{background:#187647;color:#fff;border-radius:11px}
.product-grid .add-button:focus-visible{outline:3px solid #86c4ff;outline-offset:2px}
@media(max-width:640px){.product-grid .product-buy{flex-wrap:wrap;gap:6px}.product-grid .add-button{min-height:36px}}

/* Robot de tienda con icono de WhatsApp: modo interno, no canal oficial. */
.shop-assistant{position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:18}
.shop-assistant[hidden],.assistant-panel[hidden]{display:none!important}
.assistant-launcher{position:relative;display:grid;place-items:center;width:62px;height:62px;border:3px solid #fff;border-radius:50%;background:#18a65d;color:white;box-shadow:0 5px 20px #153d2f55;cursor:pointer;transition:transform .15s ease,background .15s ease}
.assistant-launcher:hover,.assistant-launcher:focus-visible{background:#0c9350;transform:translateY(-2px)}
.assistant-launcher:focus-visible,.assistant-close:focus-visible,.assistant-quick-actions button:focus-visible,.assistant-form button:focus-visible{outline:3px solid #62b1ff;outline-offset:2px}
.assistant-wa-icon{width:36px;height:36px}
.assistant-robot-badge{position:absolute;top:-9px;right:-8px;border-radius:50%;border:2px solid #fff;background:#f4f8ff;font-size:18px;width:30px;height:30px;display:grid;place-items:center;box-shadow:0 2px 6px #0002}
.assistant-panel{position:absolute;right:0;bottom:77px;width:min(354px,calc(100vw - 30px));max-height:min(570px,calc(100dvh - 122px));display:flex;flex-direction:column;border:1px solid #d3e5d8;border-radius:18px;box-shadow:0 12px 45px #0b2a2450;background:#fff;overflow:hidden;color:#18362b}
.assistant-panel-head{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#155a40,#0b8650);color:white;padding:13px 14px}
.assistant-bot-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#ffffff25;font-size:23px}
.assistant-head-copy{display:grid;gap:3px;flex:1;min-width:0}
.assistant-head-copy strong{font-size:15px}
.assistant-head-copy small{font-size:11px;line-height:1.25;color:#e4fff0}
.assistant-close{border:0;background:#ffffff24;color:white;border-radius:8px;font-size:24px;width:32px;height:32px;cursor:pointer}
.assistant-channel-note{padding:10px 13px;background:#fff7dc;border-bottom:1px solid #f1dfac;font-size:11px;line-height:1.45;color:#634b15}
.assistant-messages{display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:230px;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px;background:#f4f8f6}
.assistant-bubble{max-width:94%;margin:0!important;padding:10px 12px;border-radius:13px 13px 13px 3px;background:white;box-shadow:0 1px 4px #183b2512;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-bubble-user{align-self:flex-end;border-radius:13px 13px 3px 13px;background:#d7f8e7}
.assistant-find-product{align-self:flex-start;border:1px solid #9fd7bc;background:#eafff2;color:#16583a;border-radius:9px;padding:8px 10px;font-weight:700;font-size:11px;cursor:pointer}
.assistant-quick-actions{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;border-top:1px solid #e6eee9}
.assistant-quick-actions button{font-size:11px;font-weight:650;border:1px solid #bcd8c9;background:#fff;color:#1c6444;border-radius:25px;padding:7px 10px;cursor:pointer}
.assistant-form{display:flex;align-items:center;gap:8px;border-top:1px solid #e6eee9;padding:10px 12px}
.assistant-form input{flex:1;min-width:0;border:1px solid #cedcd4;border-radius:9px;padding:11px;font:inherit;font-size:12px;color:#173a2c;background:#fff}
.assistant-form button{min-width:42px;min-height:40px;border:0;border-radius:10px;background:#168452;color:white;font-size:16px;cursor:pointer}
@media(max-width:640px){
.shop-assistant{right:14px;bottom:calc(15px + env(safe-area-inset-bottom))}
.assistant-launcher{width:58px;height:58px}
.assistant-panel{bottom:72px;width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 118px)}
.assistant-messages{max-height:min(225px,35dvh)}
}


/* TE-SIGO · Catálogo de alto contraste — mejora exclusivamente visual */
:root{
 --ink:#152e3c;
 --muted:#526574;
 --cream:#eff5fa;
 --paper:#ffffff;
 --line:#d7e4ec;
 --shadow:0 10px 25px rgba(22,58,80,.12);
}
body{background:var(--cream)}
.topbar{background:rgba(255,255,255,.98);border-bottom:1px solid #d9e6ed;box-shadow:0 3px 18px rgba(14,49,65,.07)}
.brand-name{color:#142e3d;font-weight:900;letter-spacing:-.4px}
.brand-name span{font-weight:900}
.brand-mark{background:linear-gradient(145deg,var(--green),#178767);font-size:25px;color:#fff}
.view-tabs{background:#eaf2f8;border:1px solid #d4e4ef}
.tab-button{color:#294d68;font-weight:800;font-size:13px}
.tab-button.active{color:#fff;background:var(--green);box-shadow:0 3px 9px rgba(21,65,48,.2)}
.tab-button:focus-visible,.segment-tile:focus-visible,.add-button:focus-visible,.quantity-adjust:focus-visible{outline:3px solid #ea9b24;outline-offset:2px}
.store-heading{background:linear-gradient(112deg,#e4f5e7 0%,#ecf4ff 75%);border:1px solid #d7e5ea;border-radius:19px;padding:17px}
.store-heading h1{color:#123b2e;font-weight:900}
.store-subtitle{color:#415d6b;font-weight:600}
.store-logo{background:#d4eeab;box-shadow:0 2px 6px #123b2e18}
.eyebrow{font-size:12px;font-weight:900}
.section-title h2,.segment-current h1{color:#15364b;font-weight:900}
.section-title p{color:#536a79}
.segment-grid{gap:15px}
.segment-tile{border:1px solid #cfdee9;border-radius:19px;box-shadow:0 5px 20px #14384e14}
.segment-media{background:linear-gradient(145deg,#b8e7ec,#d9ebfb);height:166px}
.segment-tile:nth-child(4n+2) .segment-media{background:linear-gradient(145deg,#ffe1bd,#ffb7a9)}
.segment-tile:nth-child(4n+3) .segment-media{background:linear-gradient(145deg,#e0eac5,#b8dcaa)}
.segment-tile:nth-child(4n) .segment-media{background:linear-gradient(145deg,#f0dafa,#ded2ff)}
.segment-initial{font-size:62px;line-height:1;text-shadow:0 3px 9px #ffffffaa}
.segment-name{font-size:16px;color:#15364b;font-weight:900}
.segment-arrow{font-weight:900;color:#087e6d}
.product-grid{gap:14px}
.product-grid .product-card{border:1px solid #d6e3e9;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(19,59,77,.09);min-width:0}
.product-grid .product-visual{height:175px;border-radius:13px;background:#f5f8fb}
.product-grid .product-visual:not(:has(img)){background:linear-gradient(135deg,#e3edf4,#f3f7ff);font-size:52px}
.product-grid .product-photo{object-fit:contain}
.product-grid .product-name{color:#17374b;font-size:16px;font-weight:900;line-height:1.25;min-height:2.4em}
.product-grid .product-unit{color:#546677;font-size:12px;font-weight:650}
.product-grid .price{color:#0877c4;font-size:23px;line-height:1.2;overflow-wrap:anywhere}
.product-grid .price small{color:#556b7a;font-size:11px}
.product-grid .product-buy{display:flex;flex-wrap:wrap;gap:9px;align-items:stretch}
.product-grid .product-buy .price{flex:1 1 100%}
.product-grid .add-controls{width:100%;display:grid;grid-template-columns:minmax(42px,1fr) 40px 40px minmax(76px,1.5fr);gap:5px;align-items:stretch}
.product-grid .quantity-input{width:100%;height:39px;min-width:0;font-size:14px;border-color:var(--brand-border);border-radius:10px}
.product-grid .quantity-adjust{min-width:0;min-height:39px;border-radius:10px;font-size:21px;color:#155b87;background:#e2f1ff}
.product-grid .add-button{min-width:0;min-height:39px;background:var(--green);border-color:var(--green);border-radius:10px;color:#fff;font-size:12px;font-weight:900;padding:8px 5px}
.product-grid .add-button:hover{background:var(--green-dark)}
.search-box input{font-size:15px;color:#163447}
.cart-button{background:var(--green);color:#fff}
.secondary-button{background:#e9f3fb;color:#24506e;border:1px solid #cadfeb}
@media(max-width:640px){
 .topbar{padding:10px 12px}
 #app{padding:16px 12px 60px}
 .store-heading{padding:13px 12px;margin-bottom:15px}
 .store-heading h1{font-size:24px}
 .segment-grid{gap:11px}
 .segment-media{height:120px}
 .segment-name{font-size:14px;line-height:1.3;padding:11px 10px 2px}
 .segment-arrow{font-size:21px;padding:0 10px 9px}
 .product-grid{gap:10px}
 .product-grid .product-card{padding:9px}
 .product-grid .product-visual{height:132px}
 .product-grid .product-name{font-size:14px;min-height:2.5em}
 .product-grid .price{font-size:19px}
 .product-grid .product-buy{margin-top:10px}
 .product-grid .add-controls{grid-template-columns:minmax(34px,1fr) 32px 32px minmax(68px,1.4fr);gap:4px}
 .product-grid .quantity-input{font-size:12px;height:38px}
 .product-grid .quantity-adjust{font-size:18px;min-height:38px}
 .product-grid .add-button{font-size:11px;min-height:38px;padding:6px 4px}
}
@media(max-width:390px){
 .product-grid .add-controls{grid-template-columns:minmax(34px,1fr) 30px 30px minmax(64px,1.4fr);gap:3px}
 .product-grid .product-card{padding:7px}
 .product-grid .price{font-size:18px}
 .segment-media{height:105px}
}


/* TE-SIGO · fotografías de segmentos + mobile claro, sin modificar la compra */
.store-heading{background:linear-gradient(112deg,#145290,#087ad2 72%,#13a5d6);border:1px solid #167fc4;box-shadow:0 12px 28px rgba(14,93,151,.19)}
.store-heading h1{color:#fff;font-weight:900}
.store-heading .eyebrow{color:#dcf6ff}
.store-heading .store-subtitle{color:#f2fbff}
.segment-media{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center}
.segment-media .segment-initial{font-size:56px}
.segment-media .segment-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.segment-tile{display:flex;flex-direction:column}
.segment-count{display:flex;align-items:center;justify-content:space-between;gap:4px;font-weight:750;color:#4d6e86;font-size:12px;padding:3px 13px 14px;margin-top:auto}
.segment-count span{color:#0575ce;font-size:20px}
.product-grid .product-visual{position:relative;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.product-grid .product-emoji{font-size:54px;filter:drop-shadow(0 4px 8px #17324c25)}
.product-grid .product-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:contain;background:#fff}
.product-grid .product-photo.illustrative-photo{object-fit:cover}
.illustrative-label{position:absolute;z-index:2;bottom:6px;left:7px;background:#fffef6e6;color:#26536d;padding:3px 5px;border-radius:5px;font-size:9px;line-height:1.15}
.product-grid .product-tag{z-index:3}
.product-grid .product-buy{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.product-grid .add-controls{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;grid-template-areas:'minus qty plus' 'add add add';gap:6px;width:100%;align-items:stretch;min-width:0}
.product-grid .quantity-adjust[data-action="product-minus"]{grid-area:minus}
.product-grid .quantity-adjust[data-action="product-plus"]{grid-area:plus}
.product-grid .quantity-input{grid-area:qty;min-width:0;width:100%;height:40px;padding:0 3px;font-size:15px}
.product-grid .add-button{grid-area:add;height:40px;min-height:40px;font-size:13px;white-space:normal;padding:8px;border-radius:10px}
@media(max-width:640px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand install' 'nav nav';height:auto;min-height:0;padding:10px 12px;gap:8px;align-items:center}
 .brand-lockup{grid-area:brand;min-width:0;white-space:nowrap;margin:0}
 .topbar-controls{display:contents}
 .view-tabs{grid-area:nav;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;gap:3px;margin:0;padding:3px}
 .tab-button{min-width:0;font-size:clamp(10px,2.75vw,12px);line-height:1.17;white-space:normal;padding:9px 2px}
 .icon-button{grid-area:install;justify-self:end;width:38px;height:38px;margin:0}
 .tenant-picker{display:none}
 #app{padding:14px 12px 65px}
 .store-heading{padding:17px 14px;border-radius:17px}
 .store-heading h1{font-size:clamp(21px,5.7vw,26px)}
 .store-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;margin-bottom:15px}
 .search-box{min-width:0}
 .search-box input{width:100%;height:44px;min-width:0;padding-right:5px}
 .account-button{padding:10px 8px;white-space:nowrap;font-size:11px}
 .cart-button{width:44px;min-width:44px;height:44px;padding:3px;position:relative}
 .segment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .segment-media{height:clamp(115px,36vw,160px)}
 .segment-media .segment-initial{font-size:42px}
 .segment-name{font-size:14px;min-height:33px;padding:10px 10px 2px}
 .segment-count{font-size:10px;padding:2px 10px 11px}
 .segment-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:11px}
 .segment-navigation>.secondary-button{grid-column:1/-1;text-align:left;width:100%;padding:10px 12px}
 .segment-current{min-width:0}
 .segment-change{max-width:none;min-width:0}
 .segment-change select{min-width:0;width:100%;max-width:100%}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .product-grid .product-card{min-width:0;padding:8px}
 .product-grid .product-visual{height:clamp(112px,32vw,150px);margin-bottom:10px}
 .product-grid .product-name{font-size:13px;min-height:2.4em}
 .product-grid .price{font-size:19px}
 .product-grid .add-controls{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px}
 .product-grid .quantity-adjust{min-width:0;min-height:37px}
 .product-grid .quantity-input{min-width:0;height:37px;font-size:14px}
 .product-grid .add-button{height:39px;min-height:39px;padding:7px 5px;font-size:12px}
}
@media(max-width:355px){
 .product-grid,.segment-grid{gap:8px}
 .product-grid .product-card{padding:7px}
 .product-grid .add-controls{grid-template-columns:31px minmax(0,1fr) 31px;gap:4px}
 .product-grid .add-button{font-size:11px}
}


/* TE-SIGO · identidad de presentación comercial */
:root{
  --green:#13834e;
  --green-dark:#0d633b;
  --lime:#d8f0d0;
  --cream:#f4f8f4;
  --paper:#fff;
  --ink:#183126;
  --muted:#66776c;
  --line:#e2ece4;
  --shadow:0 14px 36px rgba(23,75,48,.09);
}
body{background:#f4f8f4;color:var(--ink)}
.topbar{background:rgba(255,255,255,.96);border-bottom-color:#e4ede5}
.brand-mark{background:linear-gradient(145deg,#20a35f,#087044);box-shadow:0 5px 13px #147b4930}
.brand-name{color:#132b20}
.brand-name span{color:#13834e}
.tab-button{color:#617269}
.tab-button.active{color:#087044;background:#fff;box-shadow:0 3px 11px #164d2d16}
.store-heading{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:176px;padding:30px 34px;border:1px solid #0e7948;border-radius:22px;
  background:linear-gradient(110deg,#087044 0%,#13854f 56%,#18a05b 100%);
  box-shadow:0 14px 32px rgba(10,105,61,.18)
}
.store-heading:after{
  content:"🥬  🥕  🍅";position:absolute;z-index:-1;right:30px;bottom:4px;
  color:#fff;font-size:clamp(48px,8vw,88px);letter-spacing:-.18em;
  opacity:.30;filter:drop-shadow(0 8px 12px #003e2480);white-space:nowrap
}
.store-heading h1{color:#fff;font-weight:900;letter-spacing:-.045em}
.store-heading .eyebrow{color:#d9f8df}
.store-heading .store-subtitle{color:#effaf0}
.store-title{position:relative;z-index:1}
.store-logo{box-shadow:0 5px 16px #003e242c}
.section-title h2{color:#1a3327}
.section-counter{color:#13834e;font-weight:800}
.segment-tile{border-color:#e1ebe3;border-radius:18px;box-shadow:0 7px 22px rgba(28,66,42,.08)}
.segment-tile:hover{border-color:#b9ddc4;box-shadow:0 13px 28px rgba(28,92,52,.14)}
.segment-media{background:linear-gradient(135deg,#e5f2e8,#f0f7ef)}
.segment-name{color:#183126}
.segment-count{color:#63786a}
.segment-count span{color:#13834e}
.secondary-button{background:#f4faf5;color:#176b43;border-color:#d6e8da}
.secondary-button:hover{background:#e9f5ec;border-color:#b8d9c2}
.quantity-adjust{border-color:#c6e0ce;background:#eff8f0;color:#127344}
.quantity-adjust:disabled{color:#6e8676}
.product-grid .quantity-adjust{background:#eff8f0;color:#127344;border-color:#c6e0ce}
.product-grid .add-button,.cart-button,.primary-button{background:var(--green);border-color:var(--green);color:#fff}
.product-grid .add-button:hover,.cart-button:hover,.primary-button:hover{background:var(--green-dark);border-color:var(--green-dark)}
.price{color:#163b29}
.product-tag{color:#0d7042}
.illustrative-label{color:#245d3b}
.prototype-note{background:#f7faf7;color:#68776c;border-top-color:#e3ece4}
.login-card,.panel,.stat-card{box-shadow:0 8px 25px rgba(28,66,42,.055)}
@media(max-width:640px){
  .store-heading{min-height:148px;padding:20px 16px;border-radius:18px}
  .store-heading:after{right:5px;bottom:1px;font-size:50px;opacity:.23}
  .store-heading .store-title{gap:9px}
  .store-heading .store-logo{width:40px;height:40px;flex:none}
  .store-heading .store-subtitle{max-width:245px}
  .section-title{align-items:center}
  .segment-tile{border-radius:15px}
  .prototype-note{font-size:10px;padding:12px 10px}
}
@media(max-width:360px){
  .store-heading:after{font-size:39px;right:2px}
  .store-heading .store-subtitle{max-width:215px}
}


/* TE-SIGO presentation polish for category and product screens */
.segment-media{background:linear-gradient(135deg,#e9f3e8,#f8f5e8)}
.segment-initial{color:#16884f;text-shadow:0 2px 8px #ffffffaa}
.product-grid .product-visual:not(:has(img)){background:linear-gradient(135deg,#edf5e8,#fff8e8);color:#47744c}
.product-grid .product-card{border-color:#e3eade;box-shadow:0 8px 24px #183d2510}
.product-grid .product-card:hover{box-shadow:0 14px 32px #183d2519}
.product-grid .price{color:#148348}
.quantity-adjust{border:1px solid #cce1d0;background:#eef7ee;color:#168348;min-width:36px;border-radius:10px}
.quantity-adjust:hover:not(:disabled){background:#dff0df}
.product-tag{background:#eff8eb;color:#148348}
@media(min-width:641px){
  .product-grid:has(.product-card:nth-child(2):last-child){max-width:900px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .product-grid:has(.product-card:only-child){max-width:460px;margin-inline:auto;grid-template-columns:1fr}
  .product-grid:has(.product-card:nth-child(2):last-child) .product-visual{height:210px}
}
@media(max-width:640px){
  .product-grid:has(.product-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .product-grid:has(.product-card:nth-child(2):last-child) .product-visual{height:135px}
}


/* Mobile storefront: grocery app layout and overflow fixes */
.mobile-showcase{display:none}
@media(max-width:640px){
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;height:auto;min-height:0;padding:9px 12px;align-items:center}
  .brand-lockup{grid-column:1;grid-row:1;gap:7px;min-width:0}
  .brand-mark{width:34px;height:34px;flex:none}
  .brand-name{font-size:15px;white-space:nowrap}
  .topbar-controls{display:contents}
  .tenant-picker{display:none}
  .view-tabs{grid-column:1/-1;grid-row:2;width:calc(100vw - 24px);max-width:none;display:flex;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
  .view-tabs::-webkit-scrollbar{display:none}
  .tab-button{flex:0 0 auto;white-space:nowrap;padding:9px 11px;font-size:10px}
  .install-button{grid-column:2;grid-row:1;width:34px;height:34px}
  #app{padding:14px 13px 58px;min-height:calc(100vh - 125px)}
  .store-heading{display:flex;min-height:154px;padding:20px 16px;border-radius:17px;margin-bottom:13px;background:linear-gradient(115deg,#075f3d,#159653);color:#fff;overflow:hidden}
  .store-heading .store-title{align-items:center;gap:10px;max-width:100%}
  .store-heading .store-logo{width:42px;height:42px;flex:none;background:#d9eda9}
  .store-heading .eyebrow{color:#d9eda9}
  .store-heading h1{color:#fff;font-size:clamp(23px,7vw,29px);line-height:1.05;margin:6px 0}
  .store-heading .store-subtitle{color:#ecf5ed;font-size:12px;line-height:1.4;max-width:230px}
  .store-heading:after{content:"🥬 🍅 🥕";right:8px;bottom:2px;top:auto;font-size:43px;opacity:.24}
  .store-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:17px}
  .search-box{grid-column:1/-1;min-width:0}
  .search-box input{width:100%;min-width:0;height:46px}
  .account-button{max-width:150px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cart-button{width:48px;height:44px;padding:0;font-size:0}
  .cart-button:before{content:"🛒";font-size:18px}
  .cart-count{font-size:10px}
  .section-title{align-items:center;margin-bottom:9px}
  .section-title h2{font-size:20px}
  .section-title p{font-size:11px}
  .section-counter{font-size:11px;color:var(--green);font-weight:700}
  .segment-grid{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 9px;margin:0 -1px 11px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .segment-grid::-webkit-scrollbar{display:none}
  .segment-tile{flex:0 0 70px;width:70px;min-height:84px;border-radius:13px;scroll-snap-align:start;box-shadow:none}
  .segment-media{height:51px;background:transparent}
  .segment-media>img,.segment-initial .segment-photo{width:46px;height:46px;border-radius:50%;object-fit:cover}
  .segment-initial{width:46px;height:46px;font-size:29px;color:#15864d}
  .segment-initial .segment-photo{position:absolute;inset:0}
  .segment-name{font-size:9px;line-height:1.15;padding:3px 3px 1px;text-align:center}
  .segment-count,.segment-arrow{display:none}
  .mobile-showcase{display:grid;gap:19px;margin:5px 0 20px}
  .mobile-promo{min-height:158px;display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:9px;align-items:center;padding:17px 15px;border-radius:17px;background:linear-gradient(120deg,#075e3b,#14824e);color:#fff;overflow:hidden}
  .promo-kicker{display:block;color:#d9eda9;font-size:9px;font-weight:800;letter-spacing:.12em}
  .mobile-promo h2{font-size:19px;line-height:1.1;margin:7px 0}
  .mobile-promo p{font-size:10px;color:#e1efe4;line-height:1.35;margin:0 0 10px}
  .promo-button{border:0;border-radius:20px;background:#fff;color:#17643c;font-size:10px;font-weight:800;padding:9px 12px}
  .mobile-promo-art{height:116px;width:100px;border-radius:13px;overflow:hidden;background:#e5f0d1}
  .mobile-promo-art img{display:block;width:100%;height:100%;object-fit:cover}
  .mobile-shelf{min-width:0}
  .mobile-shelf-head{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:9px}
  .mobile-shelf-head h2{font-size:18px;margin:0 0 3px}
  .mobile-shelf-head p{font-size:10px;color:var(--muted);margin:0}
  .mobile-shelf-link{border:0;background:transparent;color:#138049;font-size:10px;font-weight:800;padding:7px 0;white-space:nowrap}
  .mobile-product-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 9px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .mobile-product-rail::-webkit-scrollbar{display:none}
  .mobile-product-rail .product-card{display:block;flex:0 0 min(72vw,230px);padding:9px;border-radius:14px;scroll-snap-align:start}
  .mobile-product-rail .product-visual{height:112px;margin-bottom:9px}
  .mobile-product-rail .product-name{font-size:12px;min-height:30px}
  .mobile-product-rail .product-buy{display:grid;grid-template-columns:1fr;gap:7px;margin-top:8px}
  .mobile-product-rail .add-controls{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;gap:5px;width:100%}
  .mobile-product-rail .quantity-input{width:100%;min-width:0}
  .mobile-product-rail .quantity-adjust{min-width:32px;width:32px}
  .mobile-product-rail .add-button{grid-column:1/-1;width:100%}
  .product-grid{grid-template-columns:1fr;gap:11px}
  .product-grid .product-card{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto auto 1fr;gap:6px 10px;align-items:center;padding:10px;border-radius:14px}
  .product-grid .product-visual{grid-column:1;grid-row:1/5;height:116px;margin:0}
  .product-grid .product-name,.product-grid .product-unit,.product-grid .product-buy{grid-column:2}
  .product-grid .product-name{font-size:13px;min-height:0;margin:0}
  .product-grid .product-buy{display:grid;grid-template-columns:1fr;gap:7px;margin:0;align-items:start}
  .product-grid .add-controls{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;gap:5px;width:100%}
  .product-grid .quantity-input{width:100%;min-width:0}
  .product-grid .quantity-adjust{min-width:32px;width:32px}
  .product-grid .add-button{grid-column:1/-1;width:100%}
}
@media(max-width:360px){
  .store-heading{padding:18px 13px}
  .store-heading .store-subtitle{max-width:205px}
  .mobile-promo{grid-template-columns:minmax(0,1fr) 82px;padding:14px 12px}
  .mobile-promo-art{width:82px;height:100px}
  .product-grid .product-card{grid-template-columns:88px minmax(0,1fr);gap:6px 8px}
  .product-grid .product-visual{height:104px}
}


/* Storefront hierarchy: local name, live offers, then large category tiles */
.store-showcase{display:grid;gap:22px;margin:0 0 30px}
.promo-banner{min-height:220px;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,34%);gap:24px;align-items:center;padding:30px 36px;border-radius:22px;background:linear-gradient(112deg,#075e3b,#128b50);color:#fff;overflow:hidden;position:relative}
.promo-copy{position:relative;z-index:1;max-width:520px}
.promo-kicker{display:block;color:#d8eaa8;font-size:10px;font-weight:800;letter-spacing:.14em}
.promo-copy h2{font-size:clamp(25px,3vw,36px);line-height:1.08;margin:10px 0}
.promo-copy p{font-size:13px;color:#e3efe5;margin:0 0 15px}
.promo-button{border:0;border-radius:22px;background:#fff;color:#17643c;font-size:12px;font-weight:800;padding:11px 16px}
.promo-art{height:175px;border-radius:17px;overflow:hidden;background:#e1efcf;box-shadow:0 12px 32px #052e1d40}
.promo-art img{display:block;width:100%;height:100%;object-fit:cover}
.promo-shelf{min-width:0}
.promo-shelf-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:11px}
.promo-shelf-head h2{font-size:21px;margin:0 0 3px}
.promo-shelf-head p{font-size:11px;color:var(--muted);margin:0}
.promo-shelf-link{border:0;background:transparent;color:#138049;font-size:11px;font-weight:800;padding:8px 0;white-space:nowrap}
.promo-product-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.promo-product-rail .product-card{min-width:0}
.segment-media{background:linear-gradient(135deg,#e7f3e8,#f4f7e9)}
.segment-initial{width:100%;height:100%;display:grid;place-items:center;font-size:64px;color:#14854d;text-shadow:none}
.segment-mini-wrap{margin:0 0 12px}
.segment-mini-wrap>.eyebrow{display:block;font-size:9px;margin:0 0 5px}
.segment-mini-nav{display:flex;gap:6px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}
.segment-mini-nav::-webkit-scrollbar{display:none}
.segment-mini-chip{flex:0 0 auto;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:18px;background:#fffefa;padding:5px 9px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.segment-mini-chip>span{font-size:15px;line-height:1}
.segment-mini-chip.active{background:#eaf5e9;color:var(--green);border-color:#bed8bd}
.assistant-robot-badge{display:none!important}
.assistant-launcher{width:52px;height:52px}
@media(max-width:640px){
  .store-showcase{gap:17px;margin:0 0 22px}
  .promo-banner{min-height:156px;grid-template-columns:minmax(0,1fr) 96px;gap:9px;padding:16px 14px;border-radius:17px}
  .promo-copy h2{font-size:19px;line-height:1.1;margin:6px 0}
  .promo-copy p{font-size:10px;margin:0 0 9px}
  .promo-button{font-size:10px;padding:8px 11px}
  .promo-art{width:96px;height:112px;border-radius:13px}
  .promo-shelf-head{margin-bottom:8px}
  .promo-shelf-head h2{font-size:17px}
  .promo-shelf-head p{font-size:9px}
  .promo-shelf-link{font-size:9px}
  .promo-product-rail{display:flex;gap:9px;overflow-x:auto;padding:2px 1px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .promo-product-rail::-webkit-scrollbar{display:none}
  .promo-product-rail .product-card{display:block;flex:0 0 min(70vw,225px);padding:9px;border-radius:14px;scroll-snap-align:start}
  .promo-product-rail .product-visual{height:106px;margin-bottom:8px}
  .promo-product-rail .product-name{font-size:12px;min-height:30px}
  .promo-product-rail .product-buy{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}
  .promo-product-rail .add-controls{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:5px;width:100%}
  .promo-product-rail .quantity-input{width:100%;min-width:0}
  .promo-product-rail .quantity-adjust{width:30px;min-width:30px}
  .promo-product-rail .add-button{grid-column:1/-1;width:100%}
  .segment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;padding:0;margin:0 0 16px;scroll-snap-type:none}
  .segment-tile{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:1fr auto;gap:3px 10px;align-items:center;width:auto;min-width:0;min-height:98px;flex:auto;padding:9px;border-radius:15px;text-align:left;box-shadow:0 5px 16px #183d2510}
  .segment-media{grid-column:1;grid-row:1/3;width:76px;height:76px;min-height:76px;border-radius:13px}
  .segment-initial{font-size:47px}
  .segment-name{grid-column:2;grid-row:1;font-size:12px;line-height:1.2;padding:0;text-align:left}
  .segment-count{display:block;grid-column:2;grid-row:2;font-size:9px;color:var(--muted);padding:0}
  .segment-count span{color:var(--green);font-weight:800}
  .segment-mini-wrap{margin:0 0 9px}
  .segment-mini-wrap>.eyebrow{font-size:8px;margin-bottom:4px}
  .segment-mini-nav{gap:5px}
  .segment-mini-chip{gap:3px;padding:4px 7px;font-size:8px}
  .segment-mini-chip>span{font-size:13px}
  .assistant-launcher{width:48px;height:48px}
}
@media(max-width:360px){
  .promo-banner{grid-template-columns:minmax(0,1fr) 80px;padding:14px 12px}
  .promo-art{width:80px;height:98px}
  .segment-tile{grid-template-columns:64px minmax(0,1fr);gap:3px 8px;padding:8px}
  .segment-media{width:64px;height:64px;min-height:64px}
  .segment-initial{font-size:41px}
}


/* Product photo stacking and crop safety */
.product-visual{position:relative;overflow:hidden}
.product-visual .product-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.product-visual .product-emoji{position:relative;z-index:0}
.product-visual .product-tag,.product-visual .illustrative-label{position:absolute;z-index:2}
.product-visual .illustrative-label{left:8px;bottom:8px}
@media(max-width:640px){.segment-initial{font-size:54px}}

.segment-mini-chip .segment-photo{display:block;position:static;z-index:auto;width:20px;height:20px;min-width:20px;border-radius:50%;object-fit:cover;flex:0 0 20px}
.photo-pending{display:flex;min-height:150px;align-items:center;justify-content:center;padding:1rem;color:#68736b;background:#f2f4f1;border:1px dashed #aeb8b0;border-radius:12px;font-size:.9rem;text-align:center}

/* Storefront polish: never render synthetic category art or empty photo boxes. */
.segment-media,.segment-initial,.photo-pending{display:none!important}
.segment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.segment-tile{display:flex;min-height:68px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border:1px solid #dce6df;border-radius:13px;background:#fff;box-shadow:none}
.segment-name{padding:0;font-size:14px;line-height:1.25}
.segment-count{padding:0;font-size:11px;color:var(--muted);white-space:nowrap}
.segment-count span{margin-left:4px;color:var(--green);font-weight:800}
.product-tag{position:static;display:inline-flex;width:max-content;margin:0 0 8px;background:#eaf4ed}
.product-card:not(:has(.product-visual)){display:flex;flex-direction:column;align-items:flex-start;min-height:0}
.product-card:not(:has(.product-visual)) .product-buy{width:100%}
.view-tabs .tab-button[hidden],.tenant-picker[hidden]{display:none!important}
.view-tabs{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
@media(max-width:640px){
  .promo-product-rail{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;overflow:visible;padding:0;scroll-snap-type:none}
  .promo-product-rail .product-card{width:100%;min-width:0;flex:none;padding:13px}
  .promo-product-rail .product-visual{height:auto;aspect-ratio:16/7}
  .segment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .segment-tile{min-height:62px;padding:11px 10px;align-items:flex-start;flex-direction:column;justify-content:center;gap:5px}
  .segment-name{font-size:12px}
  .segment-count{font-size:10px}
  .view-tabs:has(.tab-button:not([hidden])){gap:3px}
}


/* Clean mobile storefront and accessible cart icon. */
.store-heading:after{content:none!important}
.cart-button:before{content:none!important}
.cart-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.cart-icon{width:19px;height:19px;flex:none}
@media(max-width:640px){.cart-button{gap:4px}.cart-button .cart-label{display:none}.cart-icon{width:21px;height:21px}}


/* Mobile storefront: put category browsing first and remove redundant promotion space. */
.segment-grid{align-items:start;grid-auto-rows:min-content}
.segment-tile{height:auto;min-height:54px;align-self:start}
.segment-count{margin-top:0;line-height:1.2}
.promo-banner-text-only{grid-template-columns:minmax(0,1fr);min-height:0}
.promo-banner-text-only .promo-copy{max-width:100%}
@media(max-width:640px){
  .store-heading{min-height:116px}
  .promo-banner{display:none}
  .store-showcase{gap:14px;margin-top:2px}
  .segment-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-items:start;gap:8px}
  .segment-tile{height:auto;min-height:50px;align-self:start;gap:4px;padding:9px 10px}
  .segment-name{font-size:12px;line-height:1.15}
  .segment-count{margin-top:0;font-size:9px;line-height:1.15}
}


/* Photographic catalogue, compact on Android and readable without a photo. */
.segment-tile{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:5px;align-items:center;padding:10px;overflow:hidden;min-height:92px}
.segment-media{display:block!important;grid-row:1/3;width:76px;height:70px;overflow:hidden;border-radius:10px;background:#e8efdc}
.segment-photo{display:block;width:100%;height:100%;object-fit:cover}
.segment-name{align-self:end;overflow-wrap:anywhere}
.segment-count{align-self:start;white-space:normal}
.segment-mini-chip .segment-photo{display:block;width:36px;height:36px;object-fit:cover;border-radius:7px}
.product-visual{display:block;overflow:hidden;height:150px}
.product-photo{display:block;width:100%;height:100%;object-fit:cover}
.visual-fallback{display:flex;min-height:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;background:linear-gradient(145deg,#e4eddf,#f5ecd9);color:#386044;text-align:center;font-size:12px;line-height:1.25}
.visual-fallback-brand{font-weight:800;letter-spacing:.08em;font-size:11px}
.illustrative-label{position:absolute;bottom:5px;left:5px;padding:3px 5px;border-radius:5px;background:#fffefaed;color:#386044;font-size:9px}
.store-showcase .promo-banner-with-photo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.promo-art{overflow:hidden;min-width:0;height:100%}
.promo-art img{display:block;width:100%;height:100%;object-fit:cover}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.product-card .primary-button{max-width:100%;white-space:normal;min-height:44px}
button:focus-visible,a:focus-visible{outline:3px solid #d89538;outline-offset:3px}
@media(max-width:640px){
 .segment-tile{grid-template-columns:52px minmax(0,1fr);min-height:82px;padding:8px;column-gap:7px}
 .segment-media{width:52px;height:60px}
 .segment-name{font-size:12px;line-height:1.2}
 .segment-count{font-size:10px}
 .promo-product-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .promo-product-rail .product-card{padding:9px}
 .promo-product-rail .product-visual,.product-grid .product-visual{height:112px;aspect-ratio:auto}
 .store-showcase .promo-banner-with-photo{min-height:150px;border-radius:16px;margin-top:12px}
 .promo-copy{padding:15px}
 .promo-copy h2{font-size:18px}
 .promo-copy p{font-size:11px;line-height:1.4}
 .promo-copy .promo-kicker{font-size:8px}
 .promo-art{min-height:150px}
 .dashboard-actions{flex-wrap:wrap}
 .dashboard-head{align-items:start;gap:12px;flex-wrap:wrap}
}

.demo-notice{padding:12px 15px;border:1px solid #d9ba67;border-radius:12px;background:#fff4d7;font-size:12px;font-weight:700;line-height:1.5}
@media(max-width:640px){
 .promo-product-rail .product-name{min-height:30px;margin-bottom:0}
 .promo-product-rail .product-unit{display:block;font-size:10px}
 .promo-product-rail .product-buy{gap:6px;margin-top:7px}
 .promo-product-rail .add-controls{grid-template-areas:'qty minus plus' 'add add add';row-gap:5px}
 .promo-product-rail .quantity-input{grid-area:qty;height:34px}
 .promo-product-rail [data-action="product-minus"]{grid-area:minus}
 .promo-product-rail [data-action="product-plus"]{grid-area:plus}
 .promo-product-rail .add-button{grid-area:add;min-height:36px}
 .product-grid .product-card{display:flex;flex-direction:column;align-items:stretch}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-grid .product-name{min-height:32px}
}

.wholesale-quantity{display:inline-flex;gap:5px;flex-wrap:wrap;margin-left:5px}
.wholesale-quantity button{min-width:40px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#edf4ec}
@media(max-width:640px){
 .promo-product-rail:has(.product-card:only-child){grid-template-columns:minmax(0,1fr)}
 .promo-product-rail .product-card:only-child{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:10px;align-items:start}
 .promo-product-rail .product-card:only-child .product-visual{grid-column:1;grid-row:1/4;height:125px;margin:0}
 .promo-product-rail .product-card:only-child .product-name,.promo-product-rail .product-card:only-child .product-unit,.promo-product-rail .product-card:only-child .product-buy{grid-column:2}
 .promo-product-rail .product-card:only-child .product-name{min-height:0}
}

.wholesale-heading{display:block}
.wholesale-heading h1{font-size:clamp(24px,4vw,34px)}
.wholesale-heading p{margin:7px 0 0}
#wholesaleCatalog{padding:12px}
#wholesaleCatalog .category-list{max-width:100%;margin:14px 0}
#wholesaleCatalog .product-card{display:flex;flex-direction:column;align-items:stretch;gap:6px}
#wholesaleCatalog .product-visual{width:100%;height:112px;flex-shrink:0;margin:0}
#wholesaleCatalog .product-name{min-height:32px;margin:0}
#wholesaleCatalog .wholesale-pack,#wholesaleCatalog .wholesale-stock{font-size:11px;line-height:1.4;margin:0}
#wholesaleCatalog .price{margin:0}
#wholesaleCatalog .primary-button{margin-top:auto}
#wholesaleCatalog>.panel{margin-top:18px}
.selection-subtotal{display:block;font-size:12px;font-weight:700;color:var(--green-dark);line-height:1.4;margin:4px 0;overflow-wrap:anywhere}
.product-buy>.selection-subtotal{grid-column:1/-1}
.cart-amount{font-size:12px;white-space:nowrap}
.pack-controls{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:5px;align-items:center}
.pack-controls .quantity-input{grid-area:auto;width:100%;min-width:0;height:38px;text-align:center}
.pack-controls .quantity-adjust{width:32px;min-height:38px}
.unit-reference,.selected-units{font-size:11px;line-height:1.4;color:var(--muted);margin:0}
.wholesale-rubros{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:10px 0;margin-bottom:12px}
.wholesale-rubros .segment-mini-chip{flex:0 0 108px;min-height:116px;flex-direction:column;justify-content:flex-start;gap:8px;padding:10px 8px;border-radius:14px;white-space:normal;font-size:12px}
.wholesale-rubros .segment-mini-chip .segment-photo{width:72px;height:56px;min-width:72px;flex:0 0 56px;object-fit:cover;border-radius:9px}
.wholesale-rubros .segment-mini-chip small{display:block;font-size:12px;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
.wholesale-rubros>.category-chip{flex:0 0 68px;font-size:12px;white-space:normal}
.wholesale-line{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.wholesale-line small{font-size:12px;line-height:1.4}
.wholesale-line .wholesale-quantity{margin:3px 0 0}
#wholesaleCatalog .empty-state{grid-column:1/-1}
.product-card .product-buy{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;align-items:start}
.product-grid .add-controls{grid-template-columns:32px minmax(0,1fr) 32px}
.cart-button{display:grid;grid-template-columns:20px auto;grid-template-areas:'icon count' 'amount amount';gap:3px 6px;width:auto;min-width:88px;height:auto;min-height:44px;padding:7px 9px}
.cart-button .cart-icon{grid-area:icon;width:20px;height:20px}
.cart-button .cart-label{display:none}
.cart-button .cart-count{grid-area:count;position:static;min-width:20px;text-align:center}
.cart-button .cart-amount{grid-area:amount;font-size:12px;color:inherit;text-align:center;white-space:nowrap}
@media(max-width:430px){.wholesale-card .selection-subtotal{font-size:11px}}

.order-controls{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.preparation-item{border-bottom:1px solid var(--line);padding:15px 0}.preparation-item p{font-size:12px;margin:7px 0}.preparation-item input{width:100%}

.quantity-offer{font-size:11px;padding:6px;border-radius:7px;background:#edf4df;color:#275d34;font-weight:700}.quantity-offer-fields{min-width:0;border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0}.quantity-offer-fields label{display:block;margin:8px 0}.quantity-offer-fields input{width:100%;min-height:40px}
#settingsForm .field,#wholesalePackForm .field{min-width:0}
#settingsForm .field input,#settingsForm .field select,#wholesalePackForm .field input,#wholesalePackForm .field select{display:block;min-width:0;max-width:100%;width:100%}
#wholesalePackForm .field label{display:grid;gap:6px;min-width:0}
#wholesalePackForm .quantity-offer-fields input{border:1px solid var(--line);border-radius:9px;padding:0 11px;background:#fffefa;color:var(--ink)}
.modal-top .close-button{flex-shrink:0}

/* Merchant-owned rubros retain the storefront's photographic presentation. */
.catalog-toolbar,.catalog-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.catalog-breadcrumb{color:var(--muted);font-size:12px}.catalog-breadcrumb .link-button{padding:5px 0}
.catalog-selected{background:var(--green);color:white;border-radius:10px;padding:10px 13px;font-size:11px;font-weight:700}
.category-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.category-admin-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:16px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;overflow:hidden}
.category-admin-photo{display:block;width:124px;height:124px;object-fit:cover;object-position:center;border-radius:11px;background:#edf2e7}
.category-admin-card>.visual-fallback{min-height:124px;border-radius:11px}
.category-admin-info{min-width:0}.category-admin-info h2{font-size:17px;margin:0 0 7px;overflow-wrap:anywhere}.category-admin-info p{font-size:12px;line-height:1.5;margin:5px 0 9px;color:var(--muted)}
.category-channel-label{font-weight:600}.category-admin-info .secondary-button{min-height:40px}
#categoryForm .field{min-width:0}#categoryForm .field input,#categoryForm .field select,#productForm .field input,#productForm .field select{display:block;min-width:0;max-width:100%;width:100%}
.category-photo-preview{position:relative;width:min(100%,240px);aspect-ratio:1;margin:16px auto;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#edf2e7}
.category-photo-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.category-photo-preview span{position:absolute;bottom:0;left:0;right:0;padding:8px;background:#102519bd;color:white;font-size:11px;text-align:center}
.category-photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.category-photo-actions .secondary-button{min-height:40px}
.camera-upload{position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer}.camera-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.category-channels{min-width:0;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px}.category-channels legend{font-size:12px;font-weight:700}.category-channels .consent-row{margin-bottom:8px}
#categoryForm [data-admin-form-error]{background:#fff0e9;border:1px solid #efd4c9;border-radius:8px;padding:10px;color:#823c2d}
@media(max-width:720px){.category-admin-list{grid-template-columns:1fr}.category-admin-card{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px}.category-admin-photo{width:104px;height:112px}.category-admin-info h2{font-size:15px}.category-admin-info p{font-size:11px}}
@media(max-width:360px){.category-admin-card{grid-template-columns:88px minmax(0,1fr);gap:10px}.category-admin-photo{width:88px;height:104px}.category-photo-preview{width:min(100%,220px)}}

/* Merchant identity uses the chosen accent only on contrasting surfaces. */
:root{--brand-accent:#087b48;--brand-on-accent:#fff;--brand-primary:#087b48;--brand-on-primary:#fff;--brand-secondary:#edf5f1;--brand-background:#fafcfb;--brand-surface:#fff;--brand-text:#18231e;--brand-muted:#4d5c54;--brand-border:#66766d;--brand-focus:#087b48;--brand-header:#087b48;--brand-on-header:#fff}
body{background:var(--brand-background);color:var(--brand-text)}
[hidden]{display:none!important}
.topbar,.modal,.panel,.product-card,.segment-tile,.segment-mini-chip{background:var(--brand-surface);color:var(--brand-text)}
body .primary-button,body .cart-button,body .add-button,body .product-grid .add-button,body .promo-product-rail .add-button,body .catalog-selected,.brand-preview .primary-button{background:var(--brand-accent);color:var(--brand-on-accent);border:1px solid var(--brand-border)}
body .primary-button:hover,body .cart-button:hover,body .add-button:hover,body .product-grid .add-button:hover,body .promo-product-rail .add-button:hover{background:var(--brand-accent);color:var(--brand-on-accent);box-shadow:0 0 0 2px var(--brand-border)}
body .secondary-button,body .quantity-adjust,body .product-grid .quantity-adjust,body .promo-product-rail .quantity-adjust,body .qty-controls button,body .wholesale-quantity button,body .category-chip,body .tab-button,body .account-switch button,body .assistant-quick-actions button{background:var(--brand-surface);color:var(--brand-primary);border-color:var(--brand-border)}
body .tab-button.active,body .account-switch button.selected,body .category-chip.active,body .segment-mini-chip.active{background:var(--brand-secondary);color:var(--brand-primary);border-color:var(--brand-border)}
body .view-tabs{background:var(--brand-secondary);border-color:var(--brand-border)}
body .price,body .selection-subtotal,body .link-button,body .promo-shelf-link,body .section-counter,body .segment-count span{color:var(--brand-primary)}
body .product-name,body .segment-name{color:var(--brand-text)}
body .product-unit,body .unit-reference,body .selected-units,body .form-note,body .muted,body .section-title p,body .promo-shelf-head p,body .segment-count,body .field label{color:var(--brand-muted)}
body .field input,body .field select,body .field textarea,body .search-box input,body .quantity-input,body .cart-qty-input,body .assistant-form input{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text)}
body input::placeholder,body textarea::placeholder{color:var(--brand-muted);opacity:1}
body .field input:focus,body .field select:focus,body .field textarea:focus,body .search-box input:focus{border-color:var(--brand-focus);box-shadow:0 0 0 2px var(--brand-surface),0 0 0 4px var(--brand-focus)}
body button:focus-visible,body a:focus-visible{outline:3px solid var(--brand-focus);outline-offset:3px;box-shadow:0 0 0 2px var(--brand-surface)}
body .cart-count{background:var(--brand-surface);color:var(--brand-primary)}
body .product-tag,body .quantity-offer,body .status,body .consent-row{color:var(--brand-primary)}
body .product-tag,body .quantity-offer,body .status{background:var(--brand-secondary)}
body .brand-mark{background:var(--brand-accent);color:var(--brand-on-accent)}
body .brand-name,body .brand-name span{color:var(--brand-primary)}
body .promo-banner{background:var(--brand-primary);color:var(--brand-on-primary)}
body .promo-kicker,body .promo-copy p,body .promo-copy h2{color:var(--brand-on-primary)}
body .promo-button{background:var(--brand-surface);color:var(--brand-primary)}
body .store-brand-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;max-width:100%;margin:0 0 16px;padding:0;overflow:hidden;border:1px solid var(--brand-border);border-top:4px solid var(--brand-accent);border-radius:16px;background:var(--brand-secondary);color:var(--brand-text);box-shadow:0 4px 18px #15251b08}
.store-brand-header:has(.brand-cover){grid-template-columns:minmax(0,1fr) minmax(190px,32%)}
.store-brand-content{padding:19px 22px;min-width:0}
.store-brand-header .store-title{display:flex;align-items:center;gap:13px;min-width:0}
.store-brand-header .store-logo{flex:0 0 60px;width:60px;height:60px;border-radius:13px;background:var(--brand-surface);color:var(--brand-primary);border:1px solid var(--brand-border);font-size:28px;overflow:hidden}
.store-brand-header .store-logo img{display:block;width:100%;height:100%;object-fit:contain}
.store-brand-copy{min-width:0}.store-channel{display:block;color:var(--brand-primary);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.store-brand-header .store-brand-name{color:var(--brand-text);font-size:clamp(21px,3vw,30px);line-height:1.12;font-weight:800;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere;max-width:none}
.store-brand-header .brand-description{color:var(--brand-muted);font-size:13px;line-height:1.4;margin:7px 0 0;max-width:58ch;overflow-wrap:anywhere}
.brand-service{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:13px;color:var(--brand-muted);font-size:12px;line-height:1.4}
.brand-service span{overflow-wrap:anywhere;max-width:100%}.brand-zone{font-weight:700}
.brand-service span+span{border-left:1px solid var(--brand-border);padding-left:12px}
.brand-cover{min-width:0;min-height:160px;overflow:hidden;background:var(--brand-background)}
.brand-cover img{display:block;width:100%;height:100%;max-height:240px;object-fit:cover;object-position:center}
.merchant-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;margin-top:12px;padding:9px 12px;min-height:40px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);color:var(--brand-primary);text-decoration:none;font-size:12px;font-weight:700;line-height:1.35}
.merchant-whatsapp svg{width:20px;height:20px;flex:0 0 20px}.merchant-whatsapp span{overflow-wrap:anywhere}
.store-brand-compact .store-brand-content{padding:12px 16px}.store-brand-compact .store-logo{width:44px;height:44px;flex-basis:44px;font-size:22px}.store-brand-compact .store-brand-name{font-size:20px}.store-brand-compact .brand-description,.store-brand-compact .brand-service{display:none}
.settings-section{min-width:0;border:1px solid var(--brand-border);border-radius:12px;padding:16px;margin:0 0 20px}.settings-section legend{font-size:15px;font-weight:800;padding:0 6px;color:var(--brand-text)}
#settingsForm .field label{font-size:12px}#settingsForm .field textarea{width:100%;max-width:100%;min-width:0;resize:vertical;border-radius:9px;padding:10px;font:inherit;font-size:13px}
#settingsForm .field input[type=file]{height:auto;min-height:44px;padding:8px;font-size:12px}#settingsForm input[type=color]{width:100%;height:48px;padding:5px;cursor:pointer}
#settingsForm .secondary-button{align-self:flex-start;min-height:40px}#settingsForm .form-note{font-size:11px}
.settings-cover-preview{display:grid;place-items:center;width:100%;aspect-ratio:2;overflow:hidden;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-secondary);color:var(--brand-primary);font-size:12px}
.settings-cover-preview img{display:block;width:100%;height:100%;object-fit:cover}.logo-preview .store-logo{width:72px;height:72px;background:var(--brand-surface);border:1px solid var(--brand-border);color:var(--brand-primary);border-radius:12px}.logo-preview img{object-fit:contain}
.brand-preview{overflow:hidden;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-background);color:var(--brand-text);margin-top:14px}.brand-preview-head{display:grid;gap:6px;padding:15px;background:var(--brand-header);color:var(--brand-on-header);overflow-wrap:anywhere}.brand-preview-head b{font-size:16px}.brand-preview-head span{font-size:12px;line-height:1.4}.brand-preview-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:var(--brand-surface)}.brand-preview-price{color:var(--brand-primary);font-size:17px;font-weight:800}
/* The internal assistant is a compact, closed-by-default consultation control. */
.shop-assistant{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:18;pointer-events:none}
.shop-assistant>.assistant-launcher,.shop-assistant>.assistant-panel{pointer-events:auto}
.shop-assistant[hidden],.assistant-panel[hidden]{display:none!important}
.shop-assistant .assistant-launcher{width:46px;height:46px;border:1px solid var(--brand-border);border-radius:14px;background:var(--brand-surface);color:var(--brand-primary);box-shadow:0 4px 16px #10251b24;transform:none}
.shop-assistant .assistant-launcher:hover,.shop-assistant .assistant-launcher:focus-visible{background:var(--brand-secondary);color:var(--brand-primary);transform:none}
.shop-assistant:not(.is-open) .assistant-launcher{transform:translateY(calc(-1 * var(--assistant-launcher-lift,0px)));transition:background .15s ease}
body:has(#modalRoot:not(:empty)) .shop-assistant{visibility:hidden}
.assistant-icon{width:25px;height:25px}.shop-assistant .assistant-panel{right:0;bottom:56px;width:min(340px,calc(100vw - 24px));max-height:min(440px,calc(100dvh - 92px));border:1px solid var(--brand-border);border-radius:14px;background:var(--brand-surface);color:var(--brand-text);box-shadow:0 10px 36px #10251b24}
.shop-assistant .assistant-panel-head{padding:12px;gap:8px;background:var(--brand-secondary);color:var(--brand-text);border-bottom:1px solid var(--brand-border)}
.shop-assistant .assistant-head-copy strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.shop-assistant .assistant-head-copy small{font-size:11px;color:var(--brand-muted)}
.shop-assistant .assistant-close{flex:0 0 36px;width:36px;height:36px;min-height:36px;background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-border);font-size:25px}
.shop-assistant .assistant-messages{min-height:64px;max-height:170px;flex:1;gap:8px;padding:11px;background:var(--brand-background)}
.shop-assistant .assistant-bubble{font-size:12px;color:var(--brand-text);background:var(--brand-surface);box-shadow:none;border:1px solid var(--brand-border);padding:9px 10px}
.shop-assistant .assistant-bubble-user{background:var(--brand-secondary)}
.shop-assistant .assistant-quick-actions{padding:9px 11px;gap:6px;border-color:var(--brand-border)}
.shop-assistant .assistant-quick-actions button{padding:7px 9px;font-size:11px;min-height:32px;border-color:var(--brand-border);color:var(--brand-primary);background:var(--brand-surface)}
.shop-assistant .assistant-find-product{color:var(--brand-primary);background:var(--brand-secondary);border-color:var(--brand-border)}
.shop-assistant .assistant-form{padding:10px 11px;gap:7px;border-color:var(--brand-border)}
.shop-assistant .assistant-form input{min-height:40px;padding:9px;font-size:12px}
.shop-assistant .assistant-form button{display:grid;place-items:center;min-height:40px;min-width:40px;background:var(--brand-accent);color:var(--brand-on-accent);border:1px solid var(--brand-border)}
.assistant-form button svg{width:20px;height:20px}.has-shop-assistant #app{padding-bottom:88px}
@media(max-width:640px){
 body .store-brand-header{min-height:0;border-radius:14px;margin-bottom:14px}.store-brand-header:has(.brand-cover){grid-template-columns:minmax(0,1fr)}
 .store-brand-content{padding:14px}.store-brand-header .store-title{gap:10px}.store-brand-header .store-logo{width:52px;height:52px;flex-basis:52px;font-size:24px}.store-brand-header .store-brand-name{font-size:22px;line-height:1.14}
 .store-brand-header .brand-description{font-size:12px;margin-top:5px}.brand-service{font-size:11px;margin-top:10px;gap:5px 9px}.brand-service span+span{padding-left:9px}
 .brand-cover{min-height:0;height:86px;order:2}.brand-cover img{height:86px;max-height:none;object-position:center}
 .merchant-whatsapp{font-size:11px;margin-top:10px;padding:8px 10px}.settings-section{padding:12px}.store-brand-compact .store-brand-name{font-size:19px}.store-brand-compact .store-logo{width:42px;height:42px;flex-basis:42px}
 .shop-assistant .assistant-panel{max-height:min(420px,calc(100dvh - 92px))}.shop-assistant .assistant-messages{max-height:150px}.shop-assistant .assistant-panel-head{padding:10px}
}

body .offer-old,body .prototype-note{color:var(--brand-muted)}

body .quantity-adjust:hover:not(:disabled){background:var(--brand-secondary);color:var(--brand-primary);border-color:var(--brand-border)}

/* Bulk catalogue workspace keeps review controls readable on narrow phones. */
.catalog-import-page{min-width:0;max-width:100%;padding-bottom:28px}
.catalog-import-page h1{overflow-wrap:anywhere}.catalog-import-page h2{font-size:18px;margin:4px 0 14px}.catalog-import-page p{line-height:1.5;overflow-wrap:anywhere}
.import-main-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.import-main-actions button{min-height:44px}
.catalog-import-page .panel{min-width:0;margin-bottom:18px}.catalog-import-page .field{min-width:0}.catalog-import-page input:not([type=checkbox]),.catalog-import-page select{width:100%;max-width:100%;min-width:0;font-size:14px;min-height:44px;border:1px solid var(--brand-border);color:var(--brand-text);background:var(--brand-surface)}
.catalog-import-page input[type=file]{padding:10px;font-size:12px;overflow:hidden}.catalog-import-page fieldset{min-width:0}.catalog-import-page fieldset:disabled{opacity:.75}.catalog-import-page button:disabled{cursor:not-allowed;opacity:.55}
.import-fields,.import-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.import-mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.import-mapping legend{font-size:14px;font-weight:800;padding:0 6px}.import-mode-fields{margin-top:20px}
.import-column-example{display:block;margin-top:5px;font-size:11px;color:var(--brand-muted);overflow-wrap:anywhere}.import-file-name{padding:10px 12px;border-radius:9px;background:var(--brand-secondary);font-size:13px}
.import-price-channels{padding:12px;border:1px solid var(--brand-border);border-radius:10px;margin:12px 0 18px}.import-price-channels legend{font-size:13px;font-weight:700}.import-price-channels .consent-row{margin:8px 0}.import-price-channels input[type=checkbox]{flex:0 0 18px;width:18px;height:18px}
.import-error,.import-notice,.import-stock-notice,.import-progress{padding:12px 14px;border:1px solid var(--brand-border);border-radius:10px;font-size:13px;background:var(--brand-secondary);color:var(--brand-text)}.import-error{border-color:#b42318;background:#fff4f2;color:#8a1c13}.import-progress{font-weight:700}.import-notice{font-weight:600}
.import-samples,.import-help{border:1px solid var(--brand-border);border-radius:10px;padding:12px;margin:16px 0;font-size:12px;line-height:1.5}.import-samples summary,.import-help summary{cursor:pointer;font-weight:700;min-height:28px}.import-help code{white-space:normal;overflow-wrap:anywhere}.import-samples .table-wrap{max-width:100%;margin-top:12px;overflow:auto;max-height:260px}.import-samples table{width:max-content;min-width:100%;font-size:11px}.import-samples td,.import-samples th{max-width:180px;white-space:normal;overflow-wrap:anywhere}
.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.import-metric{border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);padding:12px;display:grid;gap:5px;min-width:0}.import-metric strong{font-size:24px;color:var(--brand-primary);line-height:1.2}.import-metric span{font-size:11px;line-height:1.4;color:var(--brand-muted);overflow-wrap:anywhere}
.import-preview-rows{display:grid;gap:12px}.import-preview-row{padding:14px;border:1px solid var(--brand-border);border-radius:10px;min-width:0;background:var(--brand-surface)}.import-row-error{border-color:#b42318}.import-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:13px;min-width:0}.import-row-head>div{min-width:0}.import-row-head strong{overflow-wrap:anywhere}.import-row-head p{font-size:11px;margin:5px 0;color:var(--brand-muted)}.import-row-status{font-size:11px;font-weight:700;color:var(--brand-primary);background:var(--brand-secondary);border-radius:6px;padding:5px 7px;flex-shrink:0}.import-row-error .import-row-status{color:#8a1c13;background:#fff4f2}
.import-changes{margin:12px 0 0}.import-changes>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,3fr);gap:12px;padding:10px 0;border-top:1px solid var(--brand-border);font-size:12px}.import-changes dt{font-weight:700;overflow-wrap:anywhere}.import-changes dd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.import-changes dd span{overflow-wrap:anywhere}.import-changes dd small{display:block;font-size:10px;color:var(--brand-muted);margin-bottom:4px}.import-after{font-weight:700;color:var(--brand-primary)}.import-row-messages{font-size:12px;margin:10px 0 0;padding-left:18px;overflow-wrap:anywhere}.import-row-messages li{margin:4px 0}
.import-filter{max-width:320px}.import-pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 0}.import-pagination button{min-height:40px}.import-pagination span{font-size:11px;text-align:center;line-height:1.4;color:var(--brand-muted)}.import-confirm-area{border-top:1px solid var(--brand-border);padding-top:18px;margin-top:18px}.import-confirm-area .primary-button{min-height:46px}.import-confirm-area .form-note{max-width:75ch}
.import-result{border-top:4px solid var(--brand-primary)}.import-result button{margin:4px 6px 4px 0}.import-history-action{margin:20px 0}.import-history-list{display:grid;gap:10px}.import-history-item{border:1px solid var(--brand-border);border-radius:10px;padding:12px;font-size:13px;overflow-wrap:anywhere}.import-history-item p{margin:6px 0;font-size:12px;color:var(--brand-muted)}.import-history-item small{font-size:10px;color:var(--brand-muted);overflow-wrap:anywhere}
.import-history-item>button{display:block;margin-top:10px;min-height:40px}.admin-catalog-search{max-width:560px;margin:14px 0}.admin-catalog-search input{width:100%;min-width:0;min-height:44px;font-size:14px;border:1px solid var(--brand-border);border-radius:9px;padding:10px;color:var(--brand-text);background:var(--brand-surface)}.admin-catalog-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.admin-catalog-pagination span{font-size:11px;text-align:center;line-height:1.4;color:var(--brand-muted)}.admin-catalog-pagination button{min-height:40px}.admin-product-codes{display:block;font-size:10px;margin-top:5px;color:var(--brand-muted);overflow-wrap:anywhere}#adminCatalogResults{min-width:0}
@media(max-width:900px){.import-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .catalog-import-page .panel{padding:14px}.catalog-import-page .dashboard-head h1{font-size:25px}.catalog-import-page .dashboard-head p{font-size:13px}.catalog-import-page h2{font-size:17px}
 .import-main-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.import-main-actions button{width:100%;font-size:13px}.import-fields,.import-mapping-grid{grid-template-columns:minmax(0,1fr);gap:10px}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.import-metric{padding:10px}.import-metric strong{font-size:22px}
 .import-row-head{display:grid;gap:7px}.import-row-status{justify-self:start}.import-preview-row{padding:11px}.import-changes>div{grid-template-columns:minmax(0,1fr);gap:7px}.import-pagination{gap:6px}.import-pagination button{padding:8px;font-size:11px}.import-pagination span{font-size:10px}.import-confirm-area .primary-button{width:100%;white-space:normal}.catalog-import-page .panel-head{flex-wrap:wrap;gap:10px}
 .catalog-import-page .form-note{font-size:11px}.catalog-import-page .catalog-breadcrumb{font-size:11px;flex-wrap:wrap}.catalog-import-page .import-mapping{padding:12px}.import-price-channels .consent-row{font-size:12px}
 .admin-catalog-pagination{gap:6px}.admin-catalog-pagination button{font-size:11px;padding:8px}.admin-catalog-pagination span{font-size:10px}
}

.import-more-changes{border-top:1px solid var(--brand-border);padding-top:8px;margin-top:8px}.import-more-changes summary{cursor:pointer;color:var(--brand-primary);font-size:12px;font-weight:700;padding:8px 0}.import-more-changes[open] summary{margin-bottom:8px}

/* Session controls stay in the shared header on every storefront and private view. */
.account-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:42px;max-width:190px;padding:7px 11px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);color:var(--brand-primary);font-size:12px;text-align:left}
.account-menu-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}.account-menu-button>span{display:grid;min-width:0;gap:2px}.account-menu-button strong{font-size:12px;white-space:nowrap}.account-menu-button small{font-size:10px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand-muted)}.account-menu-button small[hidden]{display:none}
#accountMenu,#accountStorePicker{min-width:0;max-width:100%}.modal:has(#accountMenu),.modal:has(#accountStorePicker){width:min(430px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:20px}.account-identity{display:grid;gap:6px;padding:14px;border:1px solid var(--brand-border);border-radius:11px;background:var(--brand-secondary);margin:14px 0 18px;overflow-wrap:anywhere}.account-identity strong{font-size:17px}.account-identity span{font-size:13px;color:var(--brand-primary);font-weight:700}.account-identity small{font-size:12px;color:var(--brand-muted)}.account-menu-actions{display:grid;gap:10px}.account-menu-actions button{width:100%;min-height:44px;text-align:left;padding:12px 14px;white-space:normal}.account-logout{min-height:44px;padding:12px 14px;border:1px solid #ad3930;border-radius:10px;background:#fff7f6;color:#8b1e17;font-size:12px;font-weight:700}.account-logout:disabled{opacity:.6;cursor:wait}.account-pending-note{margin:16px 0 0;line-height:1.5}.account-session-error{padding:12px;margin-top:12px;border:1px solid #ad3930;border-radius:10px;background:#fff7f6;color:#8b1e17;font-size:13px;line-height:1.45}#accountTenantSelect{width:100%;min-height:44px;max-width:100%}.login-card>.full-button{margin-top:10px}
@media(min-width:901px){.topbar-controls{gap:12px}.tenant-picker{max-width:180px}.tenant-picker select{max-width:100%;min-width:0}.topbar{gap:18px}}
@media(max-width:900px){.topbar{display:grid;height:auto;min-height:0;padding:9px 12px;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:'brand account install' 'nav nav nav';gap:8px}.topbar-controls{display:contents}.topbar .tenant-picker{display:none}.topbar .brand-lockup{grid-area:brand}.topbar .account-menu-button{grid-area:account;max-width:122px;min-height:42px;padding:7px 9px;gap:5px}.account-menu-button small{max-width:82px}.topbar .install-button{grid-area:install;min-width:32px;width:32px;min-height:40px}.topbar .view-tabs{grid-area:nav;grid-column:1/-1;grid-row:2;width:100%;max-width:100%;min-width:0}.modal:has(#accountMenu),.modal:has(#accountStorePicker){padding:16px}.account-identity strong{font-size:16px}.account-menu-actions{gap:8px}}

/* Independent customer, merchant and owner documents share branding, never their navigation. */
body[data-experience="admin"] .view-tabs:not([data-surface-actions]),body[data-experience="panel"] .view-tabs:not([data-surface-actions]){visibility:hidden}
body[data-app-scope="merchant"] .install-button,body[data-app-scope="owner"] .install-button{display:none!important}
.account-menu-actions a{display:block;min-height:44px;padding:12px 14px;text-decoration:none;text-align:left}
[data-owner-company]{overflow-wrap:anywhere}

/* Clear, mobile-friendly account access and recovery; controls keep 44px touch targets. */
.password-control{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);overflow:hidden}
.password-control input{width:100%;min-width:0;flex:1;border:0!important;border-radius:0!important;min-height:44px;font-size:16px!important;background:transparent;color:var(--brand-text)}
.password-control:focus-within{outline:2px solid var(--brand-focus);outline-offset:2px}
.password-toggle{flex:0 0 auto;min-width:64px;min-height:44px;padding:8px;border:0;border-left:1px solid var(--brand-border);background:var(--brand-secondary);color:var(--brand-primary);font-size:12px;font-weight:700}
.auth-feedback{margin:12px 0;padding:11px 12px;border:1px solid #a64132;border-radius:9px;background:#fff4f0;color:#78271a;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.auth-feedback[hidden]{display:none}.auth-feedback p{margin:0}.auth-feedback a{display:inline-flex;margin-top:10px;min-height:44px;align-items:center;text-decoration:none;white-space:normal}
.optional-account-details{margin:12px 0 18px;border:1px solid var(--brand-border);border-radius:9px;padding:10px}.optional-account-details summary{cursor:pointer;font-size:12px;font-weight:700;line-height:1.5;min-height:28px}.optional-account-details[open] summary{margin-bottom:10px}
#recoverySettings form{padding:15px 0;border-bottom:1px solid var(--brand-border);margin-bottom:16px}#recoverySettings h3{font-size:16px;margin:0 0 10px}#recoverySettings .field,#passwordRecoveryForm .field{min-width:0}#recoverySettings input,#recoverySettings select,#passwordRecoveryForm input{width:100%;min-width:0;max-width:100%;min-height:44px;font-size:16px}#recoveryCodes,#recoveryLink{width:100%;min-width:0;max-width:100%;padding:12px;font-family:monospace;font-size:13px;line-height:1.6;overflow-wrap:anywhere;resize:vertical;border:1px solid var(--brand-border);border-radius:9px}
.login-card .field input{font-size:16px;min-height:44px}.optional-mfa{margin:12px 0;font-size:12px;line-height:1.5}.login-card .link-button{min-height:44px}.login-card>p{overflow-wrap:anywhere}
.promo-product-rail{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:3px 2px 10px}.promo-product-rail .product-card{flex:0 0 min(70vw,250px);scroll-snap-align:start;min-width:0}.promo-product-rail:focus-visible{outline:2px solid var(--brand-focus);outline-offset:2px}
@media(max-width:640px){.login-card{padding:20px 16px}.login-card h1{font-size:25px}.login-screen{min-height:55vh}.auth-feedback{font-size:12px}.password-toggle{min-width:62px}.promo-product-rail{gap:9px}.promo-product-rail .product-card{flex-basis:min(70vw,225px)}}

.cart-photo{position:relative;width:40px;height:40px;border-radius:9px;overflow:hidden;background:var(--brand-secondary)}.cart-photo img{width:100%;height:100%;object-fit:cover}.cart-photo .illustrative-label{display:none}.cart-photo .visual-fallback{font-size:8px;padding:2px}.empty-cart-icon{display:block;width:44px;height:44px;margin:0 auto 12px;color:var(--brand-primary);fill:currentColor}.wholesale-offers{margin-bottom:22px}.wholesale-offers .promo-product-rail .wholesale-card{display:flex;flex-direction:column}.wholesale-offers .product-visual{flex-shrink:0}

/* Optional white-label plan replaces only the public platform mark. */
.merchant-brand-lockup{min-width:0;max-width:340px}.merchant-brand-lockup .brand-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;letter-spacing:-.02em}.merchant-header-logo{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;background:var(--brand-secondary);color:var(--brand-primary);border:1px solid var(--brand-border);border-radius:9px;font-size:20px;font-weight:800}.merchant-header-logo img{width:100%;height:100%;object-fit:contain}.brand-preview-head small{font-size:10px;line-height:1.4}.consent-row:has([data-entitlement-disabled]){color:var(--brand-muted)}
@media(max-width:640px){.merchant-brand-lockup{gap:6px;max-width:100%}.merchant-brand-lockup .brand-name{font-size:13px}.merchant-header-logo{width:29px;height:29px;flex-basis:29px;font-size:17px}}

.personal-password-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1192px;margin:12px auto 0;padding:12px 16px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-secondary);font-size:13px;line-height:1.45}.personal-password-notice button{min-height:44px}@media(max-width:640px){.personal-password-notice{margin:10px 12px 0;font-size:12px}}

/* Compact photo-first cards are 20% shorter than the 420/474px baseline.
   The photo takes the remaining space (about 70%); information grows only as
   needed for a second name line, presentation, selected subtotal and 44px targets. */
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .product-card.photo-product-card{
 --photo-card-height:336px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) max-content;
 height:var(--photo-card-height);min-height:0;max-height:none;min-width:0;padding:0;gap:0;align-items:stretch;
 border:0;border-radius:15px;overflow:hidden;background:var(--brand-surface);
 box-shadow:inset 0 0 0 1px var(--brand-border),0 3px 13px #183d250a;transform:none;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card:has(.card-price-long){--photo-card-height:379px}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card>.product-visual{
 position:relative;display:block;grid-column:1;grid-row:1;width:100%;height:100%;min-height:0;max-height:none;
 aspect-ratio:auto;flex:none;margin:0;padding:0;border:0;border-radius:0;background:#f0f3ef;overflow:hidden;
}
.photo-product-card .product-photo-link{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;overflow:hidden}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .product-photo{
 position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;border-radius:0;object-fit:contain;background:transparent;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .illustrative-photo{object-fit:cover}
.photo-product-card .product-photo-link:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-4px;z-index:3}
.photo-product-card .product-visual .product-tag{left:8px;top:8px;max-width:calc(100% - 16px);margin:0;padding:5px 8px;font-size:10px;line-height:1.2;pointer-events:none;border-radius:20px;background:var(--brand-primary);color:var(--brand-on-primary)}
.photo-product-card .illustrative-label{font-size:9px;line-height:1.2;max-width:calc(100% - 16px);padding:4px 6px;border-radius:5px;background:#ffffffed;color:#344539;pointer-events:none}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card>.product-info{
 grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 44px;
 align-content:start;gap:1px;min-width:0;min-height:0;height:auto;padding:3px 6px;box-sizing:border-box;
}
.photo-product-card .card-price-block{grid-column:1;grid-row:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;min-width:0}
.photo-product-card .card-selection-subtotal{grid-column:1;grid-row:3;display:block;min-width:0;max-width:100%;margin:0;font-size:11px;line-height:15px;font-weight:650;color:var(--brand-text);overflow-wrap:anywhere}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .product-name{
 grid-column:1;grid-row:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
 min-width:0;min-height:0;max-height:32px;margin:0;font-size:13px;line-height:16px;font-weight:700;color:var(--brand-text);
 overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;align-self:start;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card [data-card-price]{
 grid-column:1;grid-row:2;min-width:0;margin:0;font-size:18px;line-height:20px;font-weight:850;letter-spacing:-.03em;
 color:var(--brand-primary);white-space:nowrap;overflow:visible;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card [data-card-price].card-price-long{font-size:16px;line-height:18px;white-space:normal;overflow-wrap:anywhere}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .product-unit{
 display:block;min-height:0;margin:0;max-width:100%;font-size:10px;line-height:12px;
 color:var(--brand-muted);white-space:nowrap;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .card-controls{
 grid-column:1;grid-row:4;display:grid;grid-template-columns:56px minmax(44px,1fr);grid-template-rows:44px;grid-template-areas:none;
 width:100%;min-width:0;gap:4px;margin:0;align-items:stretch;
}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .quantity-input{
 grid-area:auto;grid-column:1;grid-row:1;display:block;width:56px;min-width:44px;height:44px;min-height:44px;padding:2px;
 border:1px solid var(--brand-border);border-radius:8px;font-size:16px;line-height:1;text-align:center;color:var(--brand-text);background:var(--brand-surface);
 -moz-appearance:textfield;appearance:textfield;
}
.photo-product-card .quantity-input::-webkit-inner-spin-button,.photo-product-card .quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body :is(.product-grid,.promo-product-rail,#wholesaleCatalog) .photo-product-card .add-button{
 grid-area:auto;grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;width:100%;min-width:44px;min-height:44px;height:44px;
 margin:0;padding:3px;border:1px solid var(--brand-primary);border-radius:8px;font-size:12px;font-weight:800;line-height:1.15;
 color:var(--brand-on-primary);background:var(--brand-primary);white-space:normal;text-align:center;
}
.photo-product-card .quantity-input:focus-visible,.photo-product-card .add-button:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-3px}
.photo-product-card .quantity-input[aria-invalid=true]{border-color:#a52b23;box-shadow:inset 0 0 0 1px #a52b23}
.photo-product-card .add-button:disabled{opacity:.65;cursor:not-allowed}
body .promo-product-rail .product-card.photo-product-card{flex:0 0 min(70vw,250px);width:min(70vw,250px);max-width:none;scroll-snap-align:start}
body #wholesaleCatalog{padding:0;border:0;background:transparent;box-shadow:none}
body .product-grid:has(.photo-product-card:only-child){grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin-inline:0}
@media(max-width:900px){body .product-grid:has(.photo-product-card:only-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
 body .product-grid,body .product-grid:has(.photo-product-card:only-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body .promo-product-rail .product-card.photo-product-card{flex-basis:min(70vw,210px);width:min(70vw,210px)}
}
/* Details retain full names, stock, minimums, volume tiers and the selected quote
   without adding descriptive rows to the 30% card information area. */
.product-details-panel{min-width:0;max-width:100%}.product-details-panel .modal-top{align-items:flex-start;gap:10px}.product-details-panel h2{font-size:23px;line-height:1.2;overflow-wrap:anywhere;margin:4px 0 0}
.product-details-panel .close-button{min-width:44px;min-height:44px;flex:0 0 44px}.product-detail-photo{position:relative;width:100%;height:210px;overflow:hidden;border-radius:13px;background:#f0f3ef;margin:12px 0}
.product-detail-photo .product-photo{width:100%;height:100%;object-fit:contain}.product-detail-photo .illustrative-label{position:absolute;left:8px;bottom:8px;background:#ffffffed;padding:4px 6px;border-radius:5px;font-size:10px}.product-details-panel .detail-presentation{font-size:14px;margin:9px 0;color:var(--brand-muted)}
.detail-price{font-size:14px;margin:10px 0}.detail-price strong{font-size:25px;color:var(--brand-primary);overflow-wrap:anywhere}.detail-availability{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.detail-availability div{min-width:0}.detail-availability dt{font-size:11px;color:var(--brand-muted)}.detail-availability dd{margin:4px 0 0;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.detail-quantity-label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}.detail-quantity-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.detail-quantity-controls input,.detail-quantity-controls button{min-width:44px;width:100%;height:44px;min-height:44px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font-size:17px;text-align:center}.detail-amount{font-size:15px;margin:13px 0 5px;overflow-wrap:anywhere}.product-details-panel .full-button{min-height:44px}.product-details-panel .form-note{font-size:12px;line-height:1.5;margin-top:9px}

.photo-product-card .visual-fallback{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;min-height:0;padding:18px;text-align:center;background:linear-gradient(145deg,var(--brand-secondary),var(--brand-surface));color:var(--brand-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.photo-product-card .visual-fallback-brand{font-size:15px;letter-spacing:.06em;color:var(--brand-primary);font-weight:800}

/* Campaign controls stay in the merchant catalogue; storefront cards keep their
   shared photo/information geometry. The overlay never intercepts purchase taps. */
.catalog-offer-toolbar{padding:12px 0;border-bottom:1px solid var(--brand-border);margin-bottom:12px}
.catalog-offer-actions,.offer-presets,.offer-campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.catalog-offer-actions button,.offer-campaign-actions button,.offers-workspace button{min-height:44px}
.catalog-offer-actions [data-offer-selected-count]{font-size:12px;font-weight:700;line-height:1.4}
.offer-select-label{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;gap:6px;cursor:pointer}
.offer-select-label input{width:20px;height:20px;accent-color:var(--brand-primary)}
.offer-select-label span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.offers-workspace{min-width:0;max-width:100%}.offers-workspace *{box-sizing:border-box}
.offers-workspace [hidden]{display:none!important}
.offers-workspace fieldset{min-width:0;padding:0;border:0;margin:0}
.offers-workspace h1{overflow-wrap:anywhere}.offers-workspace h2{font-size:19px}.offers-workspace h3{margin:0 0 6px;font-size:15px;overflow-wrap:anywhere}
.offer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.offer-form-grid input,.offer-form-grid select,.offer-photo-settings input,.offer-photo-settings select{max-width:100%;width:100%;min-width:0;min-height:44px}
.offer-presets{margin-bottom:8px}.offer-presets [aria-pressed=true]{background:var(--brand-primary);color:var(--brand-on-primary);border-color:var(--brand-primary)}
.offer-products,.offer-preview-list,.offer-campaigns{display:grid;gap:12px;margin:16px 0}
.offer-product,.offer-preview-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:14px;border:1px solid var(--brand-border);border-radius:14px;background:var(--brand-surface);min-width:0}
.offer-product-photo{position:relative;aspect-ratio:1;width:100%;align-self:start;overflow:hidden;border-radius:10px;background:#f0f3ef;min-width:0}
.offer-product-photo img,.offer-product-photo .product-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-height:none}
.offer-product-photo .illustrative-photo{object-fit:cover}.offer-product-photo .illustrative-label{font-size:8px;padding:3px;bottom:3px;left:3px;max-width:calc(100% - 6px)}
.offer-product-photo .product-photo-placeholder{position:absolute;inset:0;width:100%;height:100%;font-size:11px}
.offer-product-copy{min-width:0}.offer-product-copy>small{color:var(--brand-muted);font-size:12px}
.offer-price-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;font-size:14px}
.offer-price-comparison div{min-width:0}.offer-price-comparison dt{font-size:11px;line-height:1.3;color:var(--brand-muted);margin-bottom:3px}.offer-price-comparison dd{margin:0;font-weight:750;overflow-wrap:anywhere}
.offer-photo-settings{display:grid;gap:6px;margin-top:12px;font-size:12px}.offer-photo-settings small{color:var(--brand-muted);line-height:1.4}
.offer-photo-settings select,.offer-photo-settings input{border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);padding:8px;font:inherit}
.offer-feedback{background:#fff2ed;border:1px solid #c95a38;border-radius:10px;padding:12px;color:#76290f;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.offer-feedback[hidden]{display:none}.offer-confirmation{margin-top:24px;scroll-margin-top:20px}.offer-priority-note{font-size:12px;line-height:1.45;color:var(--brand-text);background:var(--brand-secondary);padding:8px;border-radius:8px}
.offer-campaign{display:flex;justify-content:space-between;gap:16px;align-items:center}.offer-campaign>div{min-width:0}.offer-campaign h2{overflow-wrap:anywhere}.offer-campaign small{display:block;line-height:1.5}.offer-status{display:inline-block;border:1px solid var(--brand-border);background:var(--brand-secondary);color:var(--brand-text);padding:4px 8px;border-radius:15px;font-size:12px}
.offer-card-saving{position:absolute;left:8px;right:8px;top:40px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;pointer-events:none;z-index:2;font-size:10px;line-height:1.35;color:#173a26}
.offer-card-saving>span,.offer-card-saving>strong{max-width:100%;padding:3px 6px;background:#fffffff2;border-radius:5px;overflow-wrap:anywhere}.offer-card-saving>strong{font-size:11px;background:#e7f3e9f5}
@media(max-width:600px){.offer-form-grid{grid-template-columns:minmax(0,1fr);gap:10px}.offer-product,.offer-preview-row{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px}.offer-photo-settings{grid-column:1/-1}.offer-price-comparison{grid-template-columns:minmax(0,1fr);gap:5px}.offer-price-comparison div{display:flex;justify-content:space-between;gap:8px}.offer-price-comparison dt{max-width:50%;margin-bottom:0}.offer-price-comparison dd{text-align:right;font-size:13px}.offer-campaign{align-items:stretch;flex-direction:column}.offer-campaign-actions{gap:6px}.catalog-offer-actions{align-items:stretch}.catalog-offer-actions button{flex:1 1 135px;white-space:normal}.offer-campaign-actions button{flex:1 1 80px}.offers-workspace .dashboard-head{align-items:stretch}.offers-workspace .dashboard-head>button{width:100%}}

/* Merchant sharing stays compact and separate from the customer catalogue. */
.store-sharing .modal-top p{margin:4px 0;font-size:14px}.store-sharing>label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}.store-sharing input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #8a968e;border-radius:8px;padding:10px;font-size:14px}.store-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.store-share-actions>a,.store-share-actions>button{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;padding:8px;font-size:13px}.store-share-qr{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.store-share-qr img{display:block;max-width:100%;height:auto;background:white}.store-sharing [data-share-status]{font-size:13px;min-height:1.2em;margin:8px 0 0}
