:root{--primary: #5d87ff;--primary-hover: #4d77f0;--primary-soft: #f5f8ff;--primary-tag: #f0f5ff;--primary-border: #dbe7ff;--text: #303133;--text-regular: #606266;--text-secondary: #909399;--text-placeholder: #a8abb2;--text-disabled: #c0c4cc;--border: #dcdfe6;--border-light: #e4e7ed;--border-lighter: #edeff5;--border-extra: #f2f3f5;--surface: #ffffff;--surface-muted: #f8fafc;--page: #f5f7fa;--danger: #f56c6c;--danger-soft: #fef0f0;--danger-border: #fde2e2;--success: #3eaf6e;--success-soft: #f0faf4;--success-border: #d9f2e3;--warning: #d98e2b;--warning-soft: #fdf6ec;--warning-border: #f7e2c0;--radius-card: 12px;--radius-control: 8px;--radius-cell: 6px;--shadow-popover: 0 8px 24px rgba(15, 23, 42, .14);--shadow-modal: 0 24px 60px rgba(15, 23, 42, .22);--topbar-height: 56px;--topbar-total: calc(56px + env(safe-area-inset-top)) ;--content-max: 1280px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:var(--page)}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--page);font-size:13px;-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}h1,h2,h3,p{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:4px;background:var(--border)}@keyframes om-fade{0%{opacity:0;transform:translateY(8px)}}@keyframes om-pop{0%{opacity:0;transform:scale(.96)}}@keyframes spin{to{transform:rotate(360deg)}}.input,.select,.textarea{width:100%;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-size:13px;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:88px;padding:10px 12px;line-height:1.6;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:#c0c6ff}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5d87ff26;outline:none}.input[readonly],.textarea[readonly],.input:disabled,.select:disabled,.textarea:disabled{border-color:var(--border-light);background:var(--surface-muted);color:var(--text-regular);cursor:not-allowed}.input.is-invalid,.textarea.is-invalid{border-color:var(--danger);background:var(--danger-soft)}.select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--text-disabled) 50%),linear-gradient(135deg,var(--text-disabled) 50%,transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 11px) 16px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}.field,.form-control{display:flex;min-width:0;flex-direction:column;gap:6px}.form-label,.field-label{color:var(--text-regular);font-size:13px}.form-label .required,.required{margin-right:2px;color:var(--danger)}.form-label em{margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-style:normal}.btn{display:inline-flex;height:36px;align-items:center;justify-content:center;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;font-size:13px;gap:6px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--primary);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{border-color:var(--border);background:var(--surface);color:var(--text-regular)}.btn-ghost:hover:not(:disabled){border-color:var(--text-disabled)}.btn-soft{border-color:#c0c6ff;background:var(--primary-soft);color:var(--primary)}.btn-soft:hover:not(:disabled){background:#edf2ff}.btn-danger-ghost{border-color:var(--border);background:var(--surface);color:var(--text-regular)}.btn-danger-ghost:hover:not(:disabled){border-color:var(--danger-border);color:var(--danger)}.btn-small{height:32px;padding:0 14px}.btn-block{width:100%}.icon-btn{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:none;border-radius:var(--radius-cell);background:transparent;color:var(--text-disabled);cursor:pointer;font-size:14px}.icon-btn:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .7s linear infinite}.status-badge{display:inline-flex;align-items:center;padding:2px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;white-space:nowrap}.status-badge.tone-neutral{border-color:var(--border-light);background:var(--surface-muted);color:var(--text-regular)}.status-badge.tone-pending{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.status-badge.tone-progress{border-color:var(--primary-border);background:var(--primary-tag);color:var(--primary)}.status-badge.tone-success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.status-badge.tone-danger{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--primary-border);border-radius:4px;background:var(--primary-tag);color:var(--primary);font-size:12px}.tag.tone-muted{border-color:var(--border-light);background:var(--surface-muted);color:var(--text-secondary)}.tag.tone-danger{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.app-shell{display:flex;min-height:100vh;flex-direction:column}.topbar{position:sticky;z-index:100;top:0;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border-lighter);background:var(--surface)}.topbar-inner{display:flex;width:100%;max-width:var(--content-max);height:var(--topbar-height);align-items:center;justify-content:space-between;margin:0 auto;padding:0 24px;gap:12px}.brand{display:flex;min-width:0;align-items:center;gap:10px}.brand-mark{display:flex;width:32px;height:32px;flex:none;align-items:center;justify-content:center;border-radius:8px;background:var(--primary);color:#fff;font-size:15px;font-weight:700}.brand-name{font-size:16px;font-weight:700;white-space:nowrap}.brand-sub{padding:2px 8px;border:1px solid var(--primary-border);border-radius:4px;background:var(--primary-tag);color:var(--primary);font-size:12px;white-space:nowrap}.user-area{display:flex;min-width:0;align-items:center;gap:10px}.user-name{color:var(--text-regular);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag{padding:1px 8px;border-radius:4px;background:var(--surface-muted);color:var(--text-secondary);font-size:12px;white-space:nowrap}.avatar{display:flex;width:30px;height:30px;flex:none;align-items:center;justify-content:center;border-radius:50%;background:#eef2ff;color:var(--primary);font-size:13px;font-weight:600}.avatar.large{width:40px;height:40px;font-size:15px}.app-layout{display:flex;width:100%;max-width:var(--content-max);flex:1;margin:0 auto;gap:0}.side-nav{position:sticky;top:var(--topbar-total);display:flex;width:196px;height:calc(100vh - var(--topbar-total));flex:none;flex-direction:column;padding:16px 12px;border-right:1px solid var(--border-lighter);gap:2px;overflow-y:auto}.nav-group-label{padding:12px 10px 6px;color:var(--text-disabled);font-size:12px}.nav-item{display:flex;min-height:38px;align-items:center;padding:0 10px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--text-regular);cursor:pointer;font-size:13px;gap:10px;text-align:left;text-decoration:none}.nav-item:hover{background:var(--surface-muted)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item i{display:flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-muted);color:var(--text-secondary);font-size:12px;font-style:normal}.nav-item.active i{background:var(--primary);color:#fff}.nav-footer{margin-top:auto;padding:12px 10px;border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-secondary);font-size:12px;line-height:1.6}.nav-footer strong{display:block;color:var(--text-regular)}.page-content{min-width:0;flex:1;padding:20px 24px calc(80px + env(safe-area-inset-bottom))}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-heading h1{font-size:20px;font-weight:700}.page-heading p{margin-top:4px;color:var(--text-secondary);font-size:13px}.page-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-heading-actions .entry-state{margin-left:6px;color:var(--text-secondary);font-size:12px;font-style:normal}.page-stack{display:flex;flex-direction:column;gap:16px}.panel{margin-top:16px;border:1px solid var(--border-lighter);border-radius:var(--radius-card);background:var(--surface)}.page-stack .panel{margin-top:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 0;gap:12px;flex-wrap:wrap}.panel-title{display:flex;min-width:0;align-items:baseline;gap:10px;flex-wrap:wrap}.panel-title h2{font-size:15px;font-weight:600}.panel-title p{color:var(--text-secondary);font-size:12px}.panel-body{padding:14px 24px 20px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notice-banner{padding:10px 14px;border:1px solid var(--primary-border);border-radius:var(--radius-control);background:var(--primary-tag);color:var(--text-regular);font-size:12px;line-height:1.7}.notice-banner.tone-warning{border-color:var(--warning-border);background:var(--warning-soft)}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--danger-border);border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);font-size:13px;gap:12px;flex-wrap:wrap}.error-banner>span{min-width:0;overflow-wrap:anywhere}.issue-list{display:flex;flex-direction:column;margin-top:12px;padding:10px 14px;border:1px solid var(--danger-border);border-radius:var(--radius-control);background:var(--danger-soft);gap:6px}.issue-item{color:var(--danger);font-size:12px;line-height:1.6}.issue-item button{padding:0;border:none;background:none;color:var(--danger);cursor:pointer;font-size:12px;text-decoration:underline}.empty-state{display:flex;flex-direction:column;align-items:center;padding:44px 16px;color:var(--text-secondary);font-size:13px;gap:12px;text-align:center}.loading-state{display:flex;align-items:center;justify-content:center;padding:44px 16px;color:var(--text-secondary);font-size:13px;gap:8px}.boot-screen{display:flex;min-height:100vh;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px;gap:10px}.catalog-hint{display:flex;align-items:center;color:var(--text-secondary);font-size:12px;gap:8px;flex-wrap:wrap}.catalog-hint .warn{color:var(--danger)}.login-shell{display:flex;min-height:100vh;flex-direction:column;background:var(--page)}.login-panel{display:flex;flex:1;align-items:center;justify-content:center;padding:32px 16px calc(64px + env(safe-area-inset-bottom))}.login-card{display:flex;width:100%;max-width:380px;flex-direction:column;padding:26px 24px;border:1px solid var(--border-lighter);border-radius:var(--radius-card);background:var(--surface);gap:14px}.login-card h2{font-size:17px;font-weight:700}.login-card>p{color:var(--text-secondary);font-size:12px;line-height:1.7}.local-login{display:flex;flex-direction:column;gap:14px}.login-divider{display:flex;align-items:center;color:var(--text-disabled);font-size:12px;gap:10px}.login-divider:before,.login-divider:after{height:1px;flex:1;background:var(--border-lighter);content:""}.local-login-warning{color:var(--warning);font-size:12px;line-height:1.7}.demo-account{display:flex;flex-direction:column;padding-top:14px;border-top:1px dashed var(--border-lighter);color:var(--text-secondary);font-size:12px;gap:8px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-regular);cursor:pointer;font-size:12px}.chip:hover{border-color:var(--primary);color:var(--primary)}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.type-card{display:flex;flex-direction:column;padding:14px 16px;border:1.5px solid var(--border-light);border-radius:10px;background:var(--surface);cursor:pointer;gap:4px;text-align:left;transition:border-color .15s,background .15s}.type-card:hover{border-color:#c0c6ff}.type-card.active{border-color:var(--primary);background:var(--primary-soft)}.type-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.type-card strong{font-size:14px;font-weight:600}.type-card span{color:var(--text-secondary);font-size:12px;line-height:1.6}.radio-mark{width:16px;height:16px;flex:none;border:1.5px solid var(--border);border-radius:50%}.type-card.active .radio-mark{border:5px solid var(--primary)}.type-help{margin-top:10px;color:var(--text-disabled);font-size:12px}.type-help.is-missing{color:var(--warning)}.text-counter{margin-top:6px;color:var(--text-disabled);font-size:12px;text-align:right}.defaults-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.span-2{grid-column:span 2}.address-trigger{display:flex;width:100%;height:36px;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-placeholder);cursor:pointer;font-size:13px;gap:8px;overflow:hidden;text-align:left}.address-trigger:hover{border-color:#c0c6ff}.address-trigger.filled{color:var(--text)}.address-trigger.is-invalid{border-color:var(--danger);background:var(--danger-soft)}.address-trigger span.text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin{flex:none;color:var(--text-secondary)}.row-count-badge{padding:2px 8px;border-radius:4px;background:var(--primary-tag);color:var(--primary);font-size:12px}.table-wrap{margin-top:4px;border:1px solid var(--border-lighter);border-radius:10px;overflow-x:auto}.order-table{width:100%;min-width:940px;border-collapse:collapse;table-layout:fixed;font-size:13px}.order-table th{padding:10px 12px;border-bottom:1px solid var(--border-lighter);background:var(--surface-muted);color:var(--text-regular);font-weight:600;text-align:left;white-space:nowrap}.order-table th.numeric{text-align:right}.order-table td{padding:6px 8px;border-bottom:1px solid var(--border-extra);vertical-align:middle}.order-table tbody tr:hover{background:#fafbfd}.order-table tbody tr:last-child td{border-bottom:none}.col-index{width:36px}.col-shop{width:148px}.col-sku{width:158px}.col-qty{width:60px}.col-price{width:82px}.col-total{width:98px}.col-paid{width:88px}.col-order-no{width:104px}.col-action{width:36px}.row-number{color:var(--text-secondary)}.cell-input{width:100%;height:30px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-cell);background:transparent;font-size:13px}.cell-input:hover{border-color:var(--border-light)}.cell-input:focus{border-color:var(--primary);background:var(--surface);outline:none}.cell-input.numeric{text-align:right}.cell-input.is-invalid{border-color:var(--danger);background:var(--danger-soft)}.money-cell{display:flex;align-items:center;justify-content:flex-end;gap:4px}.manual-flag{width:8px;height:8px;flex:none;border:2px solid var(--warning);border-radius:50%}.table-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:16px;flex-wrap:wrap}.table-footer small{color:var(--text-secondary);font-size:13px}.footer-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.footer-total{color:var(--text-regular);font-size:13px}.footer-total strong{color:var(--text);font-size:18px;font-weight:700}.mobile-orders{display:none;flex-direction:column;gap:12px}.mobile-order{display:grid;grid-template-columns:1fr 1fr;padding:14px;border:1px solid var(--border-lighter);border-radius:10px;background:var(--surface-muted);gap:12px}.mobile-order-head{display:flex;align-items:center;justify-content:space-between;grid-column:span 2}.mobile-order-head strong{font-size:13px}.mobile-order .full{grid-column:span 2}.picker{position:relative;min-width:0}.logistics-field{flex:0 1 520px;min-width:220px}.logistics-panel .panel-header{padding-bottom:18px}.logistics-panel .panel-body{padding-top:0}.logistics-panel .type-help{margin-top:0}.image-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.image-thumb{position:relative;flex:none;width:72px;height:72px}.image-thumb-open{display:block;overflow:hidden;width:100%;height:100%;padding:0;border:1px solid var(--border-light);border-radius:var(--radius-control);background:var(--surface-muted);cursor:zoom-in}.image-thumb-open img{display:block;width:100%;height:100%;object-fit:cover}.image-thumb-broken{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 6px;color:var(--text-secondary);font-size:11px;line-height:1.4;text-align:center}.image-thumb-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border:1px solid var(--border-light);border-radius:50%;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1}.image-thumb-remove:hover{border-color:var(--danger);color:var(--danger)}.image-add{flex:none;width:72px;height:72px;border:1px dashed var(--border-light);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:22px;line-height:1}.image-add:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.image-add:disabled{cursor:not-allowed;opacity:.5}.image-pending{display:flex;position:relative;align-items:center;justify-content:center;flex:none;width:72px;height:72px;padding:0 6px;border:1px solid var(--border-lighter);border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-secondary);font-size:11px;line-height:1.4;text-align:center}.image-pending.is-failed{border-color:var(--danger);color:var(--danger)}.image-pending .image-thumb-remove{font-size:12px}.image-field{margin-top:12px}.image-field .type-help{margin-top:8px}.detail-hero .image-strip{flex:1 0 100%}.description-preview .image-strip{margin-top:8px}.image-viewer{display:flex;align-items:center;justify-content:center;min-height:120px}.image-viewer img{max-width:100%;max-height:min(60vh,520px);object-fit:contain}.picker.has-clear{display:flex;align-items:center;gap:6px}.picker.has-clear .picker-trigger{flex:1 1 auto}.picker-clear{flex:none;width:28px;height:28px;border:1px solid var(--border-light);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1}.picker-clear:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.picker-clear:disabled{cursor:not-allowed;opacity:.5}.picker-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:var(--radius-control);cursor:pointer;font-size:13px;gap:6px;overflow:hidden;text-align:left}.picker-trigger.size-field{height:36px;padding:0 12px;border:1px solid var(--border);background:var(--surface)}.picker-trigger.size-field:hover:not(:disabled){border-color:#c0c6ff}.picker-trigger.size-field.is-readonly{border-color:var(--border-light);background:var(--surface-muted);color:var(--text-regular);cursor:not-allowed}.picker-trigger.size-cell{height:30px;padding:0 8px;border:1px solid transparent;background:transparent}.picker-trigger.size-cell:hover{border-color:var(--border-light)}.picker-trigger.placeholder{color:var(--text-placeholder)}.picker-trigger.is-invalid{border-color:var(--danger);background:var(--danger-soft)}.picker-trigger .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{flex:none;color:var(--text-disabled);font-size:10px}.picker-popover{z-index:1200;display:flex;flex-direction:column;border:1px solid var(--border-lighter);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-popover);animation:om-pop .12s ease;overflow:hidden}.picker-search,.picker-foot{flex:none}.picker-search{padding:10px 10px 8px}.picker-options{min-height:0;max-height:min(360px,46vh);flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}.picker-option{display:flex;width:100%;align-items:baseline;padding:8px 12px;border:none;background:transparent;cursor:pointer;gap:8px;text-align:left}.picker-option:hover,.picker-option.active{background:var(--primary-soft)}.option-code{flex:none;font-size:13px;font-weight:600}.option-name{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-empty{padding:20px 12px;color:var(--text-disabled);font-size:12px;text-align:center}.picker-foot{padding:6px 12px;border-top:1px solid var(--border-extra);color:var(--text-disabled);font-size:12px}.picker-backdrop{position:fixed;z-index:1200;display:flex;align-items:flex-end;background:#11182773;inset:0;overscroll-behavior:contain}.picker-sheet{display:flex;width:100%;max-height:72vh;flex-direction:column;border-radius:14px 14px 0 0;background:var(--surface);animation:om-pop .15s ease;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.picker-sheet.is-searching{height:100%;max-height:100%;border-radius:0;padding-top:env(safe-area-inset-top)}.picker-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;gap:12px}.picker-sheet-head h2{font-size:15px;font-weight:700}.picker-sheet:focus,.picker-sheet-head h2:focus{outline:none}.picker-sheet-search{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-extra);gap:10px}.picker-sheet-search .input{flex:1}.picker-sheet .picker-options{max-height:none;flex:1 1 auto}.picker-sheet .picker-option{min-height:48px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-extra)}.picker-sheet .picker-foot{padding:10px 16px}.modal-backdrop{position:fixed;z-index:1050;display:flex;align-items:center;justify-content:center;padding:20px;background:#11182773;inset:0;overscroll-behavior:contain;bottom:var(--modal-viewport-bottom, 0px)}.modal-backdrop.layer-2{z-index:1080}.modal{display:flex;width:580px;max-width:100%;max-height:min(90vh,calc(var(--modal-viewport-height, 100vh) - 24px));flex-direction:column;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-modal);animation:om-pop .15s ease}.modal.narrow{width:460px}.modal.wide{width:860px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px 12px;gap:12px}.modal-head h2{font-size:16px;font-weight:700}.modal-head p{margin-top:4px;color:var(--text-secondary);font-size:12px}.modal-close{width:28px;height:28px;flex:none;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:16px}.modal-close:hover{background:var(--border-extra)}.modal-body{padding:0 22px 4px;overflow-y:auto;overscroll-behavior:contain}.modal-foot{display:flex;align-items:center;justify-content:flex-end;padding:16px 22px 20px;gap:10px;flex-wrap:wrap}.modal-foot.spread{justify-content:space-between}.tabs{display:flex;border-bottom:1px solid var(--border-lighter);gap:4px}.tab{height:36px;padding:0 14px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--text-regular);cursor:pointer;font-size:13px}.tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.parse-box{display:flex;flex-direction:column;padding-top:14px;gap:8px}.textarea.smart-input{min-height:168px}.parse-hint{color:var(--text-secondary);font-size:12px;line-height:1.7}.parse-hint code{font-family:inherit}.import-box{display:flex;flex-direction:column;padding-top:14px;gap:14px}.import-step{display:flex;flex-direction:column;gap:8px}.import-step strong{font-size:13px}.import-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dropzone{display:flex;flex-direction:column;padding:18px 16px;border:1px dashed var(--border);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;gap:4px;text-align:center}.dropzone:hover:not(:disabled),.dropzone.is-dragging{border-color:var(--primary);background:var(--primary-soft)}.dropzone:disabled{cursor:not-allowed;opacity:.6}.dropzone span{color:var(--text-secondary);font-size:12px}.import-file{display:flex;align-items:center;padding:8px 12px;border:1px solid var(--border-extra);border-radius:var(--radius-control);gap:10px}.import-file .name{flex:1;font-size:13px;overflow-wrap:anywhere}.import-file .size{color:var(--text-secondary);font-size:12px;white-space:nowrap}.parse-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.parse-actions span{color:var(--text-secondary);font-size:12px}.address-book{display:flex;max-height:200px;flex-direction:column;margin-top:8px;border:1px solid var(--border-extra);border-radius:var(--radius-control);overflow-y:auto}.address-book-item{display:flex;flex-direction:column;padding:10px 12px;border:none;border-bottom:1px solid #f7f8fa;background:var(--surface);cursor:pointer;gap:2px;text-align:left}.address-book-item:hover{background:var(--primary-soft)}.address-book-item.selected{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.address-book-item strong{font-size:13px}.address-book-item span,.address-book-item p{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-form-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:16px;padding-top:14px;border-top:1px dashed var(--border-lighter);gap:12px}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkbox-row{display:flex;align-items:center;margin-top:14px;color:var(--text-regular);cursor:pointer;font-size:13px;gap:8px}.checkbox-row input{accent-color:var(--primary)}.readonly-hint{margin-top:10px;color:var(--text-secondary);font-size:12px}.form-section-bar{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:var(--text-secondary);font-size:12px;gap:10px;flex-wrap:wrap}.confirm-line{color:var(--text-regular);font-size:13px;line-height:1.8}.confirm-line.detail{color:var(--text-secondary);font-size:12px;word-break:break-all}.compare-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:8px;gap:12px}.compare-card{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--border-lighter);border-radius:10px;background:var(--surface-muted);gap:4px}.compare-card>span{color:var(--text-secondary);font-size:12px}.compare-card strong{font-size:13px}.compare-card p{color:var(--text-regular);font-size:12px;line-height:1.6}.review-summary{display:grid;grid-template-columns:repeat(2,1fr);margin-top:8px;padding:14px 16px;border-radius:10px;background:var(--surface-muted);gap:10px 16px}.summary-cell{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.summary-cell span{color:var(--text-secondary);font-size:13px}.summary-cell strong{font-size:13px;font-weight:600}.group-preview{display:flex;flex-direction:column;margin-top:12px;gap:8px}.group-preview-item{display:flex;min-width:0;flex-direction:column;padding:10px 12px;border:1px solid var(--border-lighter);border-radius:var(--radius-control);gap:4px}.group-preview-item .shop{min-width:0;font-size:13px;font-weight:600;word-break:break-word}.group-preview-item .address{color:var(--text-regular);font-size:12px;word-break:break-word}.group-preview-item .meta{color:var(--text-secondary);font-size:12px}.description-preview{margin-top:12px;padding:10px 14px;border-radius:var(--radius-control);background:var(--surface-muted)}.description-preview span{color:var(--text-secondary);font-size:12px}.description-preview p{margin-top:4px;color:var(--text-regular);font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.list-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{height:30px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-regular);cursor:pointer;font-size:12px}.filter-chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.list-search{max-width:280px}.data-list{display:flex;flex-direction:column;border:1px solid var(--border-lighter);border-radius:10px;overflow:hidden}.data-row{display:grid;align-items:center;padding:12px 14px;border:none;border-bottom:1px solid var(--border-extra);background:var(--surface);cursor:pointer;gap:12px;grid-template-columns:124px minmax(0,1fr) 84px 76px 104px 84px 156px;text-align:left}.data-row.with-owner{grid-template-columns:124px minmax(0,1fr) 88px 84px 76px 104px 84px 156px}.data-row.demo-row{grid-template-columns:124px minmax(0,1fr) 104px 84px auto}.data-row:last-child{border-bottom:none}.data-row:hover{background:#fafbfd}.data-row>code{color:var(--primary);font-size:12px}.data-row .title{display:flex;min-width:0;flex-direction:column;gap:2px}.data-row .title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-row .title span{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-row .muted{color:var(--text-secondary);font-size:12px}.data-row time{color:var(--text-secondary);font-size:12px}.data-row .go{color:var(--primary);font-size:12px;text-align:right}.address-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.address-card{display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--border-lighter);border-radius:10px;background:var(--surface);gap:6px}.address-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.address-card strong{font-size:13px}.address-card p{color:var(--text-regular);font-size:12px}.address-card span.detail{color:var(--text-secondary);font-size:12px;line-height:1.6;word-break:break-all}.address-card-actions{display:flex;margin-top:4px;justify-content:flex-end;gap:8px}.owner-pill{padding:1px 8px;border-radius:999px;background:var(--surface-muted);color:var(--text-secondary);font-size:11px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.summary-card{display:flex;padding:16px;border:1px solid var(--border-lighter);border-radius:10px;flex-direction:column;gap:10px}.summary-card .summary-head{display:flex;align-items:center;gap:14px}.summary-card .name{min-width:0;flex:1;font-size:14px;overflow-wrap:anywhere}.summary-card .summary-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.summary-card .summary-meta code{min-width:0;color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.summary-card dl{display:flex;margin:0;flex:none;gap:14px}.summary-card dl div{text-align:center}.summary-card dt{color:var(--text-secondary);font-size:12px}.summary-card dd{margin:2px 0 0;font-size:16px;font-weight:700}.shop-config{display:flex;flex-direction:column;border:1px solid var(--border-lighter);border-radius:10px;overflow:hidden}.pager{display:flex;align-items:center;justify-content:center;margin-top:12px;gap:12px;flex-wrap:wrap}.pager-status{color:var(--text-secondary);font-size:12px}.catalog-footnotes{display:flex;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-extra);flex-direction:column;gap:10px}.shop-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-extra);gap:12px;flex-wrap:wrap}.shop-row:last-child{border-bottom:none}.shop-row .who{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.shop-row .who strong{font-size:13px}.shop-row .who span{color:var(--text-secondary);font-size:12px}.shop-row .tag{flex:none}.detail-hero{display:flex;align-items:center;padding:12px 14px;border-radius:10px;background:var(--surface-muted);gap:10px;flex-wrap:wrap}.detail-hero p{min-width:0;flex:1;color:var(--text-regular);font-size:13px;word-break:break-word}.detail-section{margin-top:18px}.detail-section h3{margin-bottom:8px;font-size:13px;font-weight:600}.approval-box{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--border-lighter);border-radius:10px;background:var(--surface-muted);gap:8px}.approval-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.approval-instance{display:flex;align-items:center;color:var(--text-regular);font-size:12px;gap:8px;flex-wrap:wrap}.approval-head .refresh-status{margin-left:auto}.approval-instance code{color:var(--primary);font-size:12px}.approval-instance-link{color:var(--primary);text-decoration:none}.approval-instance-link:hover,.approval-instance-link:focus-visible{text-decoration:underline}.approval-hint{color:var(--text-regular);font-size:12px;line-height:1.8}.approval-hint .spinner{margin-right:4px;vertical-align:-2px}.approval-hint code{color:inherit}.approval-hint.warn{color:var(--warning)}.detail-lines{display:flex;flex-direction:column;border:1px solid var(--border-lighter);border-radius:10px;overflow:hidden}.detail-line{display:grid;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border-extra);gap:4px 12px;grid-template-columns:36px minmax(0,1.1fr) minmax(0,1.2fr) 150px}.detail-line:last-child{border-bottom:none}.detail-line b{color:var(--text-secondary);font-size:12px;font-weight:400}.detail-line .cell{display:flex;min-width:0;flex-direction:column;gap:2px}.detail-line .cell strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-line .cell span{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-line .numbers{color:var(--text-regular);font-size:12px;text-align:right}.import-box{margin-bottom:12px}.import-actions{margin-left:auto}.retry-confirm{margin-top:10px;padding:10px 12px;border:1px solid var(--warning-border);border-radius:var(--radius-control);background:var(--warning-soft)}.retry-confirm p{margin-bottom:8px;color:var(--text-regular);font-size:12px;line-height:1.8}.import-counts{min-width:0;color:var(--text-regular);font-size:12px}.jst-oid{color:var(--text-secondary);font-size:12px;word-break:break-all}.jst-oid code{color:var(--success);font-size:12px}.jst-failure{display:flex;align-items:center;color:var(--danger);font-size:12px;line-height:1.7;gap:8px;flex-wrap:wrap;word-break:break-word}.jst-order{display:flex;flex-direction:column;margin-bottom:10px;padding:12px 14px;border:1px solid var(--border-lighter);border-radius:10px;gap:8px}.jst-order header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jst-order header .jst-oid{margin-left:auto}.jst-order header code{color:var(--primary);font-size:13px;font-weight:600}.jst-order .meta{color:var(--text-secondary);font-size:12px;word-break:break-word}.jst-tracking{display:flex;padding:8px 10px;border-radius:8px;background:var(--surface-muted);gap:10px}.jst-tracking .tracking-label{color:var(--text-secondary);font-size:12px;white-space:nowrap}.jst-tracking .tracking-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.jst-tracking .tracking-status{font-size:13px;font-weight:600}.jst-tracking .tracking-time{color:var(--text-secondary);font-size:12px}.jst-tracking .tracking-logistics{display:flex;align-items:center;color:var(--text-regular);font-size:12px;gap:8px;flex-wrap:wrap}.jst-tracking .tracking-no{font-weight:600;overflow-wrap:anywhere}.tracking-note{margin-bottom:8px;color:var(--text-secondary);font-size:12px;line-height:1.6}.jst-items{display:flex;flex-direction:column;border-top:1px dashed var(--border-lighter);padding-top:8px;gap:4px}.jst-item{display:flex;align-items:center;justify-content:space-between;color:var(--text-regular);font-size:12px;gap:10px}.jst-item span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{display:flex;align-items:flex-start;gap:10px}.timeline-dot{width:8px;height:8px;flex:none;margin-top:5px;border-radius:50%;background:var(--primary)}.timeline-item div{display:flex;min-width:0;flex-direction:column;gap:2px}.timeline-item strong{font-size:13px}.timeline-item span{color:var(--text-secondary);font-size:12px}.toast-stack{position:fixed;z-index:2000;top:68px;left:50%;display:flex;max-width:calc(100vw - 32px);flex-direction:column;align-items:center;transform:translate(-50%);gap:8px;pointer-events:none}.toast{display:flex;max-width:520px;align-items:flex-start;padding:10px 16px;border:1px solid var(--border-lighter);border-radius:var(--radius-control);background:var(--surface);box-shadow:0 6px 18px #0f172a1f;animation:om-fade .2s ease;font-size:13px;gap:8px;pointer-events:auto}.toast.success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.toast.error{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.toast.info{border-color:var(--primary-border);background:var(--primary-tag);color:var(--primary)}.visually-hidden{display:inline-block;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:1080px){.data-row{grid-template-columns:124px minmax(0,1fr) 76px 104px 156px}.data-row.demo-row{grid-template-columns:124px minmax(0,1fr) 104px auto}.data-row.with-owner{grid-template-columns:124px minmax(0,1fr) 88px 76px 104px 156px}.data-row .hide-md{display:none}}@media(max-width:900px){.app-layout{display:block}.side-nav{position:sticky;z-index:90;top:var(--topbar-total);width:100%;height:auto;min-height:0;max-height:none;flex-direction:row;align-items:center;flex-wrap:nowrap;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border-lighter);background:var(--surface);gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.side-nav::-webkit-scrollbar{display:none}.nav-group-label,.nav-footer{display:none}.nav-item{min-height:36px;flex:none;align-self:center;white-space:nowrap}.page-content{padding:16px 16px calc(72px + env(safe-area-inset-bottom))}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type-card{padding:10px 12px;gap:2px}.type-card span{line-height:1.5}.modal.wide{width:100%}.detail-line{grid-template-columns:30px minmax(0,1fr)}.detail-line .cell,.detail-line .numbers{grid-column:2}.detail-line .numbers{text-align:left}.detail-line .cell span{overflow:visible;white-space:normal;overflow-wrap:anywhere}}@media(max-width:720px){.topbar-inner{padding:0 16px}.brand-sub,.user-name{display:none}.panel-header,.panel-body{padding-left:16px;padding-right:16px}.logistics-field{flex:1 1 100%;min-width:0}.defaults-grid{gap:12px}.defaults-grid>.form-control:nth-child(1),.defaults-grid>.form-control:nth-child(2){grid-column:span 2}.detail-hero{flex-direction:column;align-items:flex-start;gap:6px}.approval-head .refresh-status{margin-left:0}.desktop-orders{display:none}.mobile-orders{display:flex}.data-row,.data-row.with-owner,.data-row.demo-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.filter-chip{height:34px;padding:0 14px;font-size:13px}.btn-small{height:34px;padding:0 14px}.chip{min-height:34px}.modal-close,.icon-btn{width:34px;height:34px}.picker-trigger.size-cell{height:36px;padding:0 12px}.data-row .hide-sm{display:none}.data-row .title{grid-column:span 2}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal.narrow,.modal.wide{width:100%;max-height:92vh;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom)}.address-form-grid,.compare-grid,.review-summary,.region-grid{grid-template-columns:1fr}.footer-actions{width:100%;justify-content:space-between}.toast-stack{top:auto;bottom:calc(16px + env(safe-area-inset-bottom))}}@media(hover:none)and (pointer:coarse){input,select,textarea,.input,.select,.textarea,.cell-input{font-size:16px}.cell-input{height:36px}}@supports (height: 100dvh){body,.app-shell,.login-shell,.boot-screen{min-height:100dvh}@media(min-width:901px){.side-nav{height:calc(100dvh - var(--topbar-total))}}.modal,.modal.narrow,.modal.wide{max-height:min(90dvh,calc(var(--modal-viewport-height, 100dvh) - 24px))}@media(max-width:720px){.modal,.modal.narrow,.modal.wide{max-height:min(92dvh,calc(var(--modal-viewport-height, 100dvh) - 12px))}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
