
    :root{--green:#176b58;--green-2:#0e4d41;--mint:#e7f4ee;--cream:#fffaf1;--ink:#1b2a27;--muted:#6b7c77;--line:#dce8e2;--orange:#e47f3d;--red:#bb4545;--shadow:0 12px 35px rgba(16,58,46,.09)}
    *{box-sizing:border-box} body{margin:0;background:#f6f8f6;color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Lao","Microsoft YaHei",sans-serif}
    button,input,select{font:inherit} button{border:0;cursor:pointer} a{color:inherit}
    .app{max-width:1180px;margin:auto;min-height:100vh;background:#f6f8f6}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--green)}.brand-mark{width:38px;height:38px;border-radius:12px;object-fit:cover;box-shadow:0 4px 12px rgba(23,107,88,.18)}.actions{display:flex;align-items:center;gap:8px}.pill{border:1px solid var(--line);background:white;color:var(--green);border-radius:999px;padding:7px 12px}.pill.active,.primary{background:var(--green);color:white;border-color:var(--green)}.account-btn{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{background:transparent;color:var(--green);font-size:20px;padding:8px;position:relative}.badge{position:absolute;right:1px;top:0;background:var(--orange);color:white;border-radius:999px;min-width:17px;height:17px;font-size:11px;display:grid;place-items:center}
    .hero{margin:18px 18px 0;padding:28px;border-radius:24px;background:linear-gradient(135deg,#dff2e9,#fff5e7);display:flex;justify-content:space-between;align-items:center;gap:24px}.hero h1{margin:0 0 5px;font-size:clamp(25px,4vw,42px);letter-spacing:-.04em}.hero p{margin:0;color:var(--muted);max-width:580px}.hero-art{font-size:64px;filter:drop-shadow(0 10px 8px rgba(38,75,59,.16))}
    .toolbar{display:flex;align-items:center;gap:12px;padding:18px;flex-wrap:wrap}.search{flex:1;min-width:220px;position:relative}.search input{width:100%;padding:12px 15px 12px 40px;border:1px solid var(--line);border-radius:14px;background:white;outline:none}.search span{position:absolute;left:14px;top:9px;font-size:18px;color:var(--muted)}select{padding:11px 35px 11px 13px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink)}
    .main{padding:0 18px 40px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:2px 0 14px}.section-head h2{font-size:20px;margin:0}.section-head small{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.product-image{height:150px;background:linear-gradient(145deg,#eff8f3,#fff3df);display:grid;place-items:center;font-size:57px;position:relative}.card-body{padding:13px}.product-name{font-weight:750;min-height:45px}.product-sub{color:var(--muted);font-size:12px;min-height:20px}.price{font-size:19px;font-weight:800;color:var(--green);margin:9px 0}.card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px}.buy-now,.add{width:100%;min-width:0;min-height:44px;padding:9px 7px;border-radius:11px;font-weight:750;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.buy-now{background:var(--green);color:#fff}.add{background:var(--mint);color:var(--green)}.add:disabled{opacity:.45;cursor:not-allowed}
    .drawer{position:fixed;inset:0;background:rgba(16,37,30,.38);z-index:40;display:none;justify-content:flex-end}.drawer.open{display:flex}.drawer-panel{width:min(440px,100%);height:100%;background:#fff;padding:20px;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{margin:0}.close{font-size:25px;background:transparent;color:var(--muted)}.cart-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-emoji{width:50px;height:50px;border-radius:13px;background:var(--cream);display:grid;place-items:center;font-size:27px}.cart-info{flex:1}.qty{display:flex;gap:8px;align-items:center;margin-top:6px}.qty button{width:25px;height:25px;border-radius:8px;background:var(--mint);color:var(--green)}.total{display:flex;justify-content:space-between;font-weight:800;font-size:18px;padding:18px 0}.full{width:100%;padding:13px;border-radius:13px}.secondary{background:#eef3f1;color:var(--green)}
    .modal-wrap{position:fixed;inset:0;background:rgba(16,37,30,.42);z-index:50;display:none;align-items:center;justify-content:center;padding:16px}.modal-wrap.open{display:flex}.modal{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px}.modal h2{margin:0 0 5px}.muted{color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{margin:12px 0}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:5px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:white}.pay-box{margin:15px 0;padding:16px;background:var(--cream);border-radius:16px;text-align:center;overflow:hidden}.qr{width:min(190px,100%);aspect-ratio:1;height:auto;margin:10px auto;background-color:#fff;background-image:linear-gradient(90deg,#1f2926 10%,transparent 10%,transparent 20%,#1f2926 20%,#1f2926 30%,transparent 30%,transparent 40%,#1f2926 40%,#1f2926 50%,transparent 50%,transparent 60%,#1f2926 60%,#1f2926 70%,transparent 70%,transparent 80%,#1f2926 80%,#1f2926 90%,transparent 90%),linear-gradient(#1f2926 10%,transparent 10%,transparent 20%,#1f2926 20%,#1f2926 30%,transparent 30%,transparent 40%,#1f2926 40%,#1f2926 50%,transparent 50%,transparent 60%,#1f2926 60%,#1f2926 70%,transparent 70%,transparent 80%,#1f2926 80%,#1f2926 90%,transparent 90%);background-size:22px 22px;border:10px solid white;box-shadow:0 0 0 1px #d9dfdc;overflow:hidden}.qr img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:white}.timer{font-size:25px;font-weight:850;color:var(--orange)}.notice{padding:11px 13px;background:#fff4e9;border-radius:12px;color:#8c4e29;font-size:13px}.upload{border:1px dashed #a9c8bb;padding:13px;border-radius:12px;background:#f7fbf8;overflow:hidden}.upload input{width:100%;max-width:100%}.preview{max-width:100%;max-height:140px;border-radius:10px;margin:9px auto 0;display:none;object-fit:contain}.auth-note{padding:11px 13px;background:var(--mint);border-radius:12px;color:var(--green);font-size:13px}
    .bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1180px,100%);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:9px 10px calc(9px + env(safe-area-inset-bottom));z-index:25}.nav-btn{background:transparent;color:var(--muted);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px}.nav-btn.active{color:var(--green);font-weight:750}.nav-icon{font-size:20px}
    .page{display:none}.page.active{display:block}.orders{display:grid;gap:12px}.order{background:white;border:1px solid var(--line);border-radius:16px;padding:15px}.order-top{display:flex;justify-content:space-between;gap:10px}.status{font-size:12px;border-radius:999px;padding:4px 9px;background:#edf7f2;color:var(--green);white-space:nowrap}.status.warn{background:#fff2e7;color:#9c5c2c}.order-line{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:8px}.help{margin-top:18px;padding:16px;border-radius:17px;background:var(--green);color:white}.help .primary{background:white;color:var(--green);margin-top:10px}.empty{text-align:center;padding:45px 10px;color:var(--muted)}
    .admin{padding:18px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stat{padding:15px;border-radius:16px;background:white;border:1px solid var(--line)}.stat strong{font-size:24px;color:var(--green);display:block}.admin-table{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.admin-row{display:grid;grid-template-columns:1.2fr .7fr .8fr auto;gap:10px;align-items:center;padding:13px;border-bottom:1px solid var(--line);font-size:13px}.admin-row:last-child{border-bottom:0}.mini{padding:7px 10px;border-radius:9px;font-size:12px}.danger{background:#fff0f0;color:var(--red)}.proof-btn{background:#eef6f2;color:var(--green)}.admin-section{margin-top:24px}.admin-section h3{margin:0 0 10px}.switch{display:flex;gap:8px;align-items:center}
    @media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{font-size:48px}.admin-row{grid-template-columns:1fr auto}.admin-row>*:nth-child(2),.admin-row>*:nth-child(3){display:none}}
    @media(max-width:480px){.topbar{padding:0 13px}.brand{font-size:15px}.hero{margin:12px 12px 0;padding:21px}.toolbar,.main,.admin{padding-left:12px;padding-right:12px}.product-image{height:125px;font-size:47px}.card-body{padding:11px}.product-name{font-size:14px}.form-row{grid-template-columns:1fr}.modal{padding:18px}}

[hidden]{display:none!important} .app{padding-bottom:85px} .error{color:#9b2727;padding:10px 0} .qr{background-image:none!important;display:grid;place-items:center;color:#6b7c77;font-size:14px} .admin-row{grid-template-columns:1fr 1fr;align-items:start} .admin-row>*:nth-child(2),.admin-row>*:nth-child(3){display:block} .admin-order-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px} .admin-proof{width:70px;height:70px;object-fit:contain} .order{overflow-wrap:anywhere} .order-items{font-size:13px;margin:12px 0} #connection{padding:10px 18px;background:#fff2e7;color:#8c4e29}  .notice{margin:8px 0} #authRegister{margin-top:8px} button:disabled{opacity:.55;cursor:wait} .toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:12px;background:#174c3e;color:white;z-index:80;max-width:90vw} @media(max-width:480px){.topbar{height:auto;min-height:64px;gap:8px;flex-wrap:wrap;padding:10px 12px}.brand{max-width:100%;font-size:14px}.actions{gap:5px}.pill{padding:6px 9px}.account-btn{max-width:90px}.admin-row{grid-template-columns:1fr}.admin-row>*:nth-child(2),.admin-row>*:nth-child(3){display:block}.section-head{gap:8px;align-items:center}.order-top,.order-line{flex-wrap:wrap}}

/* Catalog, product editor and conversations */
.catalog-filters{padding:0 18px 20px}.filter-tabs{display:flex;gap:8px;overflow:auto;padding:0 0 12px}.filter-tabs button{white-space:nowrap}.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}.check-label{display:flex;gap:7px;align-items:center;font-size:13px}.check-label input{width:17px;height:17px}.filter-row input[type=search]{padding:10px;border:1px solid var(--line);border-radius:12px;min-width:160px;flex:1}
.product-image{width:100%;border:0;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-name{background:none;text-align:left;padding:0;display:block;color:var(--ink);line-height:1.45}.category-label{color:var(--muted);font-size:11px}.product-preview{display:block;max-width:100%;height:160px;object-fit:contain;margin:10px 0}.field select{width:100%}.admin-product-info{display:flex;gap:12px;min-width:0}.admin-product-photo{width:64px;height:64px;border-radius:10px;object-fit:cover}.admin-row{grid-template-columns:minmax(0,1fr) auto}.admin-row .admin-order-actions{margin:0}.detail-photo{height:260px;display:grid;place-items:center;background:var(--mint);border-radius:16px;font-size:85px}.detail-photo img{width:100%;height:100%;object-fit:contain}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--muted);margin:10px 0}textarea{font:inherit;resize:vertical}#deliverySummary p{display:flex;justify-content:space-between;gap:12px}#customerOrderFilter{margin:0 0 15px 10px}.grid .empty{grid-column:1/-1}.nav-icon{position:relative}.unread-dot{display:inline-block;background:#e47f3d;color:#fff;border-radius:99px;min-width:18px;padding:1px 5px;font-size:11px}
.photo-count{position:absolute;right:10px;bottom:10px;background:rgba(23,61,53,.8);color:#fff;border-radius:999px;padding:3px 8px;font-size:11px}.color-summary,.cart-variant{font-size:12px;color:var(--muted);margin-top:5px}.cart-photo{width:50px;height:50px;border-radius:13px;object-fit:cover}.recommendation-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.recommendation-head strong{font-size:19px}.recommendation-head small{color:var(--muted)}.recommended-card{border-color:#c7ded4}.detail-gallery{user-select:none}.detail-photo{position:relative;cursor:zoom-in;overflow:hidden}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--green);font-size:30px;box-shadow:0 4px 15px rgba(0,0,0,.12);z-index:2}.gallery-arrow.prev{left:10px}.gallery-arrow.next{right:10px}.gallery-counter{position:absolute;right:12px;bottom:10px;background:rgba(23,61,53,.78);color:white;padding:3px 9px;border-radius:999px;font-size:12px}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:9px 2px}.gallery-thumb{width:58px;height:58px;flex:0 0 58px;padding:2px;border:2px solid transparent;border-radius:10px;background:#fff}.gallery-thumb.active{border-color:var(--green)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}.color-picker{border:0;padding:0;margin:14px 0}.color-picker legend{font-weight:750;margin-bottom:7px}.color-picker>div{display:flex;gap:8px;flex-wrap:wrap}.color-option{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:8px 14px}.color-option.active{border-color:var(--green);background:var(--mint);color:var(--green);font-weight:750}
.chat-modal{width:min(900px,100%);max-height:94dvh}.chat-modal>p{font-size:12px;margin:5px 0}.chat-disclosure{font-size:12px;color:var(--muted);margin:6px 0}.chat-disclosure p{margin:5px 0}.chat-layout{display:flex;gap:14px;min-height:300px}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column}.chat-messages{height:43dvh;min-height:200px;overflow-y:auto;background:#f3f7f5;border-radius:14px;padding:12px;overscroll-behavior:contain}.message{max-width:88%;margin:0 auto 12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:white;overflow-wrap:anywhere}.message.mine{margin-left:auto;margin-right:0;background:#dff2e9}.message-original{white-space:pre-wrap}.message-translation{white-space:pre-wrap;border-top:1px solid #cfded6;margin-top:8px;padding-top:8px;color:#43665b;font-size:13px}.message small{font-size:10px;color:var(--muted);display:block;margin-top:7px}#chatThreads{width:200px;max-height:55dvh;overflow:auto}.chat-thread{width:100%;text-align:left;background:#f5f8f6;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px}.chat-thread.active{border-color:var(--green);background:var(--mint)}.chat-thread small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--muted)}.chat-compose{display:flex;gap:8px;margin-top:10px}.chat-compose textarea{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px}.chat-compose button{padding:10px 18px;border-radius:12px;flex-shrink:0}#chatError{font-size:12px;padding:4px 0;min-height:20px}
.chat-accuracy{margin:8px 0;padding:9px 12px;border-radius:10px;background:#fff4e9;color:#8c4e29;font-size:12px}.chat-closed-tag{float:right;margin-left:5px;padding:1px 6px;border-radius:99px;background:#e8ecea;color:var(--muted);font-size:10px}.chat-status{padding:8px 10px;border-radius:10px;background:#eef3f1;color:var(--muted);font-size:12px}.photo-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.photo-editor-item{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f4f7f5}.photo-editor-item img{width:100%;height:100%;object-fit:cover}.photo-editor-item .photo-open{position:absolute;inset:0;background:transparent;width:100%}.photo-editor-item .photo-remove{position:absolute;right:5px;top:5px;width:26px;height:26px;padding:0;border-radius:99px;background:#fff;color:var(--red);box-shadow:0 2px 8px #0002;z-index:2}.image-viewer-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px}.image-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:99px;background:#174c3ed9;color:#fff;font-size:22px;z-index:2}.image-viewer-nav.prev{left:8px}.image-viewer-nav.next{right:8px}.image-counter{text-align:center;color:var(--muted);margin-top:8px}.feedback-list{display:grid;gap:10px}.feedback-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.feedback-item p{white-space:pre-wrap;margin:5px 0}.feedback-item small{color:var(--muted)}
.pay-box{min-width:0}.pay-box .qr{display:flex;align-items:center;justify-content:center;width:min(190px,100%);height:auto;aspect-ratio:1;min-width:0;max-width:100%;padding:0;overflow:hidden}.pay-box .qr img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.pay-box #payAmount{clear:both;position:static;overflow-wrap:anywhere}
.photo-cover{position:absolute;bottom:0;left:0;right:0;padding:5px 3px;background:#ffffffed;color:var(--green);font-size:11px;z-index:2}.photo-cover:disabled{opacity:1;cursor:default;background:#176b58;color:white}.variant-hint{font-size:12px;margin:9px 0}.selected-color{font-size:13px;color:var(--green);margin:9px 0}.color-option[aria-pressed=true]{outline:1px solid var(--green)}
#imageModal{z-index:75}#imageModal>.modal{width:min(880px,100%)}#imageViewer{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:12px;background:#f4f7f5}.image-viewer-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.image-viewer-tools .image-counter{margin:0}#imageModal.zoomed .image-viewer-wrap{overflow:auto;display:block;max-height:65vh;touch-action:pan-x pan-y}#imageModal.zoomed #imageViewer{width:200%;max-width:none;max-height:none;object-fit:contain}#imageModal.zoomed .image-viewer-nav{display:none}#imageThumbs:empty{display:none}#storageNotice{font-size:12px;line-height:1.7}#qrPreview{width:min(240px,100%);height:180px;max-height:180px;object-fit:contain}
@media(max-width:600px){.catalog-filters{padding:0 12px 14px}.filter-row select{max-width:100%;flex:1}.chat-modal{padding:14px}.chat-layout{flex-direction:column;gap:4px}#chatThreads{width:100%;max-height:110px;display:flex;gap:7px}.chat-thread{min-width:150px;width:150px}.chat-messages{height:38dvh}.message{max-width:94%}.chat-compose button{padding:8px 12px}.admin-row{grid-template-columns:1fr}.admin-row .admin-order-actions{margin-top:5px}.product-name{min-height:43px}.price{font-size:17px}.card-actions{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:6px}.buy-now,.add{font-size:13px;padding:8px 4px}.detail-photo{height:210px}}
.collection-auto-hint{min-height:42px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f6faf7;font-weight:650}

/* Product photos retain their natural proportions; photos remain fully visible. */
.grid{align-items:start}.product-image{height:auto;display:block;padding:0}.product-image img{display:block;width:100%;height:auto;object-fit:contain}.product-image>span:not(.photo-count){display:block;padding:32px 0}
.product-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 14px}.product-titles{min-width:0;flex:1;overflow-wrap:anywhere}.product-heading .product-name{min-height:0}.product-heading .product-sub{min-height:0;margin-top:4px}.product-heading .price{flex:0 0 auto;text-align:right;margin:0;white-space:nowrap}.detail-heading{margin-top:16px}.detail-heading h2{font-size:22px;overflow-wrap:anywhere}
.detail-photo{height:auto;min-height:0;display:block}.detail-photo img{display:block;width:100%;height:auto;object-fit:contain}.detail-photo>span:not(.gallery-counter){display:block;padding:32px 0;text-align:center}.gallery-thumb img{object-fit:contain}
.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 10px}.quantity-row>label{font-weight:750}.quantity-selector{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden}.quantity-selector button{width:44px;height:44px;background:var(--mint);color:var(--green);font-size:20px}.quantity-selector input{width:64px;min-width:0;height:44px;text-align:center;border:0;border-radius:0;background:#fff;color:var(--ink);appearance:textfield;-moz-appearance:textfield}.quantity-selector input::-webkit-inner-spin-button,.quantity-selector input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-selector button:disabled,.quantity-selector input:disabled{opacity:.45;cursor:not-allowed}.detail-total{display:flex;justify-content:space-between;gap:12px;margin:14px 0;font-size:18px}.detail-total strong{color:var(--green)}.detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-actions button{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.product-heading{gap:6px}.card .product-heading .price{font-size:clamp(12px,3.4vw,16px)}.card .product-name{font-size:14px}.card .product-sub{font-size:11px}.detail-heading .price{font-size:17px}}

#detailModal>.modal{display:flex;flex-direction:column;max-height:92vh;max-height:min(92dvh,calc(100dvh - 32px));overflow:hidden;padding:0}
#detailModal .detail-header{flex:0 0 auto;background:#fff;padding:16px 18px;border-bottom:1px solid var(--line);z-index:3}
#detailModal #closeDetail{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;padding:0;touch-action:manipulation}
#detailContent{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:12px 18px 22px;scrollbar-gutter:stable}
.order-purge-bar{margin:12px 0;padding:12px;background:#fff7f4;border:1px solid #efd6cf;border-radius:12px}.order-purge-bar p{font-size:12px;margin:8px 0 0}.purge-select{display:flex;align-items:flex-start;gap:8px;min-width:0}.purge-select input{flex:0 0 20px;width:20px;height:20px;margin:0}.purge-select strong{overflow-wrap:anywhere}

/* Fit the available screen without disabling the customer's pinch zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.app,.brand,.hero>div:first-child,.brand>span,.cart-info,.drawer-head>div,.drawer-head>h2,.admin-product-info>div,.field,.color-picker{min-width:0}
.brand>span,.hero h1,.hero p,.cart-info,.drawer-head>div,.drawer-head>h2,.admin-product-info>div,.stat,.feedback-item,.color-option{overflow-wrap:anywhere}
.brand-mark,.cart-photo,.cart-emoji,.admin-product-photo,.hero-art{flex-shrink:0}
.drawer-head{gap:8px}.drawer-head>.close{flex:0 0 44px;width:44px;height:44px;padding:0}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.color-picker,.color-option{max-width:100%}.color-picker{min-inline-size:0}
#payOrderNo,#deliverySummary p>span{min-width:0;overflow-wrap:anywhere}
.drawer-panel,.modal{min-width:0;max-width:100%}
.modal{max-height:calc(100dvh - 32px)}
.filter-row>*,.field input,.field select,.field textarea{min-width:0;max-width:100%}
.bottom-nav .nav-btn{min-width:0;flex:1;overflow-wrap:anywhere;padding:0 4px}
@media(pointer:coarse){input,select,textarea{font-size:16px;max-width:100%}}
@media(max-width:600px){
  /* A 16px control font avoids focus-triggered zoom in mobile Safari. */
  input,select,textarea{font-size:16px;max-width:100%}
  .topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding:10px 12px}
  .brand{max-width:100%;gap:8px;font-size:14px}.brand-mark{width:34px;height:34px}
  .actions{max-width:100%;gap:5px;flex-wrap:wrap}
  .hero{gap:12px;margin:12px 12px 0;padding:18px}.hero h1{font-size:24px;line-height:1.4}.hero-art{font-size:38px}
  .toolbar{padding:12px}.search{min-width:0}
  .filter-tabs{display:grid;grid-template-columns:minmax(0,.65fr) repeat(2,minmax(0,1.25fr));gap:6px;overflow:visible;padding-bottom:4px}
  .filter-tabs button{min-width:0;min-height:44px;padding:7px 5px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5;border-radius:12px}
  .filter-row select{flex:1 1 120px;width:0}.filter-row input[type=search]{min-width:0;flex-basis:160px}
  .section-head,.recommendation-head{flex-wrap:wrap;gap:8px;align-items:center}
  .card .product-heading{flex-wrap:wrap}.card .product-titles{flex:1 1 40px}
  .card .product-heading .price{max-width:100%;margin-left:auto;white-space:normal;overflow-wrap:anywhere}
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{min-width:0;padding:12px}.stat strong{font-size:22px}.admin-grid .stat:last-child{grid-column:1/-1}
  .admin-row,.form-row{grid-template-columns:minmax(0,1fr)}
  .drawer-panel{padding:16px 12px calc(20px + env(safe-area-inset-bottom))}
  .cart-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px}
  .cart-photo,.cart-emoji{width:44px;height:44px}.cart-item>strong{grid-column:2;text-align:right;overflow-wrap:anywhere}
  .modal-wrap{padding:12px}.modal{padding:16px;max-height:calc(100dvh - 24px)}
  .detail-heading{flex-wrap:wrap}.detail-heading .price{margin-left:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  #detailModal>.modal{max-height:calc(100dvh - 24px)}
  #detailContent{padding:12px 14px 18px}.detail-total{flex-wrap:wrap}.detail-total strong{margin-left:auto;overflow-wrap:anywhere}
  .chat-layout,.chat-main,.chat-compose{min-width:0}.chat-compose button{max-width:35%;overflow-wrap:anywhere}
  #customerOrderFilter{display:block;margin:12px 0;max-width:100%}
}

.register-page{min-height:100dvh;background:#f6f8f6}
.register-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px max(18px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}
.register-topbar .brand{text-decoration:none;min-width:0;overflow-wrap:anywhere}
.register-main{width:min(440px,calc(100% - 24px));margin:36px auto 60px}
.register-form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}
.register-form h1{font-size:22px;line-height:1.3;margin:0 0 20px}
.register-form .field{margin:14px 0}
.register-form .error{min-height:20px}
.register-back{display:block;text-align:center;text-decoration:none;margin-top:10px}
@media(max-width:600px){.register-topbar{flex-wrap:wrap}.register-main{margin:18px auto 30px}.register-form{padding:18px}}

.drawer-tools{display:flex;align-items:center;gap:8px;min-width:0}
.drawer-tools .mini{flex:0 1 auto}
.cart-item-end{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0;text-align:right}
.cart-item-end strong{overflow-wrap:anywhere}
.translate-product-btn{margin-top:8px}
#translateHint{font-size:12px;margin-top:5px}
.bottom-nav #cartCount{right:-12px;top:-5px}
@media(max-width:600px){
  body{font-size:21px}
  .topbar .brand,.register-topbar .brand{font-size:21px}
  .hero h1{font-size:30px}
  .bottom-nav .nav-btn{font-size:18px;line-height:1.2}
  .filter-tabs button{font-size:17px}
  .card .product-name{font-size:21px}
  .card .product-sub,.category-label,.color-summary,.cart-variant{font-size:17px}
  .card .product-heading .price,.detail-heading .price{font-size:21px}
  .buy-now,.add,.mini,.chat-compose button{font-size:18px}
  .field label,.check-label,.order-line,.notice,.auth-note{font-size:18px}
  input,select,textarea{font-size:20px}
  .message-translation,.message small,.chat-modal>p,.chat-disclosure,.chat-thread small{font-size:18px}
  .register-form h1{font-size:28px}
  .cart-item-end{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;text-align:left}
}
