:root{--bg:#f5f5f5;--card-bg:#fff;--primary:#1e3a8a;--primary-hover:#1e40af;--danger:#dc2626;--danger-hover:#b91c1c;--success:#16a34a;--success-hover:#15803d;--muted:#6b7280;--border:#e5e7eb;--text:#111827;--text-secondary:#6b7280;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.nav{background:var(--primary);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.nav-title{white-space:nowrap;font-size:16px;font-weight:700}.nav-links{align-items:center;gap:12px;display:flex}.nav-links a{color:#ffffffd9;border-radius:4px;padding:4px 8px;font-size:13px;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:#fff;background:#ffffff26}.env-selector{gap:4px;display:flex}.env-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;padding:4px 10px;font-size:12px}.env-btn.active{color:var(--primary);background:#fff;font-weight:600}.env-btn:hover:not(.active){color:#fff;border-color:#fff}.container{max-width:1080px;margin:0 auto;padding:20px}.card{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:16px;padding:20px}.card-title{color:var(--text);margin-bottom:12px;font-size:16px;font-weight:600}.card-subtitle{color:var(--text-secondary);margin-top:-6px;margin-bottom:16px;font-size:13px}.form-group{margin-bottom:12px}.form-group label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font);padding:8px 12px}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1e3a8a1a}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{border-radius:var(--radius);cursor:pointer;width:100%;font-size:14px;font-weight:500;font-family:var(--font);border:none;justify-content:center;align-items:center;padding:10px 16px;transition:background .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-hover)}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-outline:hover:not(:disabled){background:var(--bg)}.btn-sm{padding:6px 12px;font-size:13px}.btn-group{flex-direction:column;gap:8px;display:flex}.btn-google{color:#fff;background:#4285f4}.btn-google:hover:not(:disabled){background:#3367d6}.btn-apple{color:#fff;background:#000}.btn-apple:hover:not(:disabled){background:#333}.btn-facebook{color:#fff;background:#1877f2}.btn-facebook:hover:not(:disabled){background:#166fe5}.info-row{margin-bottom:8px}.info-label{color:var(--text-secondary);font-size:12px;font-weight:500}.info-value{word-break:break-all;font-size:14px}.separator{border:none;border-top:1px solid var(--border);margin:16px 0}.response-box{color:#d4d4d4;border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;background:#1e1e1e;max-height:400px;padding:12px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;overflow:auto}.response-box.success{border-left:3px solid var(--success)}.response-box.error{border-left:3px solid var(--danger)}.status-badge{border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.status-badge.success{color:#166534;background:#dcfce7}.status-badge.error{color:#991b1b;background:#fee2e2}.status-badge.warning{color:#854d0e;background:#fef9c3}.status-badge.info{color:#1e40af;background:#dbeafe}.status-badge.neutral{color:#3730a3;background:#e0e7ff}.checkbox-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.checkbox-row input[type=checkbox]{width:auto}.checkbox-row label{color:var(--text);margin-bottom:0;font-size:14px}.alert{border-radius:var(--radius);margin-bottom:12px;padding:10px 14px;font-size:13px}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.alert-warning{color:#854d0e;background:#fef9c3;border:1px solid #fde68a}.alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.readonly-section+.readonly-section{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.readonly-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.readonly-section-title{color:var(--text);font-size:14px;font-weight:600}.readonly-section-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px}.readonly-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.readonly-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.readonly-field{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;padding:12px}.readonly-field.wide{grid-column:1/-1}.readonly-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500}.readonly-value{color:var(--text);word-break:break-word;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.readonly-value.mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px}.readonly-stack{flex-direction:column;gap:12px;display:flex}.readonly-item{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;padding:14px}.readonly-item-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.readonly-item-title{color:var(--text);font-size:14px;font-weight:600}.inline-badges,.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{color:#3730a3;background:#eef2ff;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.muted-text{color:var(--text-secondary)}.empty-state{color:var(--text-secondary);font-size:14px}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:16px;display:flex}.tab-btn{cursor:pointer;color:var(--text-secondary);font-size:14px;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.tab-content{display:none}.tab-content.active{display:block}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.section{margin-bottom:16px}.section-header{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;display:flex}.section-header:after{content:"▶";color:var(--muted);flex-shrink:0;font-size:12px;transition:transform .2s}@media (width<=640px){.readonly-field.wide{grid-column:auto}.readonly-section-header,.readonly-item-header{flex-direction:column}}.section-open .section-header:after{transform:rotate(90deg)}.section-body{margin-top:12px;display:none}.section-open .section-body{display:block}.step-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px;font-size:12px;font-weight:600;display:inline-flex}.cart-item-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.cart-item-row:last-child{border-bottom:none}.cart-item-name{flex:1;min-width:0}.cart-item-qty{align-items:center;gap:4px;display:flex}.cart-item-qty button{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.cart-item-qty button:hover{background:var(--bg)}.cart-item-qty span{text-align:center;min-width:24px;font-weight:500}.cart-item-price{white-space:nowrap;font-weight:500}.cart-item-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.vendor-group{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.vendor-header{color:var(--primary);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.order-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:12px}.order-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.summary-row{justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.summary-row.total{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-size:15px;font-weight:600}.section-response{margin-top:12px}.container-wide{max-width:640px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.product-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card-bg);padding:10px;transition:border-color .15s,box-shadow .15s}.product-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.product-card img{object-fit:contain;border-radius:4px;width:80px;height:80px;margin-bottom:6px}.product-card .product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.6em;margin-bottom:4px;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.product-card .product-price{color:var(--primary);font-size:14px;font-weight:600}.product-card .product-price-old{color:var(--muted);font-size:11px;text-decoration:line-through}.product-card .product-stock{margin-top:2px;font-size:10px}.product-card .product-actions{gap:4px;margin-top:6px;display:flex}.category-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.category-chip{border:1px solid var(--border);cursor:pointer;background:var(--card-bg);white-space:nowrap;border-radius:16px;padding:4px 12px;font-size:12px;transition:all .15s}.category-chip:hover,.category-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.address-card{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.address-card.selected{border-color:var(--primary);background:#eff6ff}.address-card-body{cursor:pointer;flex:1;min-width:0}.address-card-title{font-size:14px;font-weight:500}.address-card-detail{color:var(--muted);margin-top:2px;font-size:12px}.address-card-actions{flex-shrink:0;gap:4px;display:flex}.search-wrap{position:relative}.search-wrap input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font);padding:10px 12px 10px 36px}.search-wrap input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1e3a8a1a}.search-wrap:before{content:"🔍";pointer-events:none;font-size:16px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.page-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}@media (width<=960px){.page-layout{grid-template-columns:1fr}}.cart-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;max-height:calc(100vh - 32px);padding:14px;display:flex;position:sticky;top:16px;overflow-y:auto;box-shadow:0 4px 12px #0000000f}@media (width<=960px){.cart-sidebar{max-height:none;position:static}}.cart-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.cart-sidebar-title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.cart-sidebar-count{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.cart-sidebar-items{flex-direction:column;gap:8px;max-height:260px;padding-right:4px;display:flex;overflow-y:auto}.cart-sidebar-item{background:var(--muted-bg,#00000005);border-radius:6px;align-items:flex-start;gap:8px;padding:6px;font-size:12px;line-height:1.3;display:flex}.cart-sidebar-item-img{object-fit:cover;background:var(--border);border-radius:4px;flex-shrink:0;width:40px;height:40px}.cart-sidebar-item-info{flex:1;min-width:0}.cart-sidebar-item-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.cart-sidebar-item-meta{color:var(--muted);margin-top:2px;font-size:11px}.cart-sidebar-item-price{white-space:nowrap;font-size:12px;font-weight:600}.cart-sidebar-summary{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding-top:8px;font-size:12px;display:flex}.cart-sidebar-summary .summary-row{justify-content:space-between;display:flex}.cart-sidebar-summary .summary-row.total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-size:14px;font-weight:700}.cart-sidebar-empty{text-align:center;color:var(--muted);padding:24px 8px;font-size:13px}.cart-sidebar-actions{gap:6px;margin-top:4px;display:flex}.cart-sidebar-actions .btn{flex:1;padding:6px 8px;font-size:12px}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.skeleton{background:linear-gradient(90deg, var(--border) 0%, #0000000a 50%, var(--border) 100%);background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:10px;margin-bottom:6px;display:block}.skeleton-line.lg{height:14px}.skeleton-line.sm{height:8px}.skeleton-refresh{opacity:.7;transition:opacity .15s}.cart-sidebar.is-loading .cart-sidebar-header{opacity:.8}.cs-btn-refresh-spinning{animation:.8s linear infinite skeleton-spin;display:inline-block}@keyframes skeleton-spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:var(--radius);width:90%;max-width:480px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-content .card-title{margin-bottom:16px}.pagination{justify-content:center;gap:4px;margin-top:12px;display:flex}.pagination button{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:13px}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.threeds-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.threeds-modal iframe{border-radius:var(--radius);background:#fff;border:none;width:90%;max-width:500px;height:600px}
