:root{--color-primary:#2b5ce6;--color-primary-light:#5b8cf7;--color-primary-lighter:#d6e4ff;--color-primary-dark:#1a3db0;--color-primary-rgb:43,92,230;--color-success:#36b37e;--color-success-light:#57d9a3;--color-success-lighter:#e3fcef;--color-success-dark:#2a8c62;--color-success-rgb:54,179,126;--color-warning:#ff8b00;--color-warning-light:#ffb74d;--color-warning-lighter:#fff4e5;--color-warning-dark:#cc6f00;--color-warning-rgb:255,139,0;--color-danger:#ff5630;--color-danger-light:#ff8f73;--color-danger-lighter:#ffebe6;--color-danger-dark:#cc4526;--color-danger-rgb:255,86,48;--color-info:#6b778c;--color-info-light:#97a0af;--color-info-lighter:#f4f5f7;--color-info-dark:#505f79;--color-info-rgb:107,119,140;--color-transit:#00b8d9;--color-transit-light:#4dd0e1;--color-transit-lighter:#e6fcff;--color-transit-dark:#0093ad;--color-transit-rgb:0,184,217;--color-white:#fff;--color-background:#f4f5f7;--color-background-light:#fafbfc;--color-background-dark:#ebecf0;--color-sidebar:#1b2a4a;--color-sidebar-light:#243556;--color-sidebar-dark:#131f38;--text-primary:#172b4d;--text-secondary:#6b778c;--text-light:#97a0af;--text-disabled:#c1c7d0;--text-inverse:#fff;--text-link:#2b5ce6;--text-link-hover:#1a3db0;--border-color:#e4e7eb;--border-color-light:#f0f1f3;--border-color-dark:#c1c7d0;--shadow-sm:0 1px 3px rgba(23,43,77,0.08),0 1px 2px rgba(23,43,77,0.04);--shadow-md:0 4px 12px rgba(23,43,77,0.1),0 2px 4px rgba(23,43,77,0.06);--shadow-lg:0 12px 36px rgba(23,43,77,0.12),0 4px 12px rgba(23,43,77,0.08);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:0.15s ease;--transition-base:0.25s ease;--transition-slow:0.35s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-overlay:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--sidebar-width:210px;--sidebar-collapsed-width:64px;--header-height:60px;--content-max-width:1440px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{height:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight)}p{margin-top:0;margin-bottom:1em}img{max-width:100%;height:auto}::selection{background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}::-moz-selection{background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}*{scrollbar-width:thin;scrollbar-color:var(--border-color-dark) transparent}a{color:var(--text-link);transition:color var(--transition-fast)}a,a:hover{text-decoration:none}a:hover{color:var(--text-link-hover)}a:active{color:var(--color-primary-dark)}.el-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.el-button--primary:focus,.el-button--primary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.el-button--primary:active{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.el-button--primary.is-plain{color:var(--color-primary);background-color:var(--color-primary-lighter);border-color:var(--color-primary-light)}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{color:var(--color-white);background-color:var(--color-primary);border-color:var(--color-primary)}.el-button--success{background-color:var(--color-success);border-color:var(--color-success);border-radius:var(--radius-sm)}.el-button--success:focus,.el-button--success:hover{background-color:var(--color-success-light);border-color:var(--color-success-light)}.el-button--warning{background-color:var(--color-warning);border-color:var(--color-warning);border-radius:var(--radius-sm)}.el-button--warning:focus,.el-button--warning:hover{background-color:var(--color-warning-light);border-color:var(--color-warning-light)}.el-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);border-radius:var(--radius-sm)}.el-button--danger:focus,.el-button--danger:hover{background-color:var(--color-danger-light);border-color:var(--color-danger-light)}.el-button--default{border-radius:var(--radius-sm);transition:all var(--transition-fast)}.el-button--default:focus,.el-button--default:hover{color:var(--color-primary);border-color:var(--color-primary-light);background-color:var(--color-primary-lighter)}.el-menu{border-right:none}.el-menu-item.is-active{color:var(--color-primary)!important;background-color:var(--color-primary-lighter)!important;border-right:3px solid var(--color-primary);font-weight:var(--font-weight-medium)}.el-menu--dark .el-menu-item.is-active{color:var(--color-white)!important;background-color:var(--color-primary)!important;border-right:3px solid var(--color-primary-light)}.el-menu-item:hover{background-color:var(--color-background)!important}.el-menu--dark .el-menu-item:hover{background-color:var(--color-sidebar-light)!important}.el-submenu__title:hover{background-color:var(--color-background)!important}.el-menu--dark .el-submenu__title:hover{background-color:var(--color-sidebar-light)!important}.el-tag{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:0 10px;height:24px;line-height:22px;border:none}.el-tag--success{background-color:var(--color-success-lighter);color:var(--color-success-dark)}.el-tag--warning{background-color:var(--color-warning-lighter);color:var(--color-warning-dark)}.el-tag--danger{background-color:var(--color-danger-lighter);color:var(--color-danger-dark)}.el-tag--info{background-color:var(--color-info-lighter);color:var(--color-info-dark)}.el-tag--primary{background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}.el-card{border-radius:var(--radius-md);border:1px solid var(--border-color-light);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base);overflow:hidden}.el-card:hover{box-shadow:var(--shadow-md)}.el-card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color-light);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.el-card__body{padding:var(--space-6)}.el-table{border-radius:var(--radius-md);overflow:hidden;font-size:var(--font-size-sm)}.el-table:before{display:none}.el-table th{background-color:var(--color-background)!important;color:var(--text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;padding:14px 0;border-bottom:2px solid var(--border-color)!important}.el-table td{padding:14px 0;color:var(--text-primary);border-bottom:1px solid var(--border-color-light)!important}.el-table--striped .el-table__body tr.el-table__row--striped td{background-color:var(--color-background-light)}.el-table--enable-row-hover .el-table__body tr:hover>td,.el-table__body tr:hover>td{background-color:var(--color-primary-lighter)!important}.el-table__empty-text{color:var(--text-light);font-size:var(--font-size-sm)}.el-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.el-dialog__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color-light)}.el-dialog__title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text-primary)}.el-dialog__headerbtn .el-dialog__close{color:var(--text-light);font-size:var(--font-size-lg);transition:color var(--transition-fast)}.el-dialog__headerbtn .el-dialog__close:hover{color:var(--color-danger)}.el-dialog__body{padding:var(--space-6);color:var(--text-primary)}.el-dialog__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color-light)}.el-input__inner{border-radius:var(--radius-sm);border-color:var(--border-color);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.el-input__inner:hover{border-color:var(--border-color-dark)}.el-input__inner::-moz-placeholder{color:var(--text-light)}.el-input__inner::placeholder{color:var(--text-light)}.el-textarea__inner{border-radius:var(--radius-sm);border-color:var(--border-color);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.el-textarea__inner:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.el-select-dropdown{border-radius:var(--radius-sm);border-color:var(--border-color);box-shadow:var(--shadow-md)}.el-select-dropdown__item.selected{color:var(--color-primary);font-weight:var(--font-weight-medium)}.el-select-dropdown__item:hover{background-color:var(--color-primary-lighter)}.el-pagination{font-weight:var(--font-weight-medium)}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:var(--color-primary);border-radius:var(--radius-sm)}.el-pagination.is-background .el-pager li{border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:var(--color-primary);background-color:var(--color-primary-lighter)}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{border-radius:var(--radius-sm)}.el-progress-bar__inner{background-color:var(--color-primary);border-radius:var(--radius-full);transition:width .6s ease}.el-progress-bar__outer{border-radius:var(--radius-full);background-color:var(--color-background-dark)}.el-message-box{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding-bottom:var(--space-4);border:none}.el-message-box__title{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.el-message-box__btns .el-button--primary{background-color:var(--color-primary);border-color:var(--color-primary)}.el-message{border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:none;padding:var(--space-3) var(--space-5)}.el-breadcrumb__inner a{color:var(--text-secondary);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.el-breadcrumb__inner a:hover{color:var(--color-primary)}.el-breadcrumb__item:last-child .el-breadcrumb__inner{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.el-form-item__label{color:var(--text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.el-tabs__item.is-active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.el-tabs__active-bar{background-color:var(--color-primary)}.el-tabs__item:hover{color:var(--color-primary-light)}.el-badge__content{border:none;font-weight:var(--font-weight-semibold)}.el-tooltip__popper.is-dark{background-color:var(--color-sidebar);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3)}.el-loading-mask{background-color:hsla(0,0%,100%,.85);backdrop-filter:blur(2px)}.el-dropdown-menu{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);border-color:var(--border-color-light);padding:var(--space-1) 0}.el-dropdown-menu__item:hover{background-color:var(--color-primary-lighter);color:var(--color-primary)}.el-main{padding:var(--space-6);background-color:var(--color-background)}.text-primary{color:var(--color-primary)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-danger{color:var(--color-danger)!important}.text-info{color:var(--color-info)!important}.text-transit{color:var(--color-transit)!important}.text-body{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-light)!important}.text-white{color:var(--color-white)!important}.bg-primary{background-color:var(--color-primary)!important}.bg-primary-light{background-color:var(--color-primary-lighter)!important}.bg-success{background-color:var(--color-success)!important}.bg-success-light{background-color:var(--color-success-lighter)!important}.bg-warning{background-color:var(--color-warning)!important}.bg-warning-light{background-color:var(--color-warning-lighter)!important}.bg-danger{background-color:var(--color-danger)!important}.bg-danger-light{background-color:var(--color-danger-lighter)!important}.bg-info{background-color:var(--color-info)!important}.bg-info-light{background-color:var(--color-info-lighter)!important}.bg-transit{background-color:var(--color-transit)!important}.bg-transit-light{background-color:var(--color-transit-lighter)!important}.bg-white{background-color:var(--color-white)!important}.bg-page{background-color:var(--color-background)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-none{box-shadow:none!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-full{border-radius:var(--radius-full)!important}.rounded-none{border-radius:0!important}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.font-medium{font-weight:var(--font-weight-medium)!important}.font-semibold{font-weight:var(--font-weight-semibold)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-base{font-size:var(--font-size-base)!important}.text-md{font-size:var(--font-size-md)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}.text-uppercase{text-transform:uppercase!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-signed{color:var(--color-success)}.status-signed-badge,.status-signed-bg{background-color:var(--color-success-lighter);color:var(--color-success-dark)}.status-signed-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-signed-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-success);margin-right:6px}.status-dispatch{color:var(--color-warning)}.status-dispatch-badge,.status-dispatch-bg{background-color:var(--color-warning-lighter);color:var(--color-warning-dark)}.status-dispatch-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-dispatch-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-warning);margin-right:6px}.status-transit{color:var(--color-transit)}.status-transit-badge,.status-transit-bg{background-color:var(--color-transit-lighter);color:var(--color-transit-dark)}.status-transit-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-transit-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-transit);margin-right:6px}.status-problem{color:var(--color-danger)}.status-problem-badge,.status-problem-bg{background-color:var(--color-danger-lighter);color:var(--color-danger-dark)}.status-problem-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-problem-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-danger);margin-right:6px}.status-received{color:var(--color-info)}.status-received-badge,.status-received-bg{background-color:var(--color-info-lighter);color:var(--color-info-dark)}.status-received-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-received-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-info);margin-right:6px}.flex{display:flex!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.flex-wrap{flex-wrap:wrap!important}.flex-1{flex:1!important}.gap-1{gap:var(--space-1)!important}.gap-2{gap:var(--space-2)!important}.gap-3{gap:var(--space-3)!important}.gap-4{gap:var(--space-4)!important}.gap-6{gap:var(--space-6)!important}.mt-1{margin-top:var(--space-1)!important}.mt-2{margin-top:var(--space-2)!important}.mt-3{margin-top:var(--space-3)!important}.mt-4{margin-top:var(--space-4)!important}.mt-6{margin-top:var(--space-6)!important}.mb-1{margin-bottom:var(--space-1)!important}.mb-2{margin-bottom:var(--space-2)!important}.mb-3{margin-bottom:var(--space-3)!important}.mb-4{margin-bottom:var(--space-4)!important}.mb-6{margin-bottom:var(--space-6)!important}.ml-2{margin-left:var(--space-2)!important}.ml-3{margin-left:var(--space-3)!important}.mr-2{margin-right:var(--space-2)!important}.mr-3{margin-right:var(--space-3)!important}.p-2{padding:var(--space-2)!important}.p-3{padding:var(--space-3)!important}.p-4{padding:var(--space-4)!important}.p-6{padding:var(--space-6)!important}.px-4{padding-left:var(--space-4)!important;padding-right:var(--space-4)!important}.py-2{padding-top:var(--space-2)!important;padding-bottom:var(--space-2)!important}.py-4{padding-top:var(--space-4)!important;padding-bottom:var(--space-4)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}