:root{--brand:#0284c7;--brand-hover:#0369a1;--brand-dark:#075985;--brand-light:#e0f2fe;--brand-surface:#f0f9ff;--brand-border:#bae6fd;--ink:#0f172a;--ink-secondary:#334155;--muted:#64748b;--line:#e2e8f0;--line-subtle:#f8fafc;--card:#fff;--soft:#f0f9ff;--danger:#ef4444;--danger-light:#fef2f2;--success:#10b981;--success-light:#ecfdf5;--warning:#f59e0b;--warning-light:#fffbeb;--shadow-sm:0 1px 3px 0 #0f172a0a;--shadow:0 4px 16px -2px #0f172a0d, 0 2px 4px -1px #0f172a08;--shadow-lg:0 12px 28px -4px #0f172a14, 0 4px 10px -2px #0f172a08;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;color:var(--ink);font-synthesis:none;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;background:#f8fafc;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;background:#f8fafc;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{min-height:100vh;padding-bottom:96px}.topbar{z-index:20;-webkit-backdrop-filter:blur(20px);background:#ffffffe0;border-bottom:1px solid #e2e8f0cc;position:sticky;top:0}.topbar-inner{align-items:center;gap:16px;width:min(1120px,100% - 32px);min-height:68px;margin:0 auto;display:flex}.brand{align-items:center;min-width:140px;display:inline-flex}.brand img{object-fit:contain;object-position:left center;width:140px;height:42px}.header-status-pill{border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:6px 13px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.header-status-pill.is-open{background:var(--success-light);color:#065f46;border-color:#a7f3d0}.header-status-pill.is-closed{background:var(--danger-light);color:#991b1b;border-color:#fecaca}.status-pulse-wrap{justify-content:center;align-items:center;width:8px;height:8px;display:flex;position:relative}.status-pulse-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.header-status-pill.is-closed .status-pulse-dot{background:var(--danger)}.status-pulse-ring{background:var(--success);opacity:.45;border-radius:50%;width:100%;height:100%;animation:2.2s cubic-bezier(0,0,.2,1) infinite status-ping;position:absolute}@keyframes status-ping{0%{opacity:.6;transform:scale(1)}75%,to{opacity:0;transform:scale(2.4)}}.header-actions{align-items:center;gap:8px;display:flex}.header-icon,.icon-button{width:40px;height:40px;color:var(--ink-secondary);background:0 0;border:0;border-radius:12px;place-items:center;transition:all .15s;display:inline-grid}.header-icon:hover,.icon-button:hover{color:var(--ink);background:#f1f5f9}.menu-popover{border:1px solid var(--line);border-radius:var(--radius-lg);width:min(290px,100% - 32px);box-shadow:var(--shadow-lg);background:#fff;padding:8px;animation:.18s cubic-bezier(.16,1,.3,1) popover-in;position:absolute;top:66px;right:max(16px,50% - 560px)}@keyframes popover-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.menu-user{border-bottom:1px solid var(--line-subtle);margin-bottom:4px;padding:10px 14px 14px}.menu-user strong,.menu-user span{display:block}.menu-user strong{color:var(--ink);font-size:14px;font-weight:800}.menu-user span{color:var(--muted);margin-top:2px;font-size:12px}.menu-item{width:100%;color:var(--ink-secondary);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:600;transition:all .12s;display:flex}.menu-item:hover{color:var(--ink);background:#f1f5f9}.menu-danger{color:var(--danger)}.menu-danger:hover{background:var(--danger-light);color:var(--danger)}.page-container{width:min(1120px,100% - 32px);margin:0 auto;padding:24px 0 20px}.page-header{justify-content:space-between;align-items:center;gap:18px;margin:18px 0 16px;display:flex}.page-header h1,.detail-content h1,.auth-card h1,.about-card h1,.hero-card h1{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(24px,3.5vw,32px);font-weight:800;line-height:1.15}.page-detail,.hero-copy,.detail-description,.auth-card>p:not(.eyebrow),.about-card>p:not(.eyebrow){max-width:560px;color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.eyebrow{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.muted{color:var(--muted)}.text-link{color:var(--brand-dark);align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:18px;font-size:13px;font-weight:700;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--brand-dark)}.back-link.centered{justify-content:center;width:100%;margin:20px 0 0}.hero-card{border-radius:var(--radius-xl);border:1px solid var(--brand-border);min-height:160px;color:var(--ink);background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 55%,#fff 100%);flex-direction:column;justify-content:center;margin:4px 0 20px;padding:clamp(24px,4vw,36px);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0284c714}.hero-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#0ea5e929,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-40px;right:-30px}.hero-card h1{color:#0f172a;font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.2}.hero-card h1 em{color:var(--brand);font-style:normal}.hero-card .eyebrow{color:var(--brand);letter-spacing:.06em;font-size:12px;font-weight:800}.hero-card .hero-copy{color:#475569;max-width:480px;margin:6px 0 0;font-size:14.5px}.catalog-header{justify-content:space-between;align-items:baseline;margin:18px 0 14px;padding:0 2px;display:flex}.catalog-title{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:800}.catalog-count{color:var(--muted);font-size:13px;font-weight:600}.catalog-toolbar{gap:12px;margin-bottom:12px;display:flex}.search-box{border:1px solid var(--line);border-radius:var(--radius-md);width:min(440px,100%);color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0284c71f}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:12px 0;font-size:14px}.search-clear{width:24px;height:24px;color:var(--muted);background:#f1f5f9;border:0;border-radius:50%;place-items:center;padding:0;transition:all .15s;display:grid}.search-clear:hover{color:var(--ink);background:#e2e8f0}.category-row{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.category-row::-webkit-scrollbar{display:none}.category-chip{border:1px solid var(--line);color:#475569;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;flex:none;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.category-chip:hover{border-color:var(--brand-border);color:var(--brand);background:var(--brand-surface)}.category-chip.active{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 4px 12px #0284c740}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.product-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--brand-border);transform:translateY(-2px);box-shadow:0 8px 24px -4px #0284c71f}.product-image-wrap{aspect-ratio:1;background:#f1f5f9;display:block;position:relative;overflow:hidden}.product-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.16,1,.3,1)}.product-card:hover .product-image-wrap img{transform:scale(1.05)}.image-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.02em;background:#0f172ac2;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.image-badge.is-sold-out{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#dc2626;border:1px solid #ffffff4d;font-size:11px;font-weight:800;box-shadow:0 2px 8px #dc262673}.product-card.is-unavailable .product-image-wrap img{filter:grayscale(.5);opacity:.85}.product-card.is-unavailable .product-title{color:var(--ink-light,#475569)}.product-card-body{flex-direction:column;flex:1;padding:14px 15px 16px;display:flex}.product-card-body .eyebrow{text-overflow:ellipsis;white-space:nowrap;color:var(--brand);margin-bottom:3px;font-size:11.5px;font-weight:700;overflow:hidden}.product-title{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;min-height:38px;font-size:15px;font-weight:700;line-height:1.35;transition:color .15s;display:-webkit-box;overflow:hidden}.product-title:hover{color:var(--brand)}.product-meta-row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0 14px;display:flex}.product-price{color:var(--brand-dark);margin:0;font-size:15px;font-weight:800}.badge-habis-pill{color:#b91c1c;letter-spacing:.02em;background:#fee2e2;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.product-card-actions{margin-top:auto;display:flex}.product-card-actions .btn{width:100%}.product-card-actions .btn-disabled,.product-card-actions .btn:disabled{color:#94a3b8;cursor:not-allowed;opacity:.85;background:#f1f5f9;border-color:#e2e8f0}.btn{border-radius:var(--radius-md);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 18px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 3px 10px #0284c740}.btn-primary:hover:not(:disabled){background:var(--brand-hover);box-shadow:0 4px 14px #0284c759}.btn-secondary{border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-dark);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--brand-light);color:var(--brand-dark);border-color:#7dd3fc}.btn-google{color:#3c4043;background:#fff;border-color:#dadce0;font-weight:600;box-shadow:0 1px 3px #3c404314}.btn-google:hover:not(:disabled){color:#202124;background:#f8f9fa;border-color:#c6c9cc;box-shadow:0 2px 6px #3c404326}.btn-danger{background:var(--danger);color:#fff;border-color:#0000;box-shadow:0 4px 14px #ef444438}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 18px #ef444452}.btn-status-toggle{border-radius:var(--radius-full);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;min-height:32px;padding:4px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.btn-status-toggle .status-dot{border-radius:50%;width:7px;height:7px}.btn-status-toggle.is-available{background:var(--success-light);color:#065f46;border-color:#a7f3d0}.btn-status-toggle.is-available .status-dot{background:var(--success)}.btn-status-toggle.is-available:hover{background:#d1fae5}.btn-status-toggle.is-unavailable{background:var(--danger-light);color:#991b1b;border-color:#fecaca}.btn-status-toggle.is-unavailable .status-dot{background:var(--danger)}.btn-status-toggle.is-unavailable:hover{background:#fee2e2}.admin-product-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.admin-product-price{color:var(--brand-dark);font-size:13.5px;font-weight:800}.admin-product-variant-tag{background:var(--brand-surface);border:1px solid var(--brand-border);color:var(--brand-dark);border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-block}.top-product-qty{color:var(--muted);font-size:12px;font-weight:600}.btn-small{border-radius:var(--radius-sm);min-height:34px;padding:6px 12px;font-size:12px}.btn.full,.grow{width:100%}.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-box,.skeleton-line,.skeleton-pill,.skeleton-bar{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 37%,#f1f5f9 63%) 0 0/400% 100%;animation:1.4s infinite skeleton-shimmer}.skeleton-line{border-radius:4px}.skeleton-image{aspect-ratio:1;border-radius:var(--radius-xl);width:100%}.variant-skeleton-loader{margin:20px 0 0}.detail-layout{grid-template-columns:minmax(0,1fr) minmax(340px,1fr);align-items:start;gap:clamp(28px,5vw,64px);padding-top:10px;display:grid}.detail-image{border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:1;background:#f1f5f9;position:sticky;top:92px;overflow:hidden}.detail-image img{aspect-ratio:1;object-fit:cover;width:100%}.detail-content{padding-top:4px}.detail-content h1{font-size:clamp(26px,4vw,36px)}.detail-price{color:var(--brand-dark);margin:10px 0 16px;font-size:24px;font-weight:900}.detail-description{margin-bottom:24px;line-height:1.6}.variant-fieldset{border:0;margin:20px 0 0;padding:0}.variant-fieldset legend{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:800}.variant-options{flex-wrap:wrap;gap:8px;display:flex}.variant-option{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-secondary);background:#fff;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.variant-option:hover{color:var(--ink);border-color:#cbd5e1}.variant-option.active{border-color:var(--brand);background:var(--brand-surface);color:var(--brand-dark);box-shadow:0 0 0 2px #0284c72e}.variant-option.is-out-of-stock{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.variant-option.is-out-of-stock:hover{color:var(--ink);border-color:#cbd5e1}.variant-option.active.is-out-of-stock{color:#991b1b;background:#fff5f5;border-color:#f87171;box-shadow:0 0 0 2px #ef444426}.variant-stock-tag{color:#b91c1c;letter-spacing:.02em;background:#fee2e2;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1;display:inline-block}.variant-out-banner{border-radius:var(--radius-md);color:#991b1b;background:#fff5f5;border:1px solid #fecaca;align-items:flex-start;gap:10px;margin:18px 0;padding:12px 14px;display:flex}.variant-out-banner strong{font-size:13px;font-weight:800;display:block}.variant-out-banner p{color:#b91c1c;margin:2px 0 0;font-size:12px}.badge-out-of-stock{vertical-align:middle;color:#b91c1c;background:#fee2e2;border-radius:999px;margin-left:10px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.purchase-row{align-items:center;gap:12px;margin-top:24px;display:flex}.purchase-section{flex-direction:column;gap:16px;margin-top:24px;display:flex}.purchase-quantity-row{align-items:center;gap:14px;display:flex}.purchase-label{color:var(--ink-secondary);font-size:13.5px;font-weight:700}.purchase-actions{align-items:center;gap:12px;display:flex}.purchase-actions .btn{flex:1;justify-content:center;min-height:44px;padding:10px 16px;font-size:14px;font-weight:700}.purchase-actions .btn-add-cart{background:var(--brand-surface);color:var(--brand-dark);border:1px solid var(--brand-border)}.purchase-actions .btn-add-cart:hover:not(:disabled){border-color:var(--brand);background:#e0f2fe}.purchase-actions .btn-buy-now{background:var(--brand);color:#fff;border:1px solid #0000;box-shadow:0 2px 8px #0ea5e959}.purchase-actions .btn-buy-now:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 4px 12px #0ea5e973}.quantity-control{border:1px solid var(--line);border-radius:var(--radius-md);width:128px;height:42px;box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:3px;display:inline-flex}.quantity-control button{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink);background:#f1f5f9;border:0;place-items:center;transition:all .12s;display:grid}.quantity-control button:hover{background:var(--brand-surface);color:var(--brand-dark)}.quantity-control strong{text-align:center;min-width:24px;font-size:14px;font-weight:800}.quantity-control.compact{width:100px;height:34px}.quantity-control.compact button{width:28px;height:28px}.cart-layout,.checkout-layout,.detail-columns{grid-template-columns:minmax(0,1fr) minmax(290px,350px);align-items:start;gap:22px;display:grid}.cart-list,.order-list{gap:12px;display:grid}.cart-line{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.cart-line.is-invalid{background:var(--danger-light);border-color:#fecaca}.cart-line>img{border-radius:var(--radius-md);object-fit:cover;background:#f1f5f9;width:80px;height:80px}.line-variant,.line-price{margin:3px 0 0;font-size:12px;display:block}.line-variant{color:var(--muted)}.line-price{color:var(--brand-dark);font-size:14px;font-weight:800}.line-warning{color:var(--danger);margin-top:5px;font-size:11px;font-weight:700;display:block}.cart-line-actions{align-items:center;gap:8px;display:flex}.icon-button.danger{color:var(--muted)}.icon-button.danger:hover{color:var(--danger);background:var(--danger-light)}.summary-card,.form-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:22px}.summary-card{position:sticky;top:92px}.summary-card h2,.form-card h2{letter-spacing:-.02em;margin:0 0 16px;font-size:18px;font-weight:800}.summary-row,.summary-total{color:var(--muted);justify-content:space-between;gap:14px;padding:8px 0;font-size:13px;display:flex}.summary-row strong,.summary-total strong{color:var(--ink)}.summary-total{border-top:1px solid var(--line);color:var(--ink);margin:8px 0 16px;padding-top:14px;font-size:16px;font-weight:800}.summary-total strong{color:var(--brand-dark);font-size:18px;font-weight:900}.summary-note{color:var(--muted);margin:8px 0 18px;font-size:12px;line-height:1.45}.summary-item{border-bottom:1px solid var(--line-subtle);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.summary-item span{display:block}.summary-item small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.payment-options-grid{grid-template-columns:1fr;gap:12px;margin-top:10px;display:grid}.payment-option-card{border:1.5px solid var(--line);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:flex-start;gap:14px;padding:16px;transition:all .15s;display:flex}.payment-option-card:hover{background:#f8fafc;border-color:#cbd5e1}.payment-option-card.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:#0d94880a}.payment-option-radio{align-items:center;margin-top:2px;display:flex}.payment-option-radio input[type=radio]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.payment-option-content{flex:1}.payment-option-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.payment-option-header strong{color:var(--ink);font-size:14.5px;font-weight:700}.payment-option-desc{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.badge-payment-status{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.badge-payment-status.ready{color:#166534;background:#dcfce7}.badge-payment-status.prep{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.payment-option-card.disabled{opacity:.68;cursor:not-allowed;border-color:var(--line,#e2e8f0);background:#f8fafc}.payment-option-card.disabled:hover{border-color:var(--line,#e2e8f0);background:#f8fafc}.payment-option-card.disabled input[type=radio]{cursor:not-allowed}.payment-footnote{border-radius:var(--radius-sm);color:var(--muted);background:#f8fafc;align-items:center;gap:7px;margin-top:12px;padding:8px 12px;font-size:12px;line-height:1.4;display:flex}.payment-footnote .icon{color:var(--muted);flex-shrink:0}.payment-qris-notice{border-radius:var(--radius-md);color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 14px;font-size:12.5px;line-height:1.45;display:flex}.payment-qris-notice strong{color:#115e59;margin-bottom:2px;display:block}.payment-qris-notice p{margin:0}.badge-payment{letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge-payment.cod{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.badge-payment.qris{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-payment-sm{text-transform:uppercase;border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.badge-payment-sm.cod{color:#475569;background:#f1f5f9}.badge-payment-sm.qris{color:#92400e;background:#fef3c7}.order-qris-help-box{border-radius:var(--radius-sm);color:#92400e;background:#fffbeb;border:1px solid #fef3c7;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;font-size:12px;display:flex}.order-qris-help-box p{margin:0}.order-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:16px 18px;transition:all .15s;display:block}.order-card:hover{box-shadow:var(--shadow);border-color:#cbd5e1;transform:translateY(-1px)}.order-card-top,.order-card-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-card-top strong{color:var(--ink);font-size:15px;font-weight:800}.order-card-items{color:var(--ink);margin:4px 0 2px;font-size:13px;font-weight:600;line-height:1.4}.order-card-hint{color:var(--brand-dark);background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-sm);align-items:center;gap:6px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.order-card p{color:var(--muted);margin:4px 0 8px;font-size:12px}.order-card-bottom{color:var(--brand-dark);font-size:14px;font-weight:800}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-new{color:#0369a1;background:#e0f2fe}.status-processing{color:#92400e;background:#fef3c7}.status-shipping{color:#5b21b6;background:#ede9fe}.status-completed{color:#166534;background:#dcfce7}.status-cancelled{color:#991b1b;background:#fee2e2}.order-tracker{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:repeat(4,1fr);margin:0 0 22px;padding:22px 14px;display:grid;position:relative}.tracker-step{text-align:center;z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.tracker-step:before{content:"";background:var(--line);z-index:-1;width:100%;height:3px;position:absolute;top:17px;left:-50%}.tracker-step:first-child:before{display:none}.tracker-step.is-done:before,.tracker-step.is-current:before{background:var(--brand)}.tracker-icon{border:2px solid var(--line);width:36px;height:36px;color:var(--muted);background:#f1f5f9;border-radius:50%;place-items:center;transition:all .2s;display:grid}.tracker-step.is-done .tracker-icon{background:var(--brand);border-color:var(--brand);color:#fff}.tracker-step.is-current .tracker-icon{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-light);background:#fff}.tracker-label{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700}.tracker-step.is-done .tracker-label,.tracker-step.is-current .tracker-label{color:var(--ink);font-weight:800}.order-cancelled-banner{border-radius:var(--radius-lg);background:var(--danger-light);color:#991b1b;border:1px solid #fecaca;align-items:center;gap:12px;margin-bottom:22px;padding:16px 18px;display:flex}.order-status-banner{border-radius:var(--radius-md);align-items:center;gap:10px;margin:-10px 0 20px;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.status-banner-new{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd}.status-banner-processing{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.status-banner-shipping{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe}.status-banner-completed{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.phone-contact-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.phone-link{color:var(--brand,#0284c7);text-underline-offset:2px;font-weight:600;text-decoration:underline}.whatsapp-btn{background:#22c55e;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:700;transition:opacity .15s,transform .15s;display:inline-flex;color:#fff!important;text-decoration:none!important}.whatsapp-btn:hover{opacity:.9;transform:translateY(-1px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:6px;margin-bottom:16px;display:grid}.field-label{color:var(--ink);font-size:13px;font-weight:700}.field-label-row{justify-content:space-between;align-items:center;width:100%;display:flex}.subtle-info-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:3px;padding:0 4px;font-size:12px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.subtle-info-btn:hover{color:var(--brand)}.subtle-info-btn .icon{opacity:.7;transition:opacity .15s}.subtle-info-btn:hover .icon{opacity:1}.field-hint{color:var(--muted);font-size:11px}.input{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;outline:0;padding:10px 14px;font-size:13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0284c71f}.input:disabled{color:var(--muted);background:#f8fafc}.textarea{resize:vertical;min-height:96px}.form-error{color:var(--danger);margin:10px 0 0;font-size:12px;font-weight:600}.profile-form{max-width:620px}.data-list{gap:14px;margin:0;display:grid}.data-list div{gap:3px;display:grid}.data-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.data-list dd{color:var(--ink);white-space:pre-wrap;margin:0;font-size:13px;font-weight:700}.order-item{border-bottom:1px solid var(--line-subtle);justify-content:space-between;gap:14px;padding:12px 0;font-size:13px;display:flex}.order-item small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.chat-layout{grid-template-columns:280px minmax(0,1fr);gap:18px;min-height:600px;display:grid}.chat-layout:not(.chat-staff){max-width:760px;margin:0 auto;display:block}.chat-buyers,.chat-panel{border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fff;padding:20px}.chat-buyers .page-header{margin-top:0}.buyer-row{border:0;border-top:1px solid var(--line-subtle);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 8px;transition:all .12s;display:flex}.buyer-row.active{background:var(--soft)}.buyer-row strong,.buyer-row small{display:block}.buyer-row strong{font-size:13px}.buyer-row small{color:var(--muted);font-size:11px}.avatar-small{background:var(--brand-light);width:36px;height:36px;color:var(--brand-dark);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.chat-panel{flex-direction:column;min-height:600px;display:flex}.chat-panel .page-header{margin-top:0}.messages{flex:1;align-content:start;gap:10px;min-height:360px;padding:8px 0 18px;display:grid;overflow-y:auto}.message{border:1px solid var(--line);max-width:min(84%,480px);box-shadow:var(--shadow-sm);background:#f8fafc;border-radius:16px 16px 16px 4px;justify-self:start;padding:10px 14px}.message.mine{background:var(--brand-surface);border:1px solid var(--brand-light);border-radius:16px 16px 4px;justify-self:end}.message p{white-space:pre-wrap;word-break:break-word;color:var(--ink);margin:0;font-size:13.5px;line-height:1.5}.message small{color:var(--muted);margin-top:5px;font-size:10.5px;font-weight:500;display:block}.chat-date-separator{grid-column:1/-1;align-items:center;gap:12px;width:100%;margin:14px 0 6px;display:flex}.chat-date-separator:before,.chat-date-separator:after{content:"";background:var(--line);flex:1;height:1px}.chat-date-separator span{border:1px solid var(--line);color:var(--muted);letter-spacing:.02em;background:#fff;border-radius:999px;flex-shrink:0;padding:3px 12px;font-size:11px;font-weight:700;box-shadow:0 1px 2px #0f172a0a}.message-meta-staff{border-top:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:5px;font-size:11px;display:flex}.message.mine .message-meta-staff{border-top-color:#0284c726}.message-author{align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.message-author strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:11px;font-weight:700;overflow:hidden}.role-badge{letter-spacing:.02em;text-transform:capitalize;white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.35;display:inline-block}.role-badge.role-buyer{color:#334155;background:#e2e8f0}.role-badge.role-seller{color:#0369a1;background:#e0f2fe}.role-badge.role-admin{color:#b45309;background:#fef3c7}.message-time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10px;font-weight:600}.chat-form{border-top:1px solid var(--line-subtle);gap:10px;padding-top:14px;display:flex}.auth-card,.about-card{border:1px solid var(--line);border-radius:var(--radius-xl);max-width:420px;box-shadow:var(--shadow-lg);text-align:center;background:#fff;margin:clamp(36px,10vh,100px) auto;padding:38px 30px}.auth-card img,.about-card img{object-fit:contain;width:180px;height:60px;margin:0 auto 20px}.auth-card h1,.about-card h1{font-size:26px}.auth-card>p:not(.eyebrow),.about-card>p:not(.eyebrow){margin:10px auto 24px}.empty-state,.loading-page{text-align:center;place-items:center;min-height:260px;padding:36px 20px;display:grid}.empty-icon{border-radius:var(--radius-lg);background:var(--brand-surface);width:58px;height:58px;color:var(--brand);place-items:center;margin-bottom:14px;display:grid}.empty-icon .icon{width:28px;height:28px}.empty-state h2{margin:0;font-size:18px;font-weight:800}.empty-state p{max-width:360px;color:var(--muted);margin:6px 0 18px;font-size:13px}.loader{border:3px solid #e2e8f0;border-top-color:var(--brand);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin}.loading-page p{color:var(--muted);margin:12px 0 0;font-size:13px}.route-progress{z-index:100;background:#e0f2fe;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.route-progress span{background:var(--brand);width:42%;height:100%;animation:1s ease-in-out infinite progress;display:block}.icon{vertical-align:middle;flex-shrink:0;width:20px;height:20px;display:inline-block}.icon-xs{width:13px;height:13px}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}.icon-xl{width:32px;height:32px}.toast{z-index:80;border:1px solid var(--line);border-radius:var(--radius-md);max-width:min(380px,100% - 40px);box-shadow:var(--shadow-lg);color:var(--ink);background:#fff;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:700;transition:bottom .35s cubic-bezier(.16,1,.3,1);animation:.22s cubic-bezier(.16,1,.3,1) toast-in;display:inline-flex;position:fixed;bottom:86px;right:20px}.toast .icon{flex-shrink:0}.toast-success{background:#f0fdf4;border-color:#a7f3d0}.toast-success .icon{color:var(--success)}.toast-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.toast-error .icon{color:var(--danger)}.modal-backdrop{z-index:999;-webkit-backdrop-filter:blur(8px);background:#0f172a85;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) modalBackdropFade;display:flex;position:fixed;inset:0}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}.modal-dialog{border-radius:var(--radius-xl);background:#fff;border:1px solid #e2e8f0e6;flex-direction:column;width:100%;max-width:420px;padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) modalDialogZoom;display:flex;position:relative;box-shadow:0 24px 48px -12px #0f172a38,0 0 0 1px #0f172a0a}@keyframes modalDialogZoom{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header-row{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.modal-icon-badge{border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;transition:transform .15s;display:grid}.modal-icon-badge.modal-icon-danger{color:#dc2626;background:#fee2e2;box-shadow:0 0 0 4px #fef2f2}.modal-icon-badge.modal-icon-warning{color:#d97706;background:#fef3c7;box-shadow:0 0 0 4px #fffbeb}.modal-icon-badge.modal-icon-primary{background:var(--brand-light);color:var(--brand-dark);box-shadow:0 0 0 4px var(--brand-surface)}.modal-content{flex:1;min-width:0}.modal-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:800;line-height:1.3}.modal-message{color:var(--muted);word-break:break-word;margin:0;font-size:13.5px;line-height:1.55}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-btn-cancel{flex:1}.modal-btn-confirm{flex:1.2}@media (max-width:480px){.modal-backdrop{align-items:flex-end;padding:16px}.modal-dialog{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);max-width:100%;padding:22px 18px}}.modal-close{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-muted,#f8fafc);width:34px;height:34px;color:var(--muted);cursor:pointer;z-index:2;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--surface);color:var(--ink)}.about-modal-card{text-align:center;max-width:380px;padding:32px 24px 24px}.about-modal-logo{object-fit:contain;width:140px;height:56px;margin:0 auto 16px}.about-modal-title{color:var(--ink);margin:0 0 8px;font-size:20px;font-weight:800}.about-modal-desc{color:var(--muted);margin:0 0 20px;font-size:13.5px;line-height:1.55}.about-modal-footer{border-top:1px solid var(--line);padding-top:16px}.about-modal-credit{color:var(--muted);margin:0;font-size:13px}.about-credit-link{color:var(--brand);text-underline-offset:2px;font-weight:700;text-decoration:underline;transition:color .15s}.about-credit-link:hover{color:var(--brand-dark)}.guide-modal-dialog{flex-direction:column;max-width:480px;max-height:90vh;padding:22px;display:flex;overflow:hidden}.guide-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.guide-header-title-wrap{align-items:center;gap:12px;display:flex}.guide-badge-icon{border-radius:var(--radius-lg);background:var(--brand-surface);border:1px solid var(--brand-light);width:42px;height:42px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.guide-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.guide-subtitle{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.35;display:block}.guide-tab-nav{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-lg);gap:8px;margin-bottom:16px;padding:4px;display:flex}.guide-tab-btn{border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .18s;display:flex}.guide-tab-btn:hover{color:var(--ink)}.guide-tab-btn.is-active{color:var(--brand);background:#fff;box-shadow:0 2px 8px #00000014}.guide-modal-body{flex:1;margin-bottom:14px;padding-right:2px;overflow-y:auto}.guide-intro{color:var(--ink);margin:0 0 10px;font-size:13px;font-weight:600;line-height:1.45}.guide-callout-tip{background:var(--brand-surface);border:1px solid var(--brand-light);border-radius:var(--radius-md);align-items:flex-start;gap:10px;margin:12px 0 16px;padding:10px 12px;display:flex}.guide-tip-icon{font-size:16px;line-height:1.2}.guide-callout-tip p{color:var(--brand-dark);margin:0;font-size:12px;line-height:1.45}.guide-actions{margin-bottom:6px}.guide-modal-footer{border-top:1px solid var(--line);padding-top:12px}.shipping-modal-dialog{flex-direction:column;max-width:440px;max-height:85vh;padding:22px;display:flex;overflow:hidden}.shipping-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.shipping-modal-title-wrap{align-items:center;gap:12px;display:flex}.shipping-badge-icon{border-radius:var(--radius-lg);background:var(--brand-surface);border:1px solid var(--brand-light);width:40px;height:40px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.shipping-modal-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.shipping-modal-subtitle{color:var(--muted);margin-top:2px;font-size:12px;display:block}.shipping-modal-body{flex:1;margin-bottom:14px;padding-right:2px;overflow-y:auto}.shipping-village-list{flex-direction:column;gap:8px;display:flex}.shipping-village-card{border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;transition:all .15s;display:flex}.shipping-village-card:hover{background:#f8fafc;border-color:#cbd5e1}.shipping-village-name{color:var(--ink);font-size:13.5px;font-weight:700}.shipping-cost-pill{color:var(--brand-dark);background:var(--brand-surface);border:1px solid var(--brand-light);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:13px;font-weight:800;display:inline-flex}.shipping-cost-pill.is-free{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.shipping-empty-state{text-align:center;color:var(--muted);padding:24px 12px;font-size:13px}.shipping-modal-footer{border-top:1px solid var(--line);padding-top:12px}.install-dialog{max-width:440px;padding:24px}.install-modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.install-app-badge{align-items:center;gap:14px;display:flex}.install-app-icon{object-fit:contain;background:#fff;border-radius:14px;width:48px;height:48px;padding:2px;box-shadow:0 4px 12px #0284c733,0 0 0 1px #0000000a}.install-app-meta{flex-direction:column;display:flex}.install-app-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:18px;font-weight:800;line-height:1.25}.install-app-subtitle{color:var(--muted);margin-top:2px;font-size:12.5px}.install-modal-close{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-muted);width:34px;height:34px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.install-modal-close:hover{background:var(--surface);color:var(--ink)}.install-modal-body{margin-bottom:18px}.install-prompt-banner{background:var(--brand-surface);border:1px solid var(--brand-light);border-radius:var(--radius-lg);text-align:center;margin-bottom:16px;padding:18px}.install-prompt-banner p{color:var(--brand-dark);margin:0 0 14px;font-size:14px;font-weight:500;line-height:1.5}.install-cta-btn{padding:12px 18px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #0284c759}.install-steps-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.install-steps-intro{color:var(--ink);margin:0 0 6px;font-size:13.5px;font-weight:600;line-height:1.45}.install-step-item{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.install-step-number{border-radius:var(--radius-full);background:var(--brand);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:13px;font-weight:800;display:flex}.install-step-text{color:var(--muted);flex-direction:column;gap:2px;font-size:12.5px;line-height:1.45;display:flex}.install-step-text strong{color:var(--ink);font-size:13.5px;font-weight:700}.install-step-text b{color:var(--brand-dark)}.install-modal-perks{border-top:1px solid var(--line);gap:12px;margin-top:14px;padding-top:14px;display:flex}.install-perk-item{color:var(--muted);flex:1;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.install-perk-item svg{color:var(--brand);flex-shrink:0}.install-modal-actions{margin-top:0}.admin-dashboard-wrap{flex-direction:column;gap:0;display:flex}.action-pill-badge{background:var(--brand);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.admin-revenue-hero{color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:var(--radius-xl);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);grid-template-columns:1.35fr 1fr;align-items:center;gap:24px;margin-bottom:20px;padding:24px 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 16px -2px #0f172a0d,0 1px 2px #0f172a0a}.admin-revenue-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#0284c70f 0%,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-50px}.revenue-main-col{z-index:1;flex-direction:column;gap:12px;display:flex;position:relative}.revenue-hero-header{align-items:center;gap:12px;display:flex}.revenue-icon-badge{width:44px;height:44px;color:var(--brand);background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 6px #0284c714}.revenue-tag{letter-spacing:.06em;color:var(--brand);text-transform:uppercase;font-size:11px;font-weight:700;display:block}.revenue-hero-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:18px;font-weight:800}.revenue-amount-display strong{letter-spacing:-.04em;color:#0f172a;font-size:34px;font-weight:900;line-height:1.1}.revenue-pills-row{flex-wrap:wrap;gap:10px;display:flex}.revenue-sub-pill{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-full);color:var(--muted);align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:inline-flex}.revenue-sub-pill b{color:var(--ink)}.revenue-sub-pill svg{color:var(--brand)}.revenue-secondary-col{z-index:1;border-left:1px solid var(--line);flex-direction:column;gap:12px;padding-left:24px;display:flex;position:relative}.revenue-stat-box{flex-direction:column;gap:2px;display:flex}.revenue-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.revenue-stat-number{letter-spacing:-.03em;color:var(--ink);font-size:24px;font-weight:900}.revenue-stat-note{color:var(--muted);font-size:11.5px;line-height:1.35}.admin-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.admin-metric-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;background:#fff;flex-direction:column;padding:16px 18px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.admin-metric-card:hover{box-shadow:var(--shadow-md);border-color:#0284c766;transform:translateY(-2px)}.admin-metric-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.metric-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.icon-amber{color:#d97706;background:#fef3c7}.icon-blue{color:#0284c7;background:#e0f2fe}.icon-purple{color:#7e22ce;background:#f3e8ff}.icon-emerald{color:#15803d;background:#dcfce7}.metric-status-pill{border-radius:var(--radius-full);padding:3px 8px;font-size:10.5px;font-weight:700}.pill-urgent{color:#b91c1c;background:#fee2e2}.pill-neutral{color:#64748b;background:#f1f5f9}.pill-blue{color:#0369a1;background:#e0f2fe}.pill-purple{color:#6b21a8;background:#f3e8ff}.pill-emerald{color:#166534;background:#dcfce7}.pill-warning{color:#92400e;background:#fef3c7}.admin-metric-value{letter-spacing:-.04em;color:var(--ink);margin-bottom:2px;font-size:26px;font-weight:900;line-height:1.15;display:block}.metric-denom{color:var(--muted);letter-spacing:normal;font-size:14px;font-weight:600}.admin-metric-label{color:var(--ink);font-size:13px;font-weight:700;display:block}.admin-metric-desc{color:var(--muted);margin-top:4px;font-size:11.5px;line-height:1.35;display:block}.admin-dashboard-layout{grid-template-columns:1.25fr 1fr;align-items:flex-start;gap:20px;display:grid}.admin-side-stack{flex-direction:column;gap:20px;display:flex}.dashboard-empty-orders{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.dashboard-empty-orders svg{color:var(--line-dark)}.dashboard-orders-list{flex-direction:column;gap:8px;display:flex}.dashboard-order-row{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .15s;display:flex}.dashboard-order-row:hover{background:var(--surface);border-color:var(--brand-light);transform:translate(2px)}.order-row-main{flex:1;min-width:0}.order-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.order-row-title strong{color:var(--ink);font-size:13.5px;font-weight:800}.order-row-sub{color:var(--muted);margin:2px 0 0;font-size:11.5px}.order-row-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.order-row-total{color:var(--brand-dark);font-size:13.5px;font-weight:800}.order-row-meta svg{color:var(--muted)}.heading-accent-icon{color:var(--brand)}.top-products-list{flex-direction:column;gap:8px;display:flex}.top-product-item{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.top-product-item:hover{background:#fff}.top-product-rank{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11.5px;font-weight:800;display:flex}.rank-1{color:#854d0e;background:#fef08a}.rank-2{color:#334155;background:#e2e8f0}.rank-3{color:#9a3412;background:#fed7aa}.rank-4{color:#64748b;background:#f1f5f9}.top-product-info{flex:1;min-width:0}.top-product-info strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.top-product-info small{color:var(--muted);margin-top:1px;font-size:11px;display:block}.top-product-revenue{color:var(--brand-dark);flex-shrink:0;font-size:12.5px;font-weight:800}.dashboard-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-shortcut-btn{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:all .15s;display:flex}.dashboard-shortcut-btn:hover{border-color:var(--brand-light);color:var(--brand-dark);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.dashboard-shortcut-btn svg{color:var(--brand)}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{margin:0;font-size:18px;font-weight:800}.compact-list{gap:8px}.admin-product-list{gap:10px;display:grid}.admin-product-row{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.admin-product-row>img{border-radius:var(--radius-sm);object-fit:cover;width:64px;height:64px}.admin-product-info strong,.admin-product-info span,.admin-product-info small{display:block}.admin-product-info strong{font-size:14px;font-weight:800}.admin-product-info span,.admin-product-info small{color:var(--muted);font-size:11px}.admin-product-info small{margin-top:2px}.admin-product-actions{align-items:center;gap:8px;display:flex}.filter-bar{grid-template-columns:minmax(0,1fr) 210px;gap:10px;margin-bottom:16px;display:grid}.admin-order-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-order-card>a{min-width:0}.settings-stack{gap:16px;max-width:780px;display:grid}.user-list{gap:9px;display:grid}.user-row{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:36px minmax(0,1fr) 130px 110px;align-items:center;gap:12px;padding:12px;display:grid}.user-info strong,.user-info span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-info strong{font-size:13px;font-weight:700}.user-info span{color:var(--muted);margin-top:2px;font-size:11px}.compact-select{min-height:36px;padding:6px 10px;font-size:12px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.editor-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;display:grid}.editor-fieldset{border:0;margin:18px 0 0;padding:0}.editor-fieldset legend{margin-bottom:8px;font-size:12px;font-weight:800}.check-grid{flex-wrap:wrap;gap:8px;display:flex}.check-item{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:36px;color:var(--ink);background:#fff;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.check-item input{accent-color:var(--brand)}.compact-check{white-space:nowrap;min-height:32px;padding:5px 8px}.file-input{padding:8px}.editor-group{border:1px solid var(--line);border-radius:var(--radius-md);background:#f8fafc;margin-top:14px;padding:14px 16px;box-shadow:0 1px 3px #0f172a08}.editor-group-heading{align-items:center;gap:10px;margin-bottom:12px;display:flex}.editor-group-label-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--brand-dark);background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:5px 8px;font-size:11px;font-weight:800}.editor-group-heading .input{background:#fff;font-weight:700}.option-list{flex-direction:column;gap:8px;display:flex}.option-edit-row{align-items:center;gap:8px;display:flex}.option-edit-row .input{background:#fff}.option-footer{align-items:center;margin-top:10px;padding-top:8px;display:flex}.add-option{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:13px;font-weight:700;transition:color .15s;display:inline-flex}.add-option:hover{color:var(--brand-dark)}.editor-empty-hint{border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center;background:#f8fafc;padding:24px 16px}.editor-empty-hint p{margin:0;font-size:13px}.option-num-badge{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.combination-editor{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.combination-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.combination-header h3{color:var(--ink);margin:0;font-size:14px;font-weight:800}.combination-actions{gap:6px;display:flex}.combination-list{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:10px;display:grid;overflow:hidden}.combination-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:10px;padding:12px 14px;transition:all .15s;display:flex;box-shadow:0 1px 3px #00000008}.combination-card.is-combo-out{opacity:.85;background:#f8fafc;border-color:#e2e8f0}.combo-card-top{align-items:center;gap:12px;display:flex}.combo-image-cell{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.combo-img-wrap{border-radius:var(--radius-sm);border:1px solid var(--line);cursor:pointer;background:#f1f5f9;width:44px;height:44px;position:relative;overflow:hidden}.combo-thumb{object-fit:cover;width:100%;height:100%;display:block}.combo-img-remove{color:#fff;cursor:pointer;z-index:2;background:#0f172abf;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:background .15s;display:flex;position:absolute;top:1px;right:1px}.combo-img-remove:hover{background:var(--danger)}.combo-img-overlay-change{cursor:pointer;position:absolute;inset:0}.combo-img-placeholder{border-radius:var(--radius-sm);border:1.5px dashed var(--line);cursor:pointer;width:44px;height:44px;color:var(--muted);background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:10px;transition:all .15s;display:flex}.combo-img-placeholder:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-subtle)}.combo-info{flex:1;min-width:0}.combo-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.combo-pill{border-radius:var(--radius-sm);color:var(--ink);word-break:break-word;background:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:4px;padding:4px 8px;font-size:12.5px;line-height:1.3;display:inline-flex}.combo-pill small{color:var(--muted);font-size:11px;font-weight:500}.combo-pill strong{color:#0f172a;font-weight:700}.combination-card.is-combo-out .combo-pill strong{color:var(--muted)}.combo-toggle-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.combo-toggle-btn.is-available{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.combo-toggle-btn.is-available:hover{background:#d1fae5}.combo-toggle-btn.is-out{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.combo-toggle-btn.is-out:hover{background:#e2e8f0}.combo-card-bottom{border-top:1px dashed var(--line-subtle);align-items:center;gap:12px;padding-top:8px;display:flex}.combo-price-label{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.combo-price-input-wrap{flex:1;align-items:center;max-width:260px;display:flex;position:relative}.combo-price-prefix{color:var(--muted);pointer-events:none;font-size:12px;font-weight:700;position:absolute;left:10px}.combo-price-input-wrap .input{height:34px;padding:4px 10px 4px 32px;font-size:13px;font-weight:600}.category-list{gap:10px;display:grid}.category-card-row{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;transition:all .15s;display:grid}.category-icon-box{border-radius:var(--radius-sm);background:var(--brand-surface);width:40px;height:40px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-info{flex-direction:column;gap:2px;min-width:0;display:flex}.category-info strong{color:var(--ink);word-break:break-word;font-size:14px;font-weight:700}.category-meta{color:var(--muted);font-size:12px}.category-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.editor-actions{grid-column:1/-1;gap:10px;display:flex}.village-list{gap:8px;display:grid}.village-row{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.village-order{border-radius:var(--radius-sm);background:var(--brand-surface);width:28px;height:28px;color:var(--brand-dark);place-items:center;font-size:12px;font-weight:900;display:grid}.village-name{min-width:0}.village-name strong,.village-name small{white-space:normal;display:block;overflow:visible}.village-name strong{font-size:13px;font-weight:700}.village-name small{color:var(--muted);margin-top:2px;font-size:11px}.village-move{gap:3px;display:flex}.bottom-nav{z-index:19;width:100%;padding:8px max(12px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(20px);background:#fffffff0;border-top:1px solid #e2e8f0d9;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0f172a0d}.bottom-nav a{color:var(--muted);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;justify-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:700;transition:all .15s;display:grid}.bottom-nav a.active{color:var(--brand);background:var(--brand-surface)}.nav-icon-badge{position:relative}.nav-icon-badge b{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-9px}.header-icon-with-badge{position:relative}.header-badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:800;line-height:1;display:grid;position:absolute;top:5px;right:5px;box-shadow:0 0 0 2px #fff}.menu-badge{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.notifications-page{max-width:680px;margin:0 auto}.notification-permission-card{border-radius:var(--radius-md);border:1px solid var(--brand-border);background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;display:flex}.notification-perm-icon{border-radius:var(--radius-full);width:40px;height:40px;color:var(--brand);box-shadow:var(--shadow-sm);background:#fff;flex-shrink:0;place-items:center;display:grid}.notification-perm-content{flex:1;min-width:0}.notification-perm-content strong{color:var(--ink);font-size:13.5px;font-weight:800;display:block}.notification-perm-content p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.4}.notifications-list{flex-direction:column;gap:8px;display:flex}.notification-item{border-radius:var(--radius-md);border:1px solid var(--line);cursor:pointer;background:#fff;align-items:flex-start;gap:14px;padding:14px 16px;transition:all .15s;display:flex;position:relative}.notification-item:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.notification-item.is-unread{background:#f0f9ff;border-color:#bae6fd}.notification-item.is-unread:hover{background:#e0f2fe}.notification-icon-wrap{border-radius:var(--radius-full);background:var(--brand-surface);width:38px;height:38px;color:var(--brand);flex-shrink:0;place-items:center;display:grid}.notification-icon-wrap.icon-type-order{color:#059669;background:#ecfdf5}.notification-icon-wrap.icon-type-order_status{color:#2563eb;background:#eff6ff}.notification-icon-wrap.icon-type-chat{color:#a855f7;background:#fdf4ff}.notification-body-wrap{flex:1;min-width:0}.notification-top-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.notification-title{color:var(--ink);font-size:13.5px;font-weight:800}.notification-time{color:var(--muted);white-space:nowrap;font-size:11px}.notification-body{color:var(--ink-secondary);margin:4px 0 0;font-size:12.5px;line-height:1.45}.notification-unread-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:14px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translate(-120%)}to{transform:translate(280%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-layout{grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);gap:25px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-revenue-hero{grid-template-columns:1fr;gap:20px;padding:22px}.revenue-secondary-col{border-left:none;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;padding-top:16px;padding-left:0;display:grid}.admin-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-layout{grid-template-columns:1fr}}@media (max-width:680px){.topbar-inner,.page-container{width:min(100% - 24px,560px)}.topbar-inner{gap:8px;min-height:60px}.brand{min-width:110px}.brand img{width:115px;height:36px}.header-status-pill{padding:5px 10px;font-size:11px}.page-container{padding-top:16px}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-header h1{font-size:24px}.hero-card{min-height:140px;margin-top:0;padding:20px 18px}.hero-card h1{font-size:22px}.hero-card .hero-copy{font-size:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-body{padding:12px}.product-title{min-height:36px;font-size:13.5px}.product-price{margin:4px 0 10px;font-size:13.5px}.detail-layout,.cart-layout,.checkout-layout,.detail-columns{grid-template-columns:1fr;gap:18px}.detail-image{position:static}.detail-content{padding-top:2px}.detail-content h1{font-size:24px}.summary-card{position:static}.cart-line{grid-template-columns:60px minmax(0,1fr);gap:10px}.cart-line>img{width:60px;height:60px}.cart-line-actions{grid-column:2;justify-content:space-between}.cart-line-actions .icon-button{margin-left:auto}.form-grid,.filter-bar{grid-template-columns:1fr}.form-card,.summary-card{padding:16px}.desktop-only{display:none}.order-tracker{padding:16px 8px}.tracker-label{font-size:10px}.tracker-icon{width:30px;height:30px}.tracker-step:before{top:14px}.chat-layout{grid-template-columns:1fr;min-height:0}.chat-buyers{max-height:230px;overflow:auto}.chat-panel{min-height:520px}.messages{min-height:300px}.admin-product-row{grid-template-columns:54px minmax(0,1fr)}.admin-product-row>img{width:54px;height:54px}.admin-product-actions{grid-column:2;justify-content:space-between}.admin-product-actions .btn{margin-left:auto}.admin-order-card{grid-template-columns:1fr}.admin-order-card>.btn{width:100%}.editor-layout{grid-template-columns:1fr}.editor-actions{grid-column:auto}.combination-card{gap:8px;padding:10px 12px}.combo-card-top{flex-wrap:wrap;align-items:center;gap:8px}.combo-card-bottom{flex-direction:column;align-items:flex-start;gap:6px}.combo-price-input-wrap{width:100%;max-width:100%}.category-card-row{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:10px 12px}.category-icon-box{width:36px;height:36px}.category-actions{border-top:1px dashed var(--line-subtle);grid-column:1/-1;justify-content:flex-end;padding-top:4px}.village-row{grid-template-columns:26px minmax(0,1fr) auto}.village-name strong{font-size:13px}.user-row{grid-template-columns:36px minmax(0,1fr)}.user-row .input{grid-column:2;width:100%}}@media (max-width:768px){input,select,textarea,.input,.compact-select{font-size:16px!important}}.store-logo-uploader{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.store-logo-preview-clickable{border:1.5px dashed var(--line);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fff;justify-content:center;align-items:center;width:140px;height:52px;padding:4px 10px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.store-logo-preview-clickable:hover{border-color:var(--brand);box-shadow:0 0 0 3px #0284c71f}.store-logo-preview-clickable .store-logo-img{object-fit:contain;max-width:100%;max-height:100%}.store-logo-empty{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.store-logo-overlay{color:#fff;opacity:0;background:#0f172aa6;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:700;transition:opacity .15s;display:flex;position:absolute;inset:0}.store-logo-preview-clickable:hover .store-logo-overlay{opacity:1}.store-logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.danger-text{color:var(--danger)!important}
