:root{--bg: #eef2f8;--bg-accent: linear-gradient(135deg, #e8eef9 0%, #f5f7fb 45%, #eef2f8 100%);--card: #ffffff;--border: #e2e8f0;--border-focus: #6366f1;--text: #0f172a;--muted: #64748b;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef2ff;--danger: #dc2626;--danger-soft: #fef2f2;--success-soft: #ecfdf5;--sidebar: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);--sidebar-text: #e2e8f0;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .1);--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;background:var(--bg);background-image:var(--bg-accent);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--sidebar);color:var(--sidebar-text);padding:28px 18px;flex-shrink:0;box-shadow:4px 0 24px #0f172a1f;display:flex;flex-direction:column}.brand{padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px}.brand-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a5b4fc;background:#6366f133;padding:4px 10px;border-radius:999px;margin-bottom:10px}.sidebar h1{font-size:19px;margin:0 0 6px;line-height:1.35;font-weight:700;color:#f8fafc}.sidebar p{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.nav-link{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;color:#cbd5e1;text-decoration:none;margin-bottom:4px;font-size:14px;font-weight:500;transition:background .15s,color .15s,transform .1s}.nav-link .nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;opacity:.92}.nav-link .nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-link:hover{background:#ffffff14;color:#f8fafc}.nav-link.active{background:linear-gradient(90deg,#6366f159,#6366f126);color:#fff;box-shadow:inset 0 0 0 1px #a5b4fc40}.sidebar-footer{margin-top:auto;padding:16px 12px 0;font-size:11px;color:#64748b;line-height:1.5}.sidebar-copyright{margin-top:auto;padding:16px 12px 12px;font-size:11px;color:#94a3b8;line-height:1.5;border-top:1px solid rgba(148,163,184,.15)}.sidebar-copyright-line{margin:0 0 8px;color:#cbd5e1;font-size:11px}.sidebar-copyright-custom{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.sidebar-wechat-qr{width:72px;height:72px;border-radius:6px;background:#fff;padding:2px;object-fit:contain}.main{flex:1;padding:28px 36px 40px;overflow:auto;max-width:1280px}.page-header{margin-bottom:24px}.page-title{margin:0 0 6px;font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-subtitle{margin:0;font-size:14px;color:var(--muted)}.check-row-top{margin-top:14px;max-width:280px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow-sm)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow-sm);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.card h3:before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--primary),#818cf8)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-span-2{grid-column:1 / -1}.admin-address-fields{display:grid;gap:10px}.admin-region-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-region-selects select{width:100%;min-width:0}.shipping-region-selects{margin:10px 0}.shipping-region-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.shipping-region-tags>span:not(.muted){display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #c9d7ea;border-radius:999px;background:#f5f8fd;color:#29445f}.shipping-region-tags button{border:0;background:transparent;color:#b42318;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px 2px;color:var(--muted);font-size:13px}.list-pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.list-pagination-actions label{display:flex;align-items:center;gap:6px;margin:0}.list-pagination-actions select{width:auto;min-width:84px;padding:6px 8px}.list-pagination-actions strong{color:var(--text);white-space:nowrap}.customer-order-filters{margin-bottom:16px}.customer-order-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.customer-order-filter-grid label{margin:0}.customer-order-filter-grid label>span{display:block;margin-bottom:6px}.customer-order-filter-actions{margin-top:14px}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}.sidebar{width:200px}.main{padding:20px}.admin-region-selects{grid-template-columns:1fr}.list-pagination{align-items:flex-start;flex-direction:column}.list-pagination-actions{justify-content:flex-start}.customer-order-filter-grid{grid-template-columns:1fr}}label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:6px}input,select,textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;line-height:1.428571429;min-height:42px;background:#fafbfc;transition:border-color .15s,box-shadow .15s,background .15s}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:36px;background-color:#fafbfc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}select:hover{background-color:#fafbfc}select:focus{background-color:#fff}input:hover,select:hover,textarea:hover{border-color:#cbd5e1}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126;background:#fff}textarea{min-height:72px;resize:vertical}.btn{border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .15s,background .15s}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;box-shadow:0 4px 14px #4f46e559}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,#4f46e5 100%);box-shadow:0 6px 18px #4f46e566}.btn-primary:disabled{color:#cbd5e1;background:#94a3b8;border-color:transparent;box-shadow:none;cursor:not-allowed;opacity:1}.btn-secondary{background:#f1f5f9;color:#334155;border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-secondary:disabled{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0;cursor:not-allowed}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-danger:disabled{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0;cursor:not-allowed}.btn+.btn{margin-left:8px}.btn-lg{padding:12px 28px;font-size:15px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}table.data th,table.data td{border-bottom:1px solid var(--border);padding:12px 10px;text-align:left}table.data th{color:var(--muted);font-weight:600;font-size:12px;text-transform:none;background:#f8fafc}table.data tbody tr:hover td{background:#f8fafc}table.data tbody tr:last-child td{border-bottom:none}.customer-list-table .customer-select-cell{width:72px;min-width:72px;padding:4px 8px;text-align:center}.customer-select-hit{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.customer-select-hit input[type=checkbox]{width:24px;height:24px;margin:0;cursor:pointer;accent-color:var(--primary)}.customer-select-hit span:not(.sr-only){font-size:12px;white-space:nowrap}.hint{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6}.autocomplete{position:relative}.autocomplete-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--border);border-radius:12px;max-height:240px;overflow:auto;box-shadow:var(--shadow-lg);list-style:none;margin:0;padding:6px}.autocomplete-list li{padding:10px 12px;cursor:pointer;border-radius:8px;font-size:14px}.autocomplete-list li:hover{background:var(--primary-soft);color:var(--primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:16px;width:min(720px,92vw);max-height:85vh;overflow:auto;padding:24px;box-shadow:var(--shadow-lg)}.modal h3{margin-top:0;font-size:18px}.history-detail-modal{width:min(960px,96vw)}.modal-auth-role{width:min(960px,96vw);max-height:90vh}.auth-role-list-card{padding:16px 18px}.auth-role-list--page{margin-top:12px}.auth-role-list-item--row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left}.auth-role-list-item--row:hover{background:#f8fafc;border-color:#cbd5e1}.auth-role-list-main{flex:1;min-width:0}.modal-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-header-row h3{margin:0;flex:1}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;margin:0 0 16px;font-size:14px}.detail-meta-wide{grid-column:1 / -1}.detail-meta dt{color:var(--muted);font-size:12px;margin-bottom:2px}.detail-meta dd{margin:0}.empty{color:var(--muted);text-align:center;padding:40px}.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid transparent}.alert-success{background:var(--success-soft);color:#065f46;border-color:#a7f3d0}.alert-error{background:var(--danger-soft);color:#991b1b;border-color:#fecaca}.check-row{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8fafc;border:1px solid var(--border);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s}.check-row:hover{background:var(--primary-soft);border-color:#c7d2fe}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.check-row span{font-size:15px;font-weight:500;color:var(--text)}.action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}.order-lines input{min-width:0;padding:8px 10px;font-size:13px}.order-lines .col-product{min-width:220px}.order-lines .col-qty{width:72px}.order-lines .qty-input{width:100%;text-align:center}.product-line{display:flex;align-items:center;gap:8px}.btn-icon-add{flex-shrink:0;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:20px;font-weight:700;line-height:1;cursor:pointer;padding:0}.btn-icon-add:hover{background:#e0e7ff;border-color:#c7d2fe}.input-with-picker{flex:1;position:relative;min-width:0}.input-with-picker input{width:100%;padding-right:42px}.btn-dots{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:#e2e8f0;color:#475569;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer}.btn-dots:hover{background:#cbd5e1;color:var(--text)}.product-picker-modal input{margin-bottom:12px}.picker-list{list-style:none;margin:0 0 16px;padding:0;max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:10px}.picker-list li{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.picker-list li:last-child{border-bottom:none}.picker-list li:hover{background:var(--primary-soft)}.picker-list li strong{font-size:14px}.picker-list li span{font-size:12px;color:var(--muted)}.picker-empty{color:var(--muted);text-align:center;cursor:default!important}.printer-type-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:14px;margin:16px 0 12px}@media (max-width: 640px){.printer-type-grid{grid-template-columns:1fr}}.printer-type-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:2px solid var(--border);border-radius:12px;cursor:pointer;background:#f8fafc;transition:border-color .15s,background .15s,box-shadow .15s}.printer-type-card input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.printer-type-card.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #6366f11f}.printer-type-title{font-size:15px;font-weight:600;color:var(--text)}.printer-type-desc{font-size:13px;color:var(--muted)}.products-table .col-drag{width:36px;text-align:center;color:var(--muted)}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px;letter-spacing:-2px}.products-table tr.dragging{opacity:.55;background:var(--primary-soft)!important}.doc-title-block{margin-top:12px;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.doc-title-text{text-align:center;font-size:20px;font-weight:700;letter-spacing:4px;margin-bottom:12px}.doc-title-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 28px}.check-inline{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:15px;font-weight:500}.check-inline input{width:16px;height:16px;min-height:0;min-width:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.check-inline.check-disabled{opacity:.45;cursor:not-allowed}.check-inline.check-disabled input{cursor:not-allowed}.stamp-picker-grid,.stamp-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin:16px 0}.stamp-picker-item{border:2px solid var(--border);border-radius:12px;padding:10px;background:#f8fafc;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s,box-shadow .15s}.stamp-picker-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.stamp-picker-item img,.stamp-admin-item img{width:100px;height:100px;object-fit:contain;background:#fff;border:1px dashed var(--border);border-radius:8px}.stamp-admin-item{border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.stamp-admin-meta{margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:center}.page-inventory .inv-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.inv-stat-chips{display:flex;gap:10px;flex-wrap:wrap}.inv-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;background:#fff;border:1px solid var(--border);color:var(--muted);box-shadow:var(--shadow-sm)}.inv-chip-accent{background:var(--primary-soft);border-color:#c7d2fe;color:var(--primary)}.inv-toolbar-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-bottom:16px}.inv-search-wrap{position:relative;flex:1;min-width:220px;max-width:420px}.inv-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:16px;pointer-events:none}.inv-search-input{width:100%;padding:10px 14px 10px 40px;border:1px solid var(--border);border-radius:12px;font-size:14px;background:#f8fafc;transition:border-color .15s,box-shadow .15s}.inv-search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126;background:#fff}.inv-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.inv-table-card{padding:0;overflow:hidden}.inv-table-card .inventory-table{margin:0}.inv-table-card .inventory-table thead th{background:#f8fafc;font-size:13px;color:var(--muted);font-weight:600;padding:14px 12px;border-bottom:1px solid var(--border)}.inv-table-card .inventory-table tbody tr{transition:background .12s}.inv-table-card .inventory-table tbody tr:hover{background:#f8fafc}.inv-table-card .inventory-table tbody td{padding:14px 12px;vertical-align:middle}.inv-empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:15px}.inv-thumb-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.inv-thumb-box{position:relative;width:72px;height:72px;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #0f172a1a;border:2px solid #fff;outline:1px solid var(--border);background:linear-gradient(145deg,#f1f5f9,#e2e8f0)}.inv-thumb{width:100%;height:100%;object-fit:cover;display:block}.inv-thumb-badge{position:absolute;bottom:4px;right:4px;font-size:10px;padding:2px 6px;border-radius:6px;background:#0f172a8c;color:#fff}.inv-img-btn{min-width:64px}.inv-qty{display:inline-flex;min-width:48px;justify-content:center;padding:4px 12px;border-radius:999px;font-weight:600;font-size:13px;background:#f1f5f9;color:var(--muted)}.inv-qty.has-stock{background:#ecfdf5;color:#047857}.inv-actions{min-width:200px}.inv-action-group{display:flex;flex-wrap:wrap;gap:6px}.btn-ghost{background:transparent;border:1px dashed var(--border);color:var(--muted)}.btn-ghost:hover{background:var(--primary-soft);border-color:#a5b4fc;color:var(--primary)}.modal-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.crop-modal h3{margin-bottom:6px}.crop-hint{margin:0 0 16px;font-size:13px;color:var(--muted)}.crop-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;border:2px dashed #c7d2fe;border-radius:16px;background:linear-gradient(180deg,#fafbff,#f1f5f9);cursor:pointer;transition:border-color .15s,background .15s}.crop-upload-zone:hover{border-color:var(--primary);background:var(--primary-soft)}.crop-upload-icon{font-size:36px}.crop-upload-title{font-size:16px;font-weight:600;color:var(--text)}.crop-upload-sub{font-size:13px;color:var(--muted)}.crop-sliders{display:grid;gap:12px;margin-top:12px}.crop-sliders label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.crop-sliders label span{font-weight:600}.modal-wide{width:min(1180px,96vw);max-width:none}.modal-wide .table-wrap{max-height:calc(90vh - 190px);overflow:auto}.modal-wide .table-wrap table.data th{position:sticky;top:0;z-index:1}.crop-panel{margin-top:4px}.crop-preview-wrap{position:relative;width:280px;max-width:100%;aspect-ratio:1;margin:0 auto 12px;overflow:hidden;border-radius:16px;background:#0f172a;box-shadow:var(--shadow-md)}.crop-source{width:100%;height:100%;object-fit:contain;display:block}.crop-frame{position:absolute;border:2px solid #818cf8;box-shadow:0 0 0 999px #00000073;pointer-events:none;box-sizing:border-box;border-radius:4px}.warehouse-select{position:relative}.warehouse-dropdown{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:10px;max-height:200px;overflow:auto;box-shadow:var(--shadow-md)}.warehouse-option{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:#fff;cursor:pointer}.warehouse-option:hover{background:var(--primary-soft)}.readonly-field{padding:10px 12px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;min-height:42px;font-size:14px;box-sizing:border-box;line-height:1.428571429}.warn-text{color:#b45309;font-size:13px}.lot-select{width:100%;min-width:160px}.fifo-box{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:12px;margin:12px 0;font-size:14px}.fifo-list{margin:8px 0 0 20px;color:var(--muted);font-size:13px}.page-home{max-width:1100px}.dash-side-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.dash-side-pair .dash-express3,.dash-side-pair .dash-stock-alert{margin-bottom:0;min-width:0;padding:18px 16px}.dash-side-pair .dash-express3-quota-row{margin-top:4px}.dash-side-pair .dash-express3-remaining,.dash-side-pair .dash-express3-total{font-size:2rem}.dash-side-pair .dash-express3-slash{font-size:1.35rem}.dash-side-pair .dash-express3-footer{margin-top:12px;padding-top:10px}.dash-side-pair .dash-alert-list-wrap{max-height:200px}@media (max-width: 720px){.dash-side-pair{grid-template-columns:1fr}}.dash-home-strip{padding:12px 18px;margin-bottom:20px}.dash-home-strip-row{display:flex;align-items:center;gap:10px 14px;min-height:36px;flex-wrap:nowrap}.dash-home-strip-row+.dash-home-strip-row{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.dash-home-strip-label{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.dash-home-strip-muted{font-size:13px;color:var(--muted)}.dash-home-strip-quota{display:inline-flex;align-items:baseline;gap:2px;flex:0 0 auto}.dash-home-num{font-size:1.25rem;font-weight:800;line-height:1.2}.dash-home-strip-spacer{flex:1 1 auto;min-width:8px}.dash-home-strip-tag{font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap}.dash-home-strip-tag-ok{background:#ecfdf5;color:#059669}.dash-home-strip-tag-warn{background:#fff7ed;color:#b45309}.dash-home-strip-alerts{margin:0;flex:1 1 auto;min-width:0;font-size:13px;color:#7f1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-home-strip-alerts strong{color:#991b1b;font-weight:700}.dash-home-strip .dash-express3-detail-btn{flex:0 0 auto;white-space:nowrap}.dash-home-strip .dash-express3-remaining.dash-home-num,.dash-home-strip .dash-express3-total.dash-home-num{font-size:1.25rem}.dash-home-strip .dash-express3-slash{font-size:1rem}.dash-express3{padding:24px;margin-bottom:20px;position:relative}.dash-express3-quota-row{display:flex;align-items:baseline;gap:4px;margin-top:8px}.dash-express3-remaining{font-size:2.5rem;font-weight:700;color:#dc2626;line-height:1.1}.dash-express3-slash{font-size:1.75rem;font-weight:500;color:#64748b}.dash-express3-total{font-size:2.5rem;font-weight:700;color:#0f172a;line-height:1.1}.dash-express3-validity{margin:6px 0 0;font-size:13px;color:#475569}.dash-express3-caption{margin:8px 0 0;font-size:.875rem;color:#64748b}.dash-express3-caption-warn{color:#b45309}.dash-express3-caption-ok{color:#059669}.dash-express3-meta{margin:4px 0 0;font-size:.75rem;color:#94a3b8}.dash-express3-hint{padding:12px 0}.dash-express3-footer{display:flex;justify-content:flex-end;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}.dash-express3-detail-btn{background:none;border:none;color:#4f46e5;font-size:.875rem;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.dash-express3-detail-btn:hover{color:#4338ca}.home-header{margin-bottom:20px}.dash-compass{padding:24px;margin-bottom:20px}.dash-compass-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:18px;letter-spacing:.02em}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.dash-card{border-radius:16px;padding:20px 18px;text-align:left;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.dash-card-clickable{cursor:pointer;width:100%;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dash-card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dash-card-primary{background:linear-gradient(145deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}.dash-card-danger{background:linear-gradient(145deg,#fef2f2,#fee2e2);border-color:#fecaca}.dash-card-warning{background:linear-gradient(145deg,#fff7ed,#ffedd5);border-color:#fdba74}.dash-card-info{background:linear-gradient(145deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.dash-card-label{font-size:13px;color:var(--muted);margin-bottom:8px}.dash-card-value{font-size:36px;font-weight:800;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.dash-days-danger{color:#dc2626}.dash-days-warning{color:#ea580c}.dash-days-info{color:#2563eb}.dash-card-sub{font-size:12px;color:var(--muted);margin-top:10px}.home-quick{padding:20px 24px}.home-quick-links{display:flex;flex-wrap:wrap;gap:10px}.dash-detail-wrap{max-height:55vh;overflow:auto;margin-top:12px;border:1px solid var(--border);border-radius:12px}.dash-detail-table{margin:0}.expiry-tag,.days-left{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600}.expiry-tag-danger,.days-left-danger{background:#fef2f2;color:#dc2626}.expiry-tag-warning,.days-left-warning{background:#fff7ed;color:#ea580c}.expiry-tag-info,.days-left-info{background:#eff6ff;color:#2563eb}.product-edit-image-row{display:flex;align-items:flex-start;gap:16px;margin-top:8px}.inv-thumb-readonly .inv-thumb-box{cursor:default}.page-products .page-subtitle{margin-top:-8px;margin-bottom:16px;color:var(--muted)}.nav-link{position:relative}.nav-drag-handle{margin-right:6px;opacity:.45;cursor:grab;font-size:11px;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.nav-link:hover .nav-drag-handle{opacity:.85}.nav-link-dragging{opacity:.55}.product-edit-image-top{margin-top:0;margin-bottom:4px}.dash-stock-alert{padding:20px 24px;margin-bottom:20px}.dash-alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;margin-left:10px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:700}.dash-alert-ok{color:var(--muted)}.dash-alert-list-wrap{overflow:auto}.dash-alert-modal-list-wrap{max-height:min(60vh,520px)}.dash-alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-alert-item{padding:6px 0}.dash-alert-item-text{margin:0;font-size:13px;line-height:1.5;font-weight:600}.dash-alert-product-name{font-weight:700}.dash-alert-item-meta{font-size:inherit;font-weight:500;opacity:.9}.dash-alert-item-spec{margin:4px 0 0;font-size:11px}.dash-alert-item-rank-1 .dash-alert-item-text,.dash-alert-item-rank-1 .dash-alert-product-name,.dash-alert-item-rank-1 .dash-alert-item-meta{color:#dc2626}.dash-alert-item-rank-2 .dash-alert-item-text,.dash-alert-item-rank-2 .dash-alert-product-name,.dash-alert-item-rank-2 .dash-alert-item-meta{color:#ea580c}.dash-alert-item-rank-n .dash-alert-item-text,.dash-alert-item-rank-n .dash-alert-product-name,.dash-alert-item-rank-n .dash-alert-item-meta{color:#111827}.dash-alert-more-btn{display:block;width:100%;margin-top:10px;padding:8px 0;border:none;background:none;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;text-align:center}.dash-alert-more-btn:hover{text-decoration:underline}.inv-batch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:140px;max-width:280px}.inv-batch-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border-radius:8px;background:#f8fafc;border:1px solid var(--border);font-size:13px}.inv-batch-no{font-weight:600;color:var(--text);word-break:break-all}.inv-batch-qty{flex-shrink:0;font-weight:700;color:#0d9488;font-variant-numeric:tabular-nums}.inv-batch-empty{color:var(--muted);font-size:13px}.inv-qty-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px}.inv-qty-btn.has-stock{color:#0f766e}.inv-qty-btn:hover:not(:disabled){background:#f0fdf4}.inv-qty-btn:disabled{cursor:default;opacity:.7}.inv-qty-chevron{font-size:11px;opacity:.75}.inv-stock-detail-row td{background:#f8fafc;border-bottom:1px solid #e2e8f0}.inv-stock-detail-row .inv-stock-detail-spacer{padding:0!important;border-bottom:1px solid #e2e8f0}.inv-stock-detail-row .inv-stock-detail-cell{padding:10px 12px 12px!important;vertical-align:top;text-align:left}.inv-stock-detail{padding:0;text-align:left}.inv-wh-block+.inv-wh-block{margin-top:12px;padding-top:12px;border-top:1px dashed #e2e8f0}.inv-wh-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;color:#334155;margin-bottom:6px}.inv-wh-subtotal{font-size:13px;color:#64748b;font-weight:500}.inv-wh-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inv-wh-line{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:#475569;padding:4px 0}.inv-wh-batch{min-width:120px}.inv-wh-expiry{min-width:140px}.inv-wh-line-qty{font-weight:600;color:#0f766e;margin-left:auto}.inventory-table td{vertical-align:middle}.batch-stock-modal{max-width:960px}.batch-lines-wrap{margin-top:16px;max-height:50vh;overflow:auto;border:1px solid var(--border);border-radius:12px}.batch-lines-table{margin:0;min-width:720px}.batch-lines-table input[type=number],.batch-lines-table input[type=date]{width:100%;min-width:88px}.batch-field-cell .required-option-field label{display:none}.batch-product-btn{max-width:160px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number],.qty-input,.inv-op-input-num{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.inv-op-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.inv-op-modal{max-width:980px;width:min(96vw,980px);padding:0;overflow:hidden;border-radius:16px}.inv-op-modal-in{border-top:4px solid #0d9488}.inv-op-modal-transfer{border-top:4px solid #6366f1}.inv-op-header{display:flex;align-items:flex-start;gap:14px;padding:20px 22px 16px;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid var(--border)}.inv-op-header h3{margin:0 0 4px;font-size:18px}.inv-op-header .hint{margin:0;font-size:13px}.inv-op-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0}.inv-op-icon-in{background:#ccfbf1;color:#0f766e}.inv-op-icon-transfer{background:#e0e7ff;color:#4338ca}.inv-op-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:16px 22px;background:#fafbfc;border-bottom:1px solid var(--border)}.inv-op-meta-item label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.inv-op-meta-stat{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 14px;background:#fff;border:1px solid var(--border);border-radius:10px}.inv-op-stat-label{font-size:12px;color:var(--muted)}.inv-op-stat-value{font-size:22px;font-weight:800;color:var(--text)}.inv-op-lines{padding:12px 22px 8px}.inv-op-lines-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700;font-size:14px}.inv-op-table-wrap{max-height:48vh;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.inv-op-table{margin:0;min-width:760px}.inv-op-table th{position:sticky;top:0;z-index:1;background:#f1f5f9;font-size:12px}.inv-op-table td{vertical-align:middle;padding:10px 8px}.inv-op-product-pick{width:100%;min-width:120px;max-width:180px;text-align:left;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;cursor:pointer;font-size:13px;color:var(--text)}.inv-op-product-pick:hover{border-color:#6366f1;background:#eef2ff}.inv-op-product-pick .muted{color:var(--muted)}.inv-op-input-num{width:88px}.inv-op-lot-select{width:100%;min-width:140px;max-width:200px}.inv-op-readonly{min-height:36px;display:flex;align-items:center;font-size:13px;background:#f1f5f9}.inv-op-readonly-qty{font-weight:700;color:#0d9488;justify-content:center}.inv-op-field-compact label{font-size:11px;margin-bottom:4px}.inv-op-row-del{width:40px;text-align:center}.inv-op-footer{display:flex;gap:10px;padding:16px 22px 20px;border-top:1px solid var(--border);background:#fafbfc}.inv-op-modal-import{border-top:4px solid #2563eb;max-width:640px}.inv-op-icon-import{background:#dbeafe;color:#1d4ed8}.product-import-body{padding:16px 22px 8px}.product-import-steps{display:grid;gap:18px}.product-import-step{display:flex;gap:14px;align-items:flex-start}.product-import-step .step-num{width:28px;height:28px;border-radius:50%;background:#e0e7ff;color:#4338ca;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.product-import-dl{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.product-import-drop{margin-top:10px;padding:24px 16px;border:2px dashed #cbd5e1;border-radius:12px;text-align:center;cursor:pointer;background:#f8fafc;transition:border-color .15s,background .15s}.product-import-drop:hover{border-color:#6366f1;background:#eef2ff}.product-import-drop.has-file{border-color:#0d9488;background:#f0fdfa}.product-import-drop-icon{font-size:28px;display:block;margin-bottom:6px}.product-import-filename{font-weight:600;color:var(--text);display:block}.product-import-result{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:14px}.product-import-result.success{background:#ecfdf5;border:1px solid #6ee7b7}.product-import-result.has-error{background:#fff7ed;border:1px solid #fdba74}.product-import-errors{margin:8px 0 0;padding-left:20px;font-size:13px;color:#7c2d12;max-height:120px;overflow:auto}.text-danger{color:#dc2626}.page-products .toolbar{flex-wrap:wrap;gap:8px}.optional-date-field .optional-date-picker-row{position:relative;margin-top:8px}.optional-date-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.optional-date-chosen{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shelf-life-select{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.shelf-life-chip{padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;color:#475569;cursor:pointer}.shelf-life-chip:hover{border-color:#94a3b8;background:#f8fafc}.shelf-life-chip--active{border-color:#4f46e5;background:#eef2ff;color:#4338ca;font-weight:600}.expiry-auto-display{min-height:40px;display:flex;align-items:center;padding:8px 12px;background:#f1f5f9;border-radius:10px;font-size:14px}.inv-op-expiry-auto-label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.optional-date-display{font-size:14px;color:var(--text, #1a1a1a)}.history-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-warning{background:#f59e0b;color:#fff;border-color:#d97706}.btn-warning:hover:not(:disabled){background:#d97706}.btn-warning:disabled{opacity:.5;cursor:not-allowed}.tag-warn{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#fef3c7;color:#92400e}.data tr.row-inactive td,.data tr.row-inactive td strong{color:#94a3b8}.autocomplete-list li{line-height:1.4;padding:8px 12px}.history-edit-wrap{position:relative;display:inline-block}.history-edit-wrap[data-tip]:after{content:attr(data-tip);position:absolute;z-index:80;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:240px;padding:6px 10px;font-size:12px;font-weight:500;line-height:1.35;color:#fff;background:#334155;border-radius:6px;box-shadow:0 4px 12px #0f172a2e;white-space:normal;text-align:center;pointer-events:none;opacity:0;visibility:hidden}.history-edit-wrap[data-tip]:hover:after,.history-edit-wrap[data-tip]:focus-within:after{opacity:1;visibility:visible}.history-page .history-edit-wrap{margin-left:6px}.stock-in-records-table .history-actions-row{gap:12px}.stock-in-records-table .history-actions{max-width:220px}.history-edit-wrap--disabled{cursor:not-allowed;display:inline-block}.history-actions .btn-history-edit:disabled{opacity:1;cursor:not-allowed}.customer-orders-modal{max-width:960px;width:min(96vw,960px);max-height:90vh;overflow:auto}.customer-orders-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:8px}.customer-orders-toolbar label{display:inline-flex;align-items:center;gap:6px;font-size:14px}.history-actions .btn-sm,.customer-order-row .btn-sm{padding:4px 10px;font-size:13px}.inv-tabs{display:flex;gap:8px;margin-bottom:16px}.inv-tab{padding:8px 18px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;font-size:14px}.inv-tab--active{background:#38bdf81f;border-color:#38bdf873;color:#38bdf8;font-weight:600}.damage-records-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.damage-filter{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted)}.damage-filter input,.damage-filter select{min-width:140px}.damage-filter--grow{flex:1;min-width:200px}.damage-filter--grow input{width:100%;min-width:220px}.damage-note-cell{max-width:280px;white-space:pre-wrap;word-break:break-word}.modal textarea{width:100%;resize:vertical;min-height:72px}.tag-ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.muted{color:#64748b;font-size:.9rem}.field-label{display:inline;white-space:nowrap}.field-label .req,.req{color:#dc2626;font-weight:600}.hint-line{font-size:.85rem;color:#64748b;margin:8px 0 0}.logistics-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.logistics-form-grid .span-2{grid-column:span 2}.logistics-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted);font-weight:500}.logistics-form-grid label>.field-label{margin-bottom:0}.logistics-form-grid select,.logistics-form-grid input,.logistics-form-grid textarea{border:1px solid #cbd5e1;border-radius:8px}.logistics-detail-block{margin:12px 0 16px;padding:12px 14px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.logistics-detail-block h4{margin:0 0 8px;font-size:.95rem}.track-entry-card{margin-bottom:16px}.track-entry-card h3{margin-top:0}.track-entry-url{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.track-entry-url code{flex:1;min-width:200px;padding:8px 10px;background:#f1f5f9;border-radius:8px;word-break:break-all;font-size:.85rem}.track-page{min-height:100vh;max-width:480px;margin:0 auto;padding:20px 16px 36px;background:linear-gradient(165deg,#0f172a,#1e3a5f 22%,#f0f4f8 22%);box-sizing:border-box}.track-header{color:#f8fafc;text-align:center;margin-bottom:18px;padding-top:4px}.track-brand{display:inline-block;padding:4px 14px;font-size:.72rem;letter-spacing:.14em;border:1px solid rgba(248,250,252,.25);border-radius:999px;margin-bottom:10px}.track-header h1{margin:0 0 8px;font-size:1.5rem;font-weight:700;letter-spacing:.02em}.track-header p{margin:0;font-size:.92rem;color:#cbd5e1}.track-page .card{border:none;border-radius:14px;box-shadow:0 8px 24px #0f172a14}.track-search{padding:18px 16px;margin-bottom:16px}.track-search-label{display:block;margin-bottom:12px}.track-search-label>span{display:block;font-size:.88rem;font-weight:600;color:#334155;margin-bottom:8px}.track-search input{width:100%;box-sizing:border-box;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1.1rem;letter-spacing:.06em;transition:border-color .15s,box-shadow .15s}.track-search input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.track-search-btn{width:100%;margin-top:4px;padding:14px;font-size:1.05rem;font-weight:600;border-radius:12px}.track-error{color:#dc2626;font-size:.88rem;margin:12px 0 0;text-align:center}.track-empty{text-align:center;color:#64748b;padding:28px 16px;font-size:.92rem;line-height:1.55}.track-results-wrap{position:relative;margin-bottom:8px}.track-results{display:flex;flex-direction:column;gap:14px}.track-card{padding:16px;overflow:hidden}.track-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.track-card-head strong{font-size:.95rem;color:#64748b;font-weight:600}.track-card-head span{font-size:.82rem;color:#94a3b8}.track-card-sub{margin:10px 0 0;font-weight:700;font-size:1.02rem;color:#0f172a}.track-card-addr{margin:4px 0 14px;font-size:.84rem;color:#64748b;line-height:1.45}.track-logistics-panel{display:flex;flex-direction:column;gap:10px}.track-log-block{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.track-log-carrier{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-color:#bfdbfe}.track-log-tracking{background:#fff;border-color:#dbeafe}.track-log-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:none;letter-spacing:.04em}.track-log-value{line-height:1.35}.track-log-carrier-name{font-size:1.22rem;font-weight:800;color:#0c4a6e;letter-spacing:.02em}.track-log-no-btn,.track-log-no-text{font-size:1.08rem;font-weight:700;color:#1d4ed8;word-break:break-all}.track-log-no-btn{background:none;border:none;padding:0;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.track-log-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.track-metric{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.track-metric-label{font-size:.7rem;font-weight:600;color:#94a3b8}.track-metric-value{font-size:1.05rem;font-weight:800;color:#0f766e}.track-log-remark{background:#fffbeb;border-color:#fde68a}.track-log-remark-text{font-size:.9rem;color:#78350f;line-height:1.45}.track-hint-under-no{margin:8px 0 0;padding-top:6px;border-top:1px dashed #e2e8f0}.track-hint{font-size:.75rem;color:#94a3b8;margin:12px 0 0;line-height:1.4}.track-hint-ziti{color:#b45309}.track-more-btn{display:block;margin:10px 0 0 auto;padding:8px 14px;font-size:.82rem;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;cursor:pointer;box-shadow:0 2px 8px #2563eb1f}.track-more-btn:active{background:#dbeafe}.track-more-note{margin:8px 0 0;text-align:right;font-size:.75rem;color:#94a3b8}.track-footer{margin-top:32px;padding-top:20px;text-align:center;border-top:1px solid #e2e8f0}.track-copyright{margin:0 0 18px;font-size:.82rem;font-weight:600;color:#475569;letter-spacing:.02em}.track-footer-contact{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:#fff;border-radius:14px;box-shadow:0 4px 16px #0f172a0f}.track-footer-qr{width:120px;height:120px;border-radius:10px;object-fit:cover;border:1px solid #e2e8f0}.track-footer-contact-text{margin:0;max-width:260px;font-size:.8rem;line-height:1.5;color:#64748b}.logistics-edit-hint{margin:0 0 12px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.88rem;color:#1e40af}.logistics-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.logistics-detail-head h4{margin:0}.logistics-updated-at{margin:0 0 8px;font-size:.82rem}.btn-sm{padding:4px 10px;font-size:.82rem}.track-share-card{margin-bottom:20px}.track-share-card h3{margin-top:0}.track-qr-wrap{margin-top:16px;text-align:center}.track-qr-img{border-radius:12px;border:1px solid #e2e8f0;background:#fff}.track-share-compact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.track-share-in-detail{margin-top:12px;padding-top:12px;border-top:1px dashed #cbd5e1}.track-dl-wide{grid-column:span 2}.track-no-list{display:flex;flex-direction:column;gap:8px;width:100%}.track-no-row{display:flex;align-items:flex-start;gap:8px}.track-no-idx{flex-shrink:0;width:1.4rem;height:1.4rem;line-height:1.4rem;text-align:center;font-size:.72rem;font-weight:700;color:#fff;background:#2563eb;border-radius:50%}.track-copy-all-btn{align-self:flex-start;margin-top:2px;padding:6px 12px;font-size:.78rem;font-weight:600;color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;cursor:pointer}.track-copy-all-btn:active{background:#d1fae5}.logistics-form-grid textarea{min-height:72px;resize:vertical;font-family:inherit}.tracking-no-list .track-no-row{margin-bottom:4px}.tracking-no-btn{background:none;border:none;padding:0;color:#2563eb;font-weight:600;cursor:pointer;text-decoration:underline;word-break:break-all;text-align:left}.tracking-no-hint{margin:6px 0 0;font-size:.78rem;color:#94a3b8;line-height:1.4}.track-batch-query-btn{width:100%;margin-bottom:4px;padding:12px 14px;font-size:.92rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px #2563eb59}.track-batch-query-btn:active{transform:scale(.98)}.logistics-form-grid .field-hint{display:block;margin-top:6px;font-size:.78rem;color:#64748b;line-height:1.4}.history-page .history-toolbar .btn-export{background:#fff;color:#4338ca;border:1px solid #c7d2fe;box-shadow:none;text-decoration:none;display:inline-flex;align-items:center}.history-page .history-toolbar .btn-export:hover{background:#eef2ff;color:#3730a3;border-color:#a5b4fc}.history-page .tag{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3}.history-page .tag-neutral{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.history-page .tag-logistics{background:#eef2ff;color:#4338ca;border:1px solid #e0e7ff}.history-page .tag-warn{background:#fffbeb;color:#a16207;border:1px solid #fde68a}.history-page .history-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-start;max-width:420px}.history-page .history-actions-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.history-page .history-actions .btn{margin-left:0;box-shadow:none!important;font-weight:500}.history-page .history-actions .btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.history-page .history-actions .btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#334155}.history-page .history-actions .btn-reprint{background:#4f46e5;color:#fff;border:none}.history-page .history-actions .btn-reprint:hover:not(:disabled){background:#4338ca}.history-page .history-actions .btn-revoke{background:#fff;color:#78716c;border:1px solid #e7e5e4}.history-page .history-actions .btn-revoke:hover:not(:disabled){background:#fafaf9;color:#b45309;border-color:#fde68a}.history-page .history-actions .btn-delete{background:transparent;color:#94a3b8;border:1px solid transparent}.history-page .history-actions .btn-delete:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fecaca}.history-page .history-actions .btn:disabled:not(.btn-history-edit){opacity:.5}.history-page .history-edit-wrap--disabled .btn-history-edit:disabled{opacity:1!important;color:#64748b!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;cursor:not-allowed}.history-page .history-actions .btn-history-edit:not(:disabled){color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;font-weight:600}.history-page .history-actions .btn-history-edit:not(:disabled):hover{background:#e0e7ff;border-color:#a5b4fc;color:#3730a3}.track-trace-block{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.track-trace-title{margin:0 0 12px;font-size:.92rem;font-weight:700;color:#334155}.track-trace-package+.track-trace-package{margin-top:16px;padding-top:14px;border-top:1px dashed #e2e8f0}.track-trace-no-label{margin:0 0 8px;font-size:.82rem;color:#64748b}.track-trace-no-label strong{color:#1e293b;font-weight:700}.track-trace-status{display:inline-block;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:600;color:#047857;background:#ecfdf5;border-radius:4px}.track-trace-summary{margin:0 0 8px;font-size:.85rem;color:#475569}.track-trace-take{color:#94a3b8;font-weight:400}.track-trace-latest{margin:0 0 10px;font-size:.85rem;color:#64748b}.track-trace-error{margin:0;font-size:.85rem;color:#b45309}.track-trace-hint{margin:12px 0 0;font-size:.8rem}.track-trace-timeline{list-style:none;margin:0;padding:0 0 0 8px;border-left:2px solid #e2e8f0}.track-trace-timeline li{position:relative;padding:0 0 14px 16px}.track-trace-timeline li:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;box-shadow:0 0 0 1px #e2e8f0}.track-trace-timeline li.is-latest:before{background:#4f46e5;box-shadow:0 0 0 2px #e0e7ff}.track-trace-timeline li.is-latest .track-trace-desc{color:#1e293b;font-weight:600}.track-trace-timeline time{display:block;font-size:.75rem;color:#94a3b8;margin-bottom:2px}.track-trace-desc{margin:0;font-size:.88rem;color:#475569;line-height:1.45}.track-trace-area{margin:2px 0 0;font-size:.78rem;color:#94a3b8}.express3-query-stats-modal{width:min(1280px,98vw);max-width:min(1280px,98vw)}.express3-query-stats-modal .dash-detail-wrap{max-height:min(70vh,720px)}.express3-query-stats-modal .dash-query-log-table th,.express3-query-stats-modal .dash-query-log-table td{font-size:13px;white-space:normal;word-break:break-word;vertical-align:top;line-height:1.4}.express3-query-stats-modal .dash-query-log-table td:nth-child(1),.express3-query-stats-modal .dash-query-log-table th:nth-child(1){white-space:nowrap}.express3-query-stats-modal .dash-query-log-table td:nth-child(5){max-width:none;overflow:visible;text-overflow:unset;min-width:88px}.express3-query-stats-modal .dash-query-log-table td:nth-child(6){min-width:100px;font-family:ui-monospace,monospace;font-size:12px}.history-trace-modal{width:min(960px,96vw);max-width:min(960px,96vw)}.history-trace-modal .track-trace-block{margin-top:0;max-height:min(72vh,640px);overflow-y:auto;padding-right:4px}.history-trace-modal .modal h3,.history-trace-modal h3{margin-bottom:8px}.history-trace-modal .track-trace-desc,.history-trace-modal .track-trace-latest{word-break:break-word}.logistics-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.logistics-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stock-in-records-modal{max-width:1100px;width:min(96vw,1100px)}.stock-in-records-table{font-size:13px}.stock-in-records-table .history-actions{max-width:160px}.stock-in-edit-panel{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.stock-in-edit-panel h4{margin:0 0 8px;font-size:1rem}.data tr.row-revoked td{color:#94a3b8}.tag-partial{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#fff7ed;color:#c2410c}.tag-muted{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#f1f5f9;color:#64748b}.stock-state-sub{display:block;font-size:11px;margin-top:2px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg, #f1f5f9)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:14px}.sidebar-user{margin-top:auto;padding:16px 12px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:8px}.sidebar-user-name{font-size:13px;color:#ffffffd9}.btn-sm{padding:6px 12px;font-size:12px}.perm-matrix-scroll{max-height:50vh;overflow:auto;margin:12px 0;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:12px}.perm-group{margin-bottom:14px}.perm-group-title{font-weight:700;margin-bottom:8px;font-size:13px}.perm-group-items{display:flex;flex-wrap:wrap;gap:8px 16px}.perm-check{font-size:12px;display:inline-flex;align-items:center;gap:6px}.perm-matrix-wh{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.auth-reset-link-box{margin-top:12px;padding:12px;background:#f0f9ff;border-radius:8px}.auth-reset-link{font-weight:600;color:#0369a1;word-break:break-all}.nav-group{margin:0 0 4px}.nav-group-head{cursor:pointer;margin-bottom:2px}.nav-group-head .nav-drag-handle{cursor:grab}.nav-group-head .nav-drag-handle:active{cursor:grabbing}.nav-group-label{flex:1}.nav-group-chevron{flex-shrink:0;font-size:11px;opacity:.65;margin-left:4px}.nav-group-children{display:flex;flex-direction:column;gap:2px;padding:0;margin:0}.nav-sublink{padding:10px 14px!important;font-size:13px;font-weight:400;color:#94a3b8;display:flex!important;align-items:center;gap:10px}.nav-sublink:hover{color:#cbd5e1}.nav-sublink.active{color:#f1f5f9}.nav-sublink-icon-slot{width:22px;height:22px;flex-shrink:0}.nav-sublink-label{flex:1}.nav-sublink .nav-drag-handle{margin-right:0;flex-shrink:0;opacity:.45}.nav-sublink:hover .nav-drag-handle{opacity:.75}.auth-admin-split{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}@media (max-width: 960px){.auth-admin-split{grid-template-columns:1fr}}.auth-role-sidebar{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:12px;box-shadow:0 1px 3px #0f172a0f;max-height:calc(100vh - 180px);overflow:auto;position:sticky;top:16px}.auth-role-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border, #e2e8f0)}.auth-role-sidebar-title{font-weight:700;font-size:14px;color:#0f172a}.auth-role-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.auth-role-list-item{width:100%;text-align:left;border:1px solid transparent;background:#f8fafc;border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.auth-role-list-item:hover{background:#f1f5f9;border-color:#cbd5e1}.auth-role-list-item.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640}.auth-role-list-name{display:block;font-weight:600;font-size:14px;color:#0f172a}.auth-role-list-meta{display:block;margin-top:4px;font-size:12px;color:#64748b}.auth-role-editor{min-width:0;display:flex;flex-direction:column;gap:16px}.auth-role-empty{padding:48px 24px;text-align:center;background:#f8fafc;border-radius:12px;border:1px dashed #cbd5e1}.card-panel{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #0f172a0d}.auth-role-meta-title{margin:0 0 14px;font-size:15px;font-weight:700;color:#0f172a}.auth-role-meta-body{display:flex;flex-direction:column;gap:14px;width:100%}.auth-role-meta-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;width:100%}@media (max-width: 720px){.auth-role-meta-row2{grid-template-columns:1fr}}.auth-role-meta .auth-field{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}.auth-field-label{font-size:13px;font-weight:600;color:#334155}.auth-field input,.auth-field select{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;background:#fff;margin:0}.auth-role-meta-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-top:14px;border-top:1px solid #e2e8f0;width:100%}.auth-inherit-row{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#475569;white-space:nowrap}.auth-inherit-row input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.auth-inherit-row label{margin:0;font-size:13px;font-weight:500;color:#475569;cursor:pointer;white-space:normal}.auth-copy-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.auth-copy-label{font-size:13px;color:#64748b;white-space:nowrap}.auth-copy-row select{min-width:180px;border-radius:8px;border:1px solid #cbd5e1}.auth-role-actions{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:24px}.auth-users-page .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.auth-users-page .toolbar .btn{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:42px;box-sizing:border-box}.auth-users-page .table-wrap{overflow-x:auto}.auth-perm-matrix-title{margin:0 0 6px;font-size:16px;font-weight:700;color:#0f172a}.auth-perm-matrix-hint{margin:0 0 12px}.auth-perm-matrix-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px}.auth-perm-matrix{width:100%;min-width:640px;margin:0;border-collapse:collapse}.auth-perm-matrix thead th{background:#f1f5f9;font-size:13px;font-weight:700;color:#334155;padding:10px 14px;text-align:left;border-bottom:1px solid #e2e8f0}.auth-perm-matrix tbody tr{border-bottom:1px solid #e2e8f0}.auth-perm-matrix tbody tr:last-child{border-bottom:none}.auth-perm-matrix tbody tr:hover{background:#fafafa}.auth-perm-section-row td{background:#f1f5f9;color:#334155;font-size:13px;font-weight:700;padding:10px 14px;letter-spacing:.02em}.auth-perm-section-row:hover td{background:#f1f5f9}.auth-perm-col-module{width:140px;min-width:120px;max-width:160px;vertical-align:top;padding:12px 14px!important;background:#f8fafc;font-weight:600;color:#0f172a}.auth-perm-module-name{font-size:14px;line-height:1.4}.auth-perm-module-meta{font-size:12px;color:#64748b;margin-top:4px;font-weight:500}.auth-perm-module-all{font-size:12px;margin-top:6px;display:inline-block}.auth-perm-checks{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 14px;align-items:center}.auth-perm-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;cursor:pointer;white-space:nowrap}.auth-perm-check input{width:16px;height:16px;margin:0;flex-shrink:0}.auth-super-hint{margin:8px 0 12px;padding:10px 12px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe}.page-smtp-settings .span-2{grid-column:1 / -1}.page-smtp-settings code{font-size:.88em;background:#f1f5f9;padding:2px 6px;border-radius:4px}.page-smtp-settings .smtp-settings-tabs{display:flex;gap:8px;margin:0 0 18px;padding:5px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.page-smtp-settings .smtp-settings-tabs button{flex:1;min-height:42px;border:0;border-radius:9px;background:transparent;color:#64748b;font-weight:700;cursor:pointer}.page-smtp-settings .smtp-settings-tabs button.active{background:#fff;color:#1769e0;box-shadow:0 2px 8px #0f172a14}.page-smtp-settings .smtp-order-notice-card{display:grid;gap:16px}.page-smtp-settings .smtp-order-notice-card h3,.page-smtp-settings .smtp-order-notice-card p{margin:0}.page-smtp-settings .smtp-order-notice-card label>span{display:block;margin-bottom:7px;font-weight:700}.page-smtp-settings .smtp-order-notice-card textarea{width:100%;min-height:150px;box-sizing:border-box;line-height:1.7}.alert-warn{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;padding:12px 16px;border-radius:10px;margin-bottom:16px}.page-wechat-oa-settings .wechat-push-card{background:var(--bg-muted, #f8faf9);margin-top:0}.page-wechat-oa-settings .input-with-action{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}.page-wechat-oa-settings .input-with-action input{flex:1;min-width:0;margin-bottom:0}.page-wechat-oa-settings .input-with-action .btn{flex-shrink:0;white-space:nowrap}.page-wechat-oa-settings .input-with-action input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.page-wechat-oa-settings .wechat-oa-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-wechat-oa-settings .wechat-oa-status-row{display:flex;flex-wrap:wrap;gap:8px}.page-wechat-oa-settings .wechat-oa-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;background:var(--bg-muted, #f1f5f9);color:var(--text-muted, #64748b)}.page-wechat-oa-settings .wechat-oa-pill.on{background:#dcfce7;color:#166534}.page-wechat-oa-settings .wechat-oa-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 960px){.page-wechat-oa-settings .wechat-oa-layout{grid-template-columns:1fr}}.page-wechat-oa-settings .wechat-oa-section{margin-bottom:0}.page-wechat-oa-settings .span-all{grid-column:1 / -1}.page-wechat-oa-settings .wechat-oa-section-title{margin:0 0 12px;font-size:1.05rem}.page-wechat-oa-settings .wechat-oa-template-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.page-wechat-oa-settings .wechat-oa-template-head .wechat-oa-section-title{margin:0}.page-wechat-oa-settings .wechat-oa-template-tag{font-size:12px;padding:2px 8px;border-radius:6px;background:#e0f2fe;color:#0369a1}.page-wechat-oa-settings .wechat-oa-template-tag.accent{background:#fef3c7;color:#b45309}.page-wechat-oa-settings .wechat-oa-template-card--ship{border-left:3px solid #0ea5e9}.page-wechat-oa-settings .wechat-oa-template-card--receipt{border-left:3px solid #f59e0b}.page-wechat-oa-settings .wechat-oa-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.page-wechat-oa-settings .wechat-oa-field-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 640px){.page-wechat-oa-settings .wechat-oa-field-grid,.page-wechat-oa-settings .wechat-oa-field-grid--2{grid-template-columns:1fr}}.page-wechat-oa-settings .wechat-oa-field{display:flex;flex-direction:column;gap:4px}.page-wechat-oa-settings .wechat-oa-field-label{font-size:13px;font-weight:600;color:var(--text-secondary, #475569)}.page-wechat-oa-settings .wechat-oa-field-hint{font-size:12px;color:var(--text-muted, #94a3b8)}.page-wechat-oa-settings .wechat-oa-bind-section{display:flex;flex-direction:column;gap:20px}.page-wechat-oa-settings .wechat-oa-bind-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.page-wechat-oa-settings .wechat-oa-bind-header .wechat-oa-section-title{margin-bottom:6px}.page-wechat-oa-settings .wechat-oa-bind-desc{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted, #64748b);max-width:52rem}.page-wechat-oa-settings .wechat-oa-bind-count{flex-shrink:0;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;background:#e0f2fe;color:#0369a1}.page-wechat-oa-settings .wechat-oa-bind-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:stretch}@media (max-width: 768px){.page-wechat-oa-settings .wechat-oa-bind-panel{grid-template-columns:1fr}}.page-wechat-oa-settings .wechat-oa-bind-link-card,.page-wechat-oa-settings .wechat-oa-bind-qr-card{padding:16px 18px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--bg-muted, #f8fafc)}.page-wechat-oa-settings .wechat-oa-bind-qr-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:240px}.page-wechat-oa-settings .wechat-oa-bind-card-title{margin:0 0 14px;font-size:.95rem;font-weight:600;color:var(--text, #0f172a)}.page-wechat-oa-settings .wechat-oa-bind-actions{margin-top:4px}.page-wechat-oa-settings .wechat-oa-bind-qr-wrap{padding:10px;background:#fff;border-radius:8px;border:1px solid var(--border, #e2e8f0);line-height:0}.page-wechat-oa-settings .wechat-oa-bind-qr-wrap img{display:block}.page-wechat-oa-settings .wechat-oa-bind-qr-hint{margin:12px 0 0;font-size:13px;color:var(--text-muted, #64748b)}.page-wechat-oa-settings .wechat-oa-bind-list{padding-top:4px;border-top:1px solid var(--border, #e2e8f0)}.page-wechat-oa-settings .wechat-oa-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:#f8fafc;position:sticky;top:8px;z-index:5}.page-wechat-oa-settings .wechat-oa-tabs button{flex:1;min-height:42px;border:0;border-radius:9px;background:transparent;color:#64748b;font-weight:700;cursor:pointer}.page-wechat-oa-settings .wechat-oa-tabs button.active{background:#fff;color:#1769e0;box-shadow:0 2px 8px #0f172a14}.page-wechat-oa-settings .wechat-oa-tabs button span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:4px;border-radius:10px;background:#e8eef8;font-size:12px}.page-wechat-oa-settings .wechat-oa-tabs button.active span{background:#eaf2ff}.page-wechat-oa-settings .wechat-oa-bind-list .wechat-oa-bind-card-title{margin-bottom:12px}.page-wechat-oa-settings .wechat-oa-bind-empty{margin:0;padding:20px 16px;text-align:center;border:1px dashed var(--border, #cbd5e1);border-radius:8px;background:var(--bg-muted, #f8fafc)}.page-wechat-oa-settings .wechat-oa-bind-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.page-wechat-oa-settings .wechat-oa-bind-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.page-wechat-oa-settings .wechat-oa-bind-filter-tabs button{border:1px solid var(--border,#cbd5e1);border-radius:999px;padding:8px 13px;background:#fff;color:var(--text-muted,#64748b);cursor:pointer}.page-wechat-oa-settings .wechat-oa-bind-filter-tabs button.active{border-color:#1769e0;background:#eaf2ff;color:#135bbb;font-weight:700}.page-wechat-oa-settings .wechat-oa-bind-filters>input{width:min(300px,100%);min-height:38px}@media (max-width:720px){.page-wechat-oa-settings .wechat-oa-bind-filters{align-items:stretch;flex-direction:column}.page-wechat-oa-settings .wechat-oa-bind-filters>input{width:100%}}.page-wechat-oa-settings .wechat-oa-bind-table-wrap{overflow-x:auto}.page-wechat-oa-settings .wechat-oa-openid-cell{max-width:280px;word-break:break-all;font-size:13px}.page-wechat-oa-settings .wechat-oa-bind-table-wrap .col-actions{width:96px;text-align:right;white-space:nowrap}.page-wechat-oa-settings .wechat-oa-save-bar{position:sticky;bottom:0;margin-top:20px;padding:12px 0;background:linear-gradient(transparent,var(--bg-page, #fff) 30%)}.page-wechat-oa-settings .mono-break{word-break:break-all}.page-wechat-oa-settings .wechat-oa-masked-row{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--bg-muted, #f8fafc)}.page-wechat-oa-settings .wechat-oa-masked-row--input{padding:0 4px 0 10px;background:var(--bg-input, #fff)}.page-wechat-oa-settings .wechat-oa-masked-row--input input{flex:1;min-width:0;border:none;background:transparent;padding:8px 0;box-shadow:none}.page-wechat-oa-settings .wechat-oa-masked-text{flex:1;font-size:14px;color:var(--text-muted, #64748b)}.page-wechat-oa-settings .wechat-oa-eye-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #475569);cursor:pointer}.page-wechat-oa-settings .wechat-oa-eye-loading{font-size:14px;line-height:1}.page-wechat-oa-settings .wechat-oa-eye-btn:hover{background:var(--bg-muted, #f1f5f9);color:var(--text, #0f172a)}.page-warehouses .wh-tree-table .wh-tree-name-cell{min-width:200px}.page-warehouses .wh-tree-name{display:flex;align-items:center;gap:6px;min-height:28px}.page-warehouses .wh-tree-branch{display:inline-block;width:12px;height:12px;border-left:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1;margin-right:2px;flex-shrink:0}.page-warehouses .wh-tree-label{font-weight:500}.page-warehouses .wh-tree-row--root .wh-tree-label{font-weight:600}.page-warehouses .wh-tree-row:not(.wh-tree-row--root) td{background:#fafbfc}.page-warehouses .wh-tree-actions{white-space:nowrap;width:120px}.page-stamps .stamp-acl-hint{display:block;margin-top:4px;font-size:12px}.page-stamps .stamp-admin-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.stamp-policy-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0}.stamp-policy-checks{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding:8px;border:1px solid #e2e8f0;border-radius:8px}.customer-price-modal{width:min(1480px,calc(100vw - 32px));max-width:none;max-height:92vh;box-sizing:border-box}.customer-price-modal .customer-price-table-wrap{width:100%;overflow-x:auto}.customer-price-modal .customer-price-table{width:100%;min-width:1260px;table-layout:auto}.customer-price-modal .customer-price-table th:first-child{min-width:190px}.customer-price-modal .customer-price-table th:last-child{min-width:105px}.customer-price-toolbar input{flex:1;min-width:180px}.customer-price-table tbody tr:nth-child(odd){background:#fff}.customer-price-table tbody tr:nth-child(2n){background:#f6f8fb}.customer-price-table td:first-child strong,.customer-price-table td:first-child small{display:block}.customer-price-table td:first-child small{color:var(--muted);margin-top:3px}.customer-price-table .money-cell{text-align:right;font-variant-numeric:tabular-nums}.customer-price-table .price-input-cell input{width:100px;text-align:right}.customer-price-table .price-input-cell small{display:block;min-height:16px}.save-error,.danger-text{color:#b91c1c!important}.shop-page{min-height:100vh;background:#f4f7fb;padding:0 12px 90px;color:#182235}.shop-head{padding:22px 4px 12px}.shop-head h1{margin:0 0 6px;font-size:23px}.shop-head p{margin:0;color:#667085}.shop-search{position:sticky;top:0;z-index:5;background:#f4f7fb;padding:10px 0}.shop-search input{width:100%;box-sizing:border-box;border:1px solid #d7deea;border-radius:12px;padding:13px;background:#fff}.shop-product{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;background:#fff;border-radius:12px;padding:10px;margin-bottom:8px;box-shadow:0 1px 4px #16213a10}.shop-product img{width:58px;height:58px;object-fit:cover;border-radius:8px;background:#f3f4f6}.shop-product-main strong,.shop-product-main small,.shop-product-main b{display:block}.shop-product-main small{color:#667085;margin:3px 0}.shop-product-main b{color:#d13c31}.shop-qty{display:flex;align-items:center;gap:5px;color:#667085;font-size:12px}.shop-qty input{width:70px;height:34px;border:1px solid #cfd7e5;border-radius:7px;text-align:center;padding:0 5px;box-sizing:border-box;color:#182235;font-size:14px}.shop-cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:8;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px #16213a18;display:flex;align-items:center;justify-content:space-between}.shop-cart-bar button,.shop-submit{border:0;border-radius:10px;background:#1769e0;color:#fff;padding:12px 18px;font-weight:700}.shop-cart-bar button:disabled{opacity:.45}.shop-checkout{background:#fff;border-radius:14px;padding:16px}.shop-checkout input,.shop-checkout textarea{width:100%;box-sizing:border-box;margin:6px 0;padding:12px;border:1px solid #d7deea;border-radius:9px}.shop-selected{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f5}.shop-selected small{display:block;color:#667085}.shop-total{text-align:right;font-size:18px;font-weight:700;padding:14px 0}.shop-submit{width:100%;margin-top:10px}.shop-back{border:0;background:none;color:#1769e0}.shop-error{background:#fff1f0;color:#b42318;padding:10px;border-radius:8px;margin-bottom:8px}.shop-success{margin:60px auto;max-width:420px;background:#fff;padding:28px;border-radius:16px;text-align:center}.shop-swipe-hint{margin:-5px 0 8px;color:#98a2b3;font-size:12px}.shop-selected-swipe{position:relative;overflow:hidden;border-bottom:1px solid #edf0f5;background:#d92d20}.shop-selected-swipe .shop-selected{position:relative;z-index:2;background:#fff;border-bottom:0;transition:transform .2s ease;touch-action:pan-y}.shop-selected-swipe .shop-selected.is-swiped{transform:translate(-76px)}.shop-selected-delete{position:absolute;z-index:1;right:0;top:0;bottom:0;width:76px;border:0;background:#d92d20;color:#fff;font-weight:700;font-size:15px}.shop-payment-proof{margin:18px 0 4px;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc}.shop-payment-proof h2{margin:0 0 5px}.shop-payment-proof p{margin:0 0 12px;color:#667085;font-size:13px}.shop-payment-proof>label{display:block}.shop-payment-proof>label input{position:absolute;opacity:0;width:1px;height:1px}.shop-payment-proof>label span{display:block;text-align:center;padding:13px;border-radius:9px;background:#1769e0;color:#fff;font-weight:700}.shop-proof-preview{display:flex;align-items:center;gap:10px;margin-top:12px}.shop-proof-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #d7deea}.shop-proof-preview small{color:#16803c}.shop-region-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shop-region-selects select{width:100%;min-width:0}.shop-payment-account{margin:18px 0 4px;padding:15px;border:1px solid #b8d5ff;border-radius:12px;background:linear-gradient(145deg,#f3f8ff,#fff)}.shop-payment-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shop-payment-account h2{margin:0 0 5px}.shop-payment-account p{margin:0;color:#475467;font-size:13px}.shop-payment-account-head button{flex:none;border:0;border-radius:8px;padding:9px 12px;background:#1769e0;color:#fff;font-weight:700}.shop-payment-account-head button:disabled{background:#b8c1cf}.shop-payment-account dl{margin:14px 0 0}.shop-payment-account dl div{display:grid;grid-template-columns:64px 1fr;padding:8px 0;border-top:1px dashed #d5e3f5}.shop-payment-account dt{color:#667085}.shop-payment-account dd{margin:0;color:#172b4d;font-weight:700;overflow-wrap:anywhere}.shop-payment-account-empty{margin-top:14px;color:#b54708}.customer-payment-admin{display:grid;gap:12px;margin-bottom:14px}.customer-payment-admin label span{display:block;margin-bottom:6px;font-weight:700}.customer-payment-admin input{width:100%;box-sizing:border-box}.shop-address-hint{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fff8e6;color:#8a4b08;font-size:13px;line-height:1.6}@media (max-width:520px){.shop-region-selects{grid-template-columns:1fr}.shop-payment-account-head{align-items:center}}.shop-gift-rule{color:#b54708!important;font-weight:700}.shop-unavailable{color:#b42318!important;font-weight:700}.shop-qty input:disabled{background:#eef1f5;color:#98a2b3;border-color:#d8dee8}.shop-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#0f172a9e;display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.shop-alert-dialog{width:min(100%,420px);background:#fff;border-radius:18px;padding:26px 22px 20px;box-sizing:border-box;text-align:center;box-shadow:0 24px 70px #0f172a52}.shop-alert-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff1f0;color:#d92d20;font-size:30px;font-weight:800}.shop-alert-dialog h2{margin:0 0 10px;font-size:20px;color:#182235}.shop-alert-dialog p{margin:0;color:#475467;font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.shop-alert-dialog button{width:100%;margin-top:22px;border:0;border-radius:11px;background:#1769e0;color:#fff;padding:13px 18px;font-size:16px;font-weight:700}.shop-line-subtotal small{display:block;margin-top:3px;color:#b54708;font-weight:700}.gift-qty-text{color:#b54708}@media (max-width:640px){.shop-product{grid-template-columns:52px minmax(0,1fr);align-items:start}.shop-product img{width:52px;height:52px}.shop-product-main{min-width:0}.shop-product-main strong,.shop-product-main small{overflow-wrap:anywhere}.shop-qty{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.shop-qty input{width:100%}.shop-selected{grid-template-columns:minmax(0,1fr) auto!important;align-items:start}.shop-selected>span:first-child{min-width:0;overflow-wrap:anywhere}.shop-selected>b{grid-column:2;text-align:right}.shop-checkout{padding:14px 10px;overflow:hidden}}@media (max-width:640px){.customer-price-table{font-size:12px}.customer-price-table th,.customer-price-table td{padding:8px 5px}.customer-price-table .price-input-cell input{width:72px}.customer-price-modal{width:calc(100vw - 12px);padding:14px}.customer-price-modal .customer-price-table-wrap{overflow-x:auto}.customer-price-modal .customer-price-table{min-width:1180px}}.terms-admin-editor{width:100%;min-height:260px;box-sizing:border-box;line-height:1.7;padding:12px}.terms-notice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#11182799;display:flex;align-items:center;justify-content:center;padding:18px}.terms-notice{width:min(520px,100%);max-height:82vh;background:#fff;border-radius:16px;padding:20px;box-sizing:border-box;display:flex;flex-direction:column}.terms-notice h2{margin:0 0 12px}.terms-notice-body{white-space:pre-wrap;overflow:auto;line-height:1.75;background:#f7f9fc;border-radius:10px;padding:14px}.terms-notice-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.terms-notice-actions button{border:1px solid #cfd7e5;border-radius:9px;padding:11px 15px;background:#fff}.terms-notice-actions .primary{background:#1769e0;color:#fff;border-color:#1769e0}.signature-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;background:#111827aa;display:flex;align-items:center;justify-content:center;padding:16px}.signature-dialog{width:min(560px,100%);background:#fff;border-radius:16px;padding:20px;box-sizing:border-box}.signature-dialog h2{margin-top:0}.signature-canvas{display:block;width:100%;height:210px;border:2px dashed #aeb8c8;border-radius:10px;background:#fff;touch-action:none}.signature-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.signature-actions button{padding:10px 13px;border:1px solid #ccd4df;border-radius:8px;background:#fff}.signature-actions .primary{background:#1769e0;color:#fff;border-color:#1769e0}.signature-actions button:disabled{opacity:.45}.shop-search{display:flex;align-items:center;gap:8px}.shop-search input{min-width:0;flex:1}.shop-search button{flex:none;border:0;background:transparent;color:#1769e0;font-size:12px;padding:8px 2px}.shop-product-order{display:flex;align-items:center;justify-content:flex-end;gap:10px}.shop-line-subtotal{min-width:92px;text-align:right;color:#d13c31;font-weight:700;font-size:13px}.shop-line-remove{border:0;background:transparent;color:#d92d20;padding:7px 2px;font-weight:700}@media (max-width:640px){.shop-product-order{grid-column:1/-1;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.shop-product-order .shop-qty{grid-column:auto;display:flex;width:auto}.shop-product-order .shop-qty input{width:64px}.shop-line-subtotal{min-width:0;text-align:right}.shop-line-remove{white-space:nowrap}.shop-search button{max-width:105px;white-space:normal;line-height:1.25}}.customer-proof-panel{margin:14px 0;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc}.customer-proof-panel h4{margin:0 0 10px}.customer-proof-panel img{display:block;width:min(100%,360px);max-height:420px;object-fit:contain;border-radius:10px;border:1px solid #d7deea;background:#fff}.customer-proof-panel p{margin:10px 0 0}.proof-modal-backdrop{z-index:240}.customer-proof-modal{width:min(92vw,720px);max-height:90vh;overflow:auto}.customer-proof-modal img{display:block;max-width:100%;max-height:68vh;margin:0 auto;object-fit:contain;border-radius:10px;border:1px solid #d7deea;background:#fff}.customer-proof-modal .toolbar{justify-content:center;margin-top:14px}.commission-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.commission-summary div{padding:16px;border-radius:12px;background:#f6f8fb;display:flex;flex-direction:column;gap:8px}.commission-summary strong{font-size:24px;color:#132a52}@media (max-width:760px){.commission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 769px){.mobile-topbar,.mobile-nav-backdrop{display:none!important}}.notify-order-page{min-height:100vh;background:#f3f6fb;padding:14px;color:#172033}.notify-order-page>header{max-width:720px;margin:auto;padding:12px 4px;display:flex;justify-content:space-between;align-items:center}.notify-order-page>header span{font-size:18px;font-weight:800}.notify-order-page>header b{color:#1769e0;background:#eaf2ff;border-radius:999px;padding:6px 10px;font-size:13px}.notify-order-card{max-width:720px;margin:0 auto;background:#fff;border-radius:15px;padding:18px 14px;box-shadow:0 5px 20px #1f314e14}.notify-order-card h1{font-size:20px;margin:0 0 5px}.notify-order-card>p{color:#667085}.notify-order-address{display:flex;flex-direction:column;gap:5px;background:#f8fafc;border-radius:10px;padding:12px;margin:15px 0}.notify-order-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:12px 0;border-bottom:1px solid #edf0f5}.notify-order-line strong,.notify-order-line small{display:block;overflow-wrap:anywhere}.notify-order-line small{color:#667085;margin-top:3px}.notify-order-line>b{grid-column:2;text-align:right;color:#d13c31}.notify-order-total{text-align:right;font-size:19px;font-weight:800;padding:16px 0}.notify-order-tip{background:#fff8e8!important;color:#8a5a00!important;padding:10px;border-radius:9px}.mobile-customer-page{min-height:100vh;background:#f3f6fb;color:#172033;padding-bottom:28px}.mobile-customer-header{height:60px;padding:0 16px;background:#fff;border-bottom:1px solid #e5eaf2;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.mobile-customer-header div{display:flex;flex-direction:column;gap:2px}.mobile-customer-header strong{font-size:17px}.mobile-customer-header span{color:#718096;font-size:12px}.mobile-customer-header button{border:0;background:transparent;color:#64748b;padding:10px}.mobile-customer-card{width:min(100% - 24px,720px);margin:18px auto 0;background:#fff;border-radius:16px;padding:20px 16px;box-shadow:0 7px 24px #1f314e14}.mobile-customer-card h1{font-size:24px;margin:6px 0}.mobile-customer-card>p{color:#64748b;margin:0 0 22px}.mobile-step{color:#2563eb;font-size:13px;font-weight:700}.mobile-customer-create label{display:block;font-weight:650;margin-top:18px}.mobile-customer-create input{width:100%;height:52px;margin-top:8px;font-size:17px;border:1px solid #d9e0ea;border-radius:11px;padding:0 14px}.mobile-customer-create input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.mobile-primary-action,.mobile-secondary-action{width:100%;min-height:50px;border-radius:11px;font-size:16px;font-weight:700;margin-top:24px}.mobile-primary-action{color:#fff;background:#2563eb;border:0}.mobile-primary-action:disabled{opacity:.6}.mobile-secondary-action{background:#fff;border:1px solid #cbd5e1;color:#334155}.mobile-form-error{color:#b42318;background:#fff1f0;border-radius:9px;padding:10px 12px;margin-top:14px}.mobile-link-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a8c;display:flex;align-items:center;padding:18px}.mobile-link-dialog{width:min(100%,520px);margin:auto;background:#fff;border-radius:16px;padding:22px 18px;box-shadow:0 18px 50px #0000003d}.mobile-link-dialog h2{margin:8px 0 4px}.mobile-link-dialog p{color:#64748b;margin:0 0 14px}.mobile-link-dialog textarea{width:100%;min-height:92px;resize:none;border:1px solid #d9e0ea;border-radius:10px;padding:12px;word-break:break-all}.customer-order-qr-preview{display:block;width:min(100%,330px);max-height:52vh;object-fit:contain;margin:12px auto;border-radius:12px;box-shadow:0 4px 18px #1f314e1f}.mobile-price-step{width:min(100% - 16px,900px);padding:16px 10px 20px}.mobile-price-step .customer-price-toolbar{position:sticky;top:60px;z-index:10;background:#fff;padding:8px 0}.mobile-price-step .customer-price-toolbar input{min-width:0;flex:1 1 160px}.mobile-price-step .customer-price-table{min-width:570px}.mobile-price-step .customer-price-table-wrap{overflow-x:auto;border-radius:10px}@media (max-width: 640px){.mobile-price-step .customer-price-toolbar{display:grid;grid-template-columns:1fr}.mobile-price-step .customer-price-toolbar .btn{width:100%;min-height:46px}}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;z-index:150;height:52px;padding:0 14px;padding-top:env(safe-area-inset-top,0);background:#fff;border-bottom:1px solid var(--border, #e2e8f0);box-shadow:0 1px 8px #0f172a0f}.mobile-topbar-title{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-btn{flex-shrink:0;width:44px;height:44px;margin:0 -8px 0 0;padding:0;border:none;border-radius:10px;background:transparent;color:#334155;font-size:22px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-menu-btn:active{background:#f1f5f9}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-shell{flex-direction:column;min-height:100vh;min-height:100dvh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(288px,88vw);max-width:100%;z-index:190;padding-top:calc(12px + env(safe-area-inset-top,0));padding-bottom:env(safe-area-inset-bottom,0);transform:translate(-105%);transition:transform .28s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar.sidebar-mobile-open{transform:translate(0);box-shadow:8px 0 32px #00000040}.main{flex:1;max-width:none;width:100%;box-sizing:border-box;padding:16px 14px 24px;padding-top:calc(60px + env(safe-area-inset-top,0));padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}.page-title{font-size:22px}.page-header{margin-bottom:18px}.card{padding:16px;margin-bottom:14px}.grid-2,.stamp-policy-cols{grid-template-columns:1fr}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}table.data{min-width:560px}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .btn{min-height:44px}input,select,textarea{font-size:16px}.modal-backdrop{padding:10px;align-items:flex-end}.modal,.modal-wide,.modal-auth-role,.history-detail-modal,.stamp-policy-modal{width:100%;max-width:none;max-height:min(92vh,92dvh);border-radius:16px 16px 0 0;padding:18px 16px}.modal-backdrop{align-items:flex-end}.nav-drag-handle{display:none}.nav-link,.nav-sublink{min-height:44px}.stamp-admin-grid,.auth-admin-split{grid-template-columns:1fr}.auth-role-sidebar{position:static;max-height:none}.page-wechat-oa-settings .wechat-oa-layout,.page-wechat-oa-settings .wechat-oa-field-grid,.page-wechat-oa-settings .wechat-oa-field-grid--2{grid-template-columns:1fr}.page-wechat-oa-settings .input-with-action{flex-direction:column;align-items:stretch}.page-wechat-oa-settings .input-with-action .btn{width:100%}.auth-page{padding:16px;padding-top:calc(24px + env(safe-area-inset-top,0));min-height:100vh;min-height:100dvh;box-sizing:border-box}.auth-card{width:100%;max-width:420px;margin:0 auto}.page-header{margin-bottom:14px}.doc-title-block{flex-direction:column;align-items:stretch;gap:10px;margin-top:10px}.doc-title-text{font-size:18px;text-align:center}.doc-title-options{flex-wrap:wrap;justify-content:center;gap:10px 14px}.check-row-top{max-width:none}.toolbar,.history-toolbar,.customer-orders-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.toolbar label,.history-toolbar label,.customer-orders-toolbar label{display:flex;flex-direction:column;gap:6px;width:100%;margin:0}.toolbar input,.toolbar select,.history-toolbar input,.customer-orders-toolbar input{width:100%;box-sizing:border-box}.toolbar .btn,.toolbar a.btn,.history-toolbar .btn,.history-toolbar a.btn{width:100%;justify-content:center}.auth-users-page .toolbar{flex-direction:column;align-items:stretch}.auth-users-page .toolbar .inv-search-input{max-width:none;width:100%}.auth-users-page .toolbar .btn{width:100%}.action-bar{flex-direction:column;align-items:stretch;gap:10px}.action-bar .btn,.action-bar .btn-lg{width:100%}.page-inventory .inv-page-header{flex-direction:column;align-items:flex-start;gap:12px}.inv-toolbar-card{flex-direction:column;align-items:stretch;padding:14px}.inv-search-wrap{min-width:0;max-width:none;width:100%}.inv-toolbar-actions{width:100%}.inv-toolbar-actions .btn{flex:1 1 auto;min-width:calc(50% - 6px)}.inv-actions{min-width:0!important}.inv-action-group{flex-wrap:wrap;gap:6px}.inv-action-group .btn{flex:1 1 calc(50% - 6px);min-height:40px}.page-inventory .inv-table-card,.page-products .card:has(.products-table){overflow:hidden}.page-inventory .inventory-table,.page-products .products-table{min-width:640px}.page-products .col-drag,.page-inventory .inventory-table .col-drag{display:none}.table-wrap{position:relative}.table-wrap:after{content:"左右滑动查看更多";display:block;font-size:11px;color:#94a3b8;text-align:center;padding:6px 0 2px}.history-page .card:not(.history-toolbar) .table-wrap:after,.page-customers .card>.table-wrap:after,.page-order .order-lines-wrap:after{display:none}.page-order .card:has(.order-lines){overflow:visible}.order-lines thead{display:none}.order-lines tbody tr{display:block;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:#f8fafc;box-shadow:0 1px 3px #0f172a0d}.order-lines tbody td{display:block;width:100%!important;min-width:0!important;padding:6px 0;border:none;box-sizing:border-box}.order-lines tbody td:before{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:4px;letter-spacing:.02em}.order-lines tbody td:nth-child(1):before{content:"产品"}.order-lines tbody td:nth-child(2):before{content:"注册号"}.order-lines tbody td:nth-child(3):before{content:"规格"}.order-lines tbody td:nth-child(4):before{content:"数量"}.order-lines tbody td:nth-child(5):before{content:"生产批号"}.order-lines tbody td:nth-child(6):before{content:"保质期至"}.order-lines tbody td:nth-child(7):before{content:"备注"}.order-lines tbody td:nth-child(8):before{content:"操作"}.order-lines .product-line{flex-direction:column;align-items:stretch;gap:8px}.order-lines .btn-icon-add{width:100%;height:40px}.order-lines .col-qty .qty-input{max-width:120px}.order-lines tbody td:last-child{padding-top:8px;border-top:1px dashed #e2e8f0;margin-top:4px}.order-lines tbody td:last-child .btn{width:100%;min-height:44px}.history-page .card:not(.history-toolbar) table.data,.page-customers>.card>table.data{min-width:0!important}.history-page .card:not(.history-toolbar) table.data thead,.page-customers>.card>table.data thead{display:none}.history-page .card:not(.history-toolbar) table.data tbody tr,.page-customers>.card>table.data tbody tr{display:block;margin-bottom:12px;padding:12px 14px;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:#fff}.history-page .card:not(.history-toolbar) table.data tbody td,.page-customers>.card>table.data tbody td{display:block;width:100%!important;padding:5px 0;border:none;text-align:left}.history-page .card:not(.history-toolbar) table.data tbody td:before,.page-customers>.card>table.data tbody td:before{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:2px}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(1):before{content:"单号"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(2):before{content:"日期"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(3):before{content:"客户"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(4):before{content:"状态"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(5):before{content:"物流"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(6):before{content:"打印次数"}.history-page .card:not(.history-toolbar) table.data tbody td:nth-child(7):before{content:"操作"}.page-customers>.card>table.data tbody td:nth-child(1):before{content:"客户名称"}.page-customers>.card>table.data tbody td:nth-child(2):before{content:"联系人"}.page-customers>.card>table.data tbody td:nth-child(3):before{content:"地址"}.page-customers>.card>table.data tbody td:nth-child(4):before{content:"电话"}.page-customers>.card>table.data tbody td:nth-child(5):before{content:"状态"}.page-customers>.card>table.data tbody td:nth-child(6):before{content:"操作"}.history-actions{width:100%;margin-top:4px}.history-actions-row{flex-direction:column;align-items:stretch;gap:8px}.history-actions .btn,.history-actions-row .btn,.history-edit-wrap .btn{width:100%;min-height:44px}.history-edit-wrap{width:100%}.page-customers>.card>table.data tbody td:last-child .btn,.page-customers>.card>table.data tbody td:last-child .btn-link{min-height:40px}.auth-users-page table.data{min-width:520px}.auth-users-page table.data .btn-link{display:inline-block;padding:8px 4px;min-height:36px}.logistics-form-grid,.printer-type-grid{grid-template-columns:1fr!important}.logistics-form-grid .span-2{grid-column:1 / -1}.detail-meta{grid-template-columns:1fr 1fr}.detail-meta-wide{grid-column:1 / -1}.modal-header-row{flex-direction:column;align-items:stretch}.modal-header-row .btn{width:100%}.batch-stock-modal,.batch-lines-wrap{max-width:100%}.batch-lines-table{min-width:600px}.dash-side-pair{grid-template-columns:1fr}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-card{padding:14px 12px}.dash-card-value{font-size:28px}.home-quick-links .btn{flex:1 1 calc(50% - 6px);min-height:44px}.product-edit-image-row{flex-direction:column}.track-entry-url{flex-direction:column;align-items:stretch}.track-entry-url input{width:100%}.page-stamps .stamp-admin-item{flex-direction:column;align-items:flex-start}.stamp-policy-checks{max-height:180px}}.sensitive-h5{position:relative;min-height:100vh;user-select:none;-webkit-user-select:none}.sensitive-watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr);opacity:.095;transform:rotate(-18deg) scale(1.25)}.sensitive-watermark span{color:#14213d;font-size:12px;white-space:nowrap;align-self:center;justify-self:center}.sensitive-privacy-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-content:center;text-align:center;background:#101828;color:#fff;font-size:22px;line-height:1.8}.manager-h5-home .mobile-secondary-action{width:100%;margin-top:12px}.manager-month-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 22px}.manager-month-summary>div{padding:16px 12px;border-radius:14px;background:#f4f7ff;border:1px solid #dbe5ff}.manager-month-summary span{display:block;color:#64748b;font-size:13px;margin-bottom:8px}.manager-month-summary strong{display:block;color:#163a75;font-size:22px;line-height:1.2}.manager-security-tip{margin-top:28px;line-height:1.7}@media print{.sensitive-h5{display:none!important}}@media (max-width: 768px){.main,.main>*,.card,.table-wrap,.modal{min-width:0;max-width:100%;box-sizing:border-box}.main{overflow-x:hidden}.page-subtitle{line-height:1.55}.page-header,.doc-title-block{gap:10px}.toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%;align-items:stretch}.toolbar>label,.toolbar>input,.toolbar>select,.toolbar>textarea{min-width:0;width:100%}.toolbar>label{grid-column:1 / -1}.toolbar .btn{width:100%;margin:0;white-space:normal;line-height:1.25}.customer-order-filter-actions,.page-products .toolbar{display:grid;grid-template-columns:1fr 1fr}.customer-order-filter-actions .btn,.page-products .toolbar .btn{width:100%}.table-wrap.mobile-card-wrap,.modal .table-wrap.mobile-card-wrap{overflow:visible;padding:0;margin-left:0;margin-right:0}table.data.mobile-card-table{display:block;min-width:0!important;width:100%;border:0;background:transparent}table.data.mobile-card-table thead{display:none}table.data.mobile-card-table tbody{display:grid;gap:12px;width:100%}table.data.mobile-card-table tbody tr{display:block;width:100%;border:1px solid #e2e8f0;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0f172a0d}table.data.mobile-card-table tbody tr:hover td{background:transparent}table.data.mobile-card-table tbody td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:10px;align-items:start;width:100%;min-width:0;padding:10px 12px;border:0;border-bottom:1px solid #eef2f7;white-space:normal;overflow-wrap:anywhere;text-align:left}table.data.mobile-card-table tbody td:last-child{border-bottom:0}table.data.mobile-card-table tbody td:before{content:attr(data-label);color:#64748b;font-size:13px;font-weight:650;line-height:1.45}table.data.mobile-card-table tbody td[data-label=""]:before{display:none}table.data.mobile-card-table tbody td[data-label=操作]{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}table.data.mobile-card-table tbody td[data-label=操作]:before{width:100%;flex:0 0 100%}table.data.mobile-card-table tbody td[data-label=操作] .btn{flex:1 1 120px;min-height:42px;margin:0;white-space:normal}table.data.mobile-card-table tbody td[colspan]{display:block}table.data.mobile-card-table tbody td[colspan]:before{display:none}table.data.order-lines,table.data.customer-price-table,table.data.auth-perm-matrix,table.data.inv-op-table,table.data.wh-tree-table{min-width:720px}.customer-price-modal .customer-price-table{min-width:920px!important}.table-wrap.mobile-scroll-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.products-table .col-drag{display:none!important}.modal-backdrop{padding:0}.modal,.modal-wide,.customer-price-modal{max-height:94dvh;overflow-y:auto;overflow-x:hidden}.modal>table.mobile-card-table{width:100%}.modal input,.modal select,.modal textarea{max-width:100%;box-sizing:border-box}.grid-2,.grid-3,.grid-4,.customer-order-filter-grid,.customer-payment-admin{grid-template-columns:1fr!important}.pagination{flex-wrap:wrap;gap:8px}.pagination>*{min-height:40px}}@media (max-width: 420px){.main{padding-left:10px;padding-right:10px}.card{padding:13px 11px;border-radius:12px}.toolbar,.customer-order-filter-actions,.page-products .toolbar{grid-template-columns:1fr}table.data.mobile-card-table tbody td{grid-template-columns:minmax(82px,32%) minmax(0,1fr);padding:9px 10px}}
