.side-nav[data-v-1e4dfbbb]{width:220px;background:var(--color-bg-primary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10;padding:12px 8px;overflow-y:auto}.nav-header[data-v-1e4dfbbb]{display:flex;align-items:center;gap:8px;padding:12px;margin-bottom:8px;border-bottom:1px solid var(--color-border)}.nav-logo[data-v-1e4dfbbb]{width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}.nav-title[data-v-1e4dfbbb]{font-weight:600;font-size:15px}.nav-item[data-v-1e4dfbbb]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-base);color:var(--color-text-secondary);font-size:var(--font-size-base);transition:background .1s;border:none;background:none;width:100%;text-align:left;cursor:pointer;text-decoration:none}.nav-item[data-v-1e4dfbbb]:hover{background:var(--color-bg-secondary);text-decoration:none}.nav-item--active[data-v-1e4dfbbb]{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:500}.nav-item--divider-before[data-v-1e4dfbbb]{margin-top:6px;padding-top:14px;border-top:1px solid var(--color-border)}.nav-icon[data-v-1e4dfbbb]{font-size:16px;width:20px;text-align:center}@media(max-width:900px){.side-nav[data-v-1e4dfbbb]{width:56px;padding:12px 4px}.nav-title[data-v-1e4dfbbb],.nav-label[data-v-1e4dfbbb]{display:none}.nav-header[data-v-1e4dfbbb]{padding:8px;justify-content:center}.nav-logo[data-v-1e4dfbbb]{margin:0}.nav-item[data-v-1e4dfbbb]{justify-content:center;padding:10px 8px}}.app-layout[data-v-c003b7e2]{display:flex;min-height:100vh}.app-main[data-v-c003b7e2]{margin-left:220px;flex:1;padding:24px 40px;max-width:1200px}@media(max-width:900px){.app-main[data-v-c003b7e2]{margin-left:56px;padding:16px}}:root{--color-primary: #008060;--color-primary-hover: #006e52;--color-primary-subtle: #e3f1eb;--color-primary-text: #ffffff;--color-accent: #5c6ac4;--color-accent-subtle: #e8eaf6;--color-success: #008060;--color-success-subtle: #e3f1eb;--color-warning: #ffbf00;--color-warning-subtle: #fff8e6;--color-error: #d72b0f;--color-error-subtle: #fbeae5;--color-info: #2c6ecb;--color-info-subtle: #e3f0fc;--color-text-primary: #202223;--color-text-secondary: #6d7175;--color-text-tertiary: #9c9fa2;--color-text-inverse: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f6f6f7;--color-bg-tertiary: #ebebeb;--color-bg-page: #f6f6f7;--color-border: #e1e3e5;--color-border-hover: #c9cccf;--color-border-focus: #008060;--font-family: -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Menlo, Monaco, Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-base: 16px;--space-lg: 20px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 4px;--radius-base: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-card: 0px 1px 2px rgba(0, 0, 0, .15);--shadow-modal: 0px 8px 24px rgba(0, 0, 0, .16);--transition-fast: .1s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-page);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-base);overflow:hidden}.card-header{padding:var(--space-base) 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:15px;font-weight:600}.card-body{padding:20px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:700px}.table th{background:var(--color-bg-secondary);text-align:left;padding:8px 16px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.table td{padding:10px 16px;border-bottom:1px solid var(--color-border);font-size:13px}.table tr:hover td{background:var(--color-bg-secondary)}.btn{padding:8px 16px;border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;border:none;cursor:pointer;transition:background .15s;font-family:var(--font-family)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#b8240d}.btn-sm{padding:5px 12px;font-size:var(--font-size-xs)}.btn-outline{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary)}.btn-outline:hover{border-color:var(--color-border-hover)}.form-group{margin-bottom:14px}.form-label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary)}.form-input{width:100%;height:36px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);font-family:var(--font-family);transition:border .15s}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00806026}select.form-input{height:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border)}.toggle-row:last-child{border-bottom:none}.toggle-label{font-size:var(--font-size-base)}.toggle-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.toggle{position:relative;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-tertiary);border-radius:11px;transition:background .2s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.alert{padding:12px 16px;border-radius:var(--radius-base);margin-bottom:var(--space-base);font-size:var(--font-size-base);display:none}.alert.show{display:flex;align-items:center;gap:8px}.alert-success{background:var(--color-success-subtle);color:var(--color-success)}.alert-error{background:var(--color-error-subtle);color:var(--color-error)}.alert-warning{background:var(--color-warning-subtle);color:#916a00}.alert-info{background:var(--color-info-subtle);color:var(--color-info)}.page-intro{background:var(--color-info-subtle);border:1px solid #b4d3f0;border-radius:var(--radius-base);padding:12px 16px;margin-bottom:20px;font-size:13px;color:var(--color-info);line-height:1.6}.pending-strip{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.pending-chip{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s;text-decoration:none;color:var(--color-text-primary)}.pending-chip:hover{border-color:var(--color-primary);text-decoration:none}.pending-chip .num{font-size:22px;font-weight:700}.pending-chip .num.red{color:var(--color-error)}.pending-chip .num.yellow{color:#916a00}.pending-chip .num.blue{color:var(--color-info)}.pending-chip .num.green{color:var(--color-success)}.pending-chip .lbl{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.mini-bar{height:6px;background:var(--color-bg-secondary);border-radius:3px;overflow:hidden}.mini-bar-fill{height:100%;border-radius:3px;transition:width .4s}.chart-bar{display:flex;align-items:flex-end;gap:6px;height:140px;padding:12px 0}.chart-bar-item{flex:1;background:var(--color-primary);border-radius:4px 4px 0 0;transition:height .3s;min-width:0}.chart-bar-item:hover{opacity:.85}.chart-labels{display:flex;gap:6px}.chart-labels span{flex:1;text-align:center;font-size:10px;color:var(--color-text-tertiary)}.item-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border)}.item-row:last-child{border-bottom:none}.item-info{display:flex;align-items:center;gap:10px}.item-thumb{width:40px;height:40px;background:var(--color-bg-secondary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px}.item-qty{display:flex;align-items:center;gap:6px}.item-qty button{width:24px;height:24px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg-primary);font-size:14px;cursor:pointer}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;justify-content:center;align-items:center}.modal-overlay.show{display:flex}.modal{background:var(--color-bg-primary);border-radius:var(--radius-lg);width:640px;max-width:92vw;max-height:88vh;overflow-y:auto}.modal-header{padding:var(--space-base) 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:var(--font-size-md);font-weight:600}.modal-close{background:none;border:none;font-size:20px;color:var(--color-text-secondary);cursor:pointer}.modal-body{padding:20px}.modal-footer{padding:var(--space-base) 20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px}.order-info-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:var(--color-bg-secondary);border-radius:var(--radius-base);margin-bottom:var(--space-base);font-size:var(--font-size-xs)}.order-info-bar .oi-label{color:var(--color-text-tertiary)}.order-info-bar .oi-value{font-weight:600;font-size:13px}.diff-old{text-decoration:line-through;color:var(--color-error);background:var(--color-error-subtle);padding:2px 6px;border-radius:3px;font-size:13px}.diff-new{color:var(--color-success);background:var(--color-success-subtle);padding:2px 6px;border-radius:3px;font-size:13px;font-weight:600}.timeline-item{display:flex;gap:12px;padding:10px 0}.timeline-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.timeline-dot.green{background:var(--color-success)}.timeline-dot.blue{background:var(--color-info)}.timeline-dot.red{background:var(--color-error)}.timeline-dot.yellow{background:#916a00}.timeline-content{flex:1}.timeline-time{font-size:11px;color:var(--color-text-tertiary)}.variant-selector{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}.variant-opt{padding:4px 10px;border:1px solid var(--color-border);border-radius:4px;font-size:var(--font-size-xs);background:var(--color-bg-primary);cursor:pointer;transition:all .15s}.variant-opt.sel{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary);font-weight:600}.variant-opt:hover{border-color:var(--color-border-hover)}.status-steps{display:flex;align-items:center;gap:0;margin:12px 0;font-size:var(--font-size-xs)}.status-step{padding:6px 12px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:4px}.status-step.done{background:var(--color-success-subtle);color:var(--color-success)}.status-step.current{background:var(--color-info-subtle);color:var(--color-info);font-weight:600}.status-step .arrow{margin:0 4px;color:var(--color-text-tertiary)}.nav-divider{height:1px;background:var(--color-border);margin:6px 12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .3s ease}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:var(--radius-base);font-size:var(--font-size-base);color:#fff;z-index:2000;animation:fadeIn .3s ease;max-width:360px}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-warning{background:#916a00}.portal-wrap{max-width:560px;margin:0 auto;padding:0 var(--space-base)}.portal-order-header{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin-bottom:var(--space-base)}.portal-order-header h2{font-size:var(--font-size-lg);font-weight:600}.portal-order-header p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.tab-bar{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:20px;overflow-x:auto}.tab-btn{padding:10px 16px;font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap;cursor:pointer}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.portal-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin-bottom:var(--space-base)}.portal-card h3{font-size:var(--font-size-md);font-weight:600;margin-bottom:12px}.verify-input{border:2px solid #916a00;border-radius:var(--radius-base);padding:8px 12px;font-size:var(--font-size-base);width:100%;margin:8px 0}.page-title{font-size:22px;font-weight:600;margin-bottom:4px}.page-desc{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:20px;line-height:1.6}.pagination{display:flex;align-items:center;gap:8px;margin-top:var(--space-base);justify-content:center}.pagination button{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);cursor:pointer;font-size:var(--font-size-xs)}.pagination button:hover{background:var(--color-bg-secondary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.order-info-bar{grid-template-columns:1fr 1fr}.pending-strip{flex-direction:column;gap:8px}}
