*,:before,:after{box-sizing:border-box}:root{--font-2xs:10px;--font-xs:12px;--font-sm:13px;--font-base:14px;--font-md:15px;--font-lg:16px;--font-xl:17px;--font-2xl:22px;--font-3xl:26px;--font-hero:28px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fw-black:900;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--brand:#2563eb;--brand-dark:#1d4ed8;--brand-light:#eff6ff;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--purple:#7c3aed;--danger-bg:#fef2f2;--warning-bg:#fef9c3;--highlight-bg:#fef3c7;--purple-bg:#f5f3ff;--surface:#f8fafc;--surface-subtle:#f1f5f9;--surface-card:#fff;--border:#e5e7eb;--border-subtle:#f3f4f6;--text-primary:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, .68, 0, 1.2);--ease-linear:linear;--dur-fast:.1s;--dur-base:.15s;--dur-slow:.22s}.t-hero{font-size:var(--font-hero);font-weight:var(--fw-extrabold);color:var(--text-primary)}.t-h1{font-size:var(--font-3xl);font-weight:var(--fw-extrabold);color:var(--text-primary)}.t-h2{font-size:var(--font-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.t-h3{font-size:var(--font-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.t-label{font-size:var(--font-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.t-body{font-size:var(--font-base);font-weight:var(--fw-normal);color:var(--text-primary)}.t-muted{font-size:var(--font-sm);font-weight:var(--fw-normal);color:var(--text-muted)}.t-faint{font-size:var(--font-xs);font-weight:var(--fw-normal);color:var(--text-faint)}.t-badge{font-size:var(--font-2xs);font-weight:var(--fw-bold);letter-spacing:.04em}.t-caption{font-size:var(--font-xs);font-weight:var(--fw-medium);color:var(--text-muted)}html{font-size:var(--font-base)}body{background:var(--surface);color:#111827;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-base);margin:0;line-height:1.5}.page-shell{flex-direction:column;gap:14px;min-width:0;padding-bottom:40px;display:flex}.row-danger>td{background:var(--danger-bg)!important}.row-warning>td{background:var(--warning-bg)!important}.row-new>td{background:#f0fdf4!important}.row-updated>td{background:var(--brand-light)!important}.row-highlight>td{box-shadow:inset 3px 0 0 var(--warning);background:var(--highlight-bg)!important}.row-pinned>td{box-shadow:inset 3px 0 0 var(--purple);background:var(--purple-bg)!important}.ant-card{border-radius:var(--radius-lg)!important}.ant-table{font-size:var(--font-sm)!important}.ant-table-thead>tr>th{white-space:nowrap;background:var(--surface)!important;color:#374151!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:10px 14px!important;font-size:11px!important;font-weight:700!important}.ant-table-tbody>tr>td{font-size:var(--font-sm)!important;padding:11px 14px!important}.ant-table-tbody>tr:hover>td{background:var(--surface)!important}.ant-tag{border:none!important;border-radius:99px!important;padding:2px 10px!important;font-size:12px!important;font-weight:600!important;line-height:20px!important}.ant-btn{border-radius:var(--radius-sm)!important;font-size:var(--font-sm)!important}.ant-btn-lg{border-radius:10px!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number{border-radius:var(--radius-sm)!important;font-size:var(--font-sm)!important}.ant-modal-content{border-radius:var(--radius-lg)!important}.ant-modal-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}.ant-message-notice-content{font-weight:500!important;font-size:var(--font-sm)!important;border-radius:10px!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.stat-value{letter-spacing:-.5px;font-size:26px;font-weight:800;line-height:1.1}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:700}.link-text{color:var(--brand);cursor:pointer;font-weight:600;text-decoration:none}.link-text:hover{color:var(--brand-dark);text-decoration:underline}.hover-arrow{opacity:.35;cursor:pointer;transition:opacity .15s}.hover-row:hover .hover-arrow,.ant-table-row:hover .hover-arrow,.ant-table-row:focus-within .hover-arrow{opacity:1}.chip{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.muted{color:#6b7280}.mono{font-family:SF Mono,Fira Code,monospace}.clickable-card{cursor:pointer;transition:box-shadow .15s,transform .15s}.clickable-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0f172a1a!important}.dispatch-card{cursor:default;transition:box-shadow .15s,transform .15s}.dispatch-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a!important}.hover-row{cursor:pointer;transition:background .12s}.hover-row:hover{background:var(--surface-subtle)!important}.expand-toggle{cursor:pointer;transition:color .12s,background .12s}.expand-toggle:hover{color:var(--brand)!important;background:var(--brand-light)!important}.ant-table-wrapper,.ant-table-body{overflow-x:auto!important}.ant-table-tbody>tr>td:last-child{white-space:nowrap!important}.gradient-text{background:linear-gradient(135deg, var(--brand), var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-card{-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;border-radius:var(--radius-lg)!important;background:#ffffff1f!important;border:1px solid #fff3!important}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-slide-up{animation:.4s forwards slideUp}.animate-fade-in{animation:.3s forwards fadeIn}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer}.skeleton-text{height:13px;margin-bottom:8px}.skeleton-title{width:60%;height:20px;margin-bottom:12px}.skeleton-card{border-radius:14px;height:88px}.empty-state{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state .ant-empty-image{margin-bottom:16px}.empty-state-title{color:#374151;margin-bottom:6px;font-size:15px;font-weight:600}.empty-state-subtitle{color:#9ca3af;max-width:320px;font-size:13px}@media print{.page-shell>:not(.print-content){display:none!important}body{background:#fff!important}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes drawerIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes tagPop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1.05)}}.ant-btn{transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-spring), background var(--dur-base) ease, border-color var(--dur-base) ease, color var(--dur-base) ease!important}.ant-btn:hover:not(:disabled){transform:translateY(-1px)!important;box-shadow:0 4px 12px #0000001a,0 1px 4px #0000000f!important}.ant-btn:active:not(:disabled){box-shadow:none!important;transition-duration:80ms!important;transform:scale(.97)translateY(0)!important}.ant-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #2563eb59,0 1px 4px #2563eb33!important}.ant-btn-dangerous:hover:not(:disabled){box-shadow:0 4px 14px #dc26264d!important}.btn-icon{flex-shrink:0;border-radius:var(--radius-sm)!important;color:#6b7280!important;border-color:#e5e7eb!important;width:28px!important;height:28px!important;padding:0 6px!important}.btn-icon-primary{flex-shrink:0;border-radius:var(--radius-sm)!important;color:#2563eb!important;background:#eff6ff!important;border-color:#bfdbfe!important;width:28px!important;height:28px!important;padding:0 6px!important}.btn-icon-purple{flex-shrink:0;border-radius:var(--radius-sm)!important;color:#7c3aed!important;background:#faf5ff!important;border-color:#ddd6fe!important;width:28px!important;height:28px!important;padding:0 6px!important}.btn-icon-animated{transition:transform var(--dur-base) var(--ease-bounce), box-shadow var(--dur-base) var(--ease-spring)!important}.btn-icon-animated:hover:not(:disabled){transform:scale(1.12)!important;box-shadow:0 4px 12px #0000001f!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number{transition:border-color .15s,box-shadow .15s!important}.ant-input:hover:not(:disabled),.ant-input-affix-wrapper:hover:not(.ant-input-affix-wrapper-disabled){border-color:#93c5fd!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-select-selector:hover{border-color:#93c5fd!important}.ant-select-focused .ant-select-selector{border-color:#3b82f6!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-picker:hover{border-color:#93c5fd!important}.ant-picker-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-tag{cursor:default;transition:transform var(--dur-base) var(--ease-bounce), box-shadow var(--dur-base) ease, opacity var(--dur-base) ease!important}.ant-tag:hover{transform:scale(1.06)!important;box-shadow:0 2px 8px #0000001a!important}.ant-table-tbody>tr{transition:background .1s!important}.ant-table-tbody>tr.hover-row{cursor:pointer}.ant-table-tbody>tr.hover-row:hover>td{background:var(--surface-subtle)!important}.ant-table-tbody>tr.hover-row:hover>td:first-child{box-shadow:inset 3px 0 #ff5a1f;transition:box-shadow .12s!important}.clickable-card{transition:box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),border-color .2s!important}.clickable-card:hover{border-color:#2563eb33!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px #0f172a1a,0 2px 8px #0f172a0f!important}.clickable-card:active{transition-duration:80ms!important;transform:translateY(0)scale(.99)!important}.stat-card-wrap{transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) var(--ease-spring)!important}.stat-card-wrap:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px #0f172a1f,0 2px 8px #0f172a0f!important}.stat-card-wrap:active{transition-duration:80ms!important;transform:translateY(0)scale(.99)!important}.dispatch-card{transition:box-shadow var(--dur-slow) var(--ease-spring), transform var(--dur-slow) var(--ease-spring), border-color var(--dur-slow) ease!important}.dispatch-card:hover{border-color:#2563eb33!important;transform:translateY(-2px)!important;box-shadow:0 6px 20px #0000001a,0 2px 6px #0000000d!important}.dispatch-card:active{transition-duration:80ms!important;transform:translateY(0)scale(.99)!important}.dashboard-card{transition:box-shadow var(--dur-slow) var(--ease-spring), transform var(--dur-slow) var(--ease-spring), border-top-color var(--dur-slow) ease!important}.dashboard-card:hover{filter:brightness(1.02);transform:translateY(-2px)!important;box-shadow:0 8px 24px #0000001a,0 2px 8px #0000000f!important}.dashboard-card:active{transition-duration:80ms!important;transform:translateY(0)scale(.99)!important}.expand-toggle{transition:color .12s,background .12s,transform .12s!important}.expand-toggle:hover{color:var(--brand)!important;background:var(--brand-light)!important;transform:translate(2px)!important}.hover-arrow{transition:opacity .15s,transform .15s cubic-bezier(.16,1,.3,1)!important}.hover-row:hover .hover-arrow,.ant-table-row:hover .hover-arrow{opacity:1!important;transform:translate(3px)!important}.ant-modal-content{animation:modalIn var(--dur-slow) var(--ease-spring) forwards!important}.ant-modal-mask{animation:.18s forwards fadeIn!important}.ant-drawer-content-wrapper{animation:drawerIn var(--dur-slow) var(--ease-spring) forwards!important}.ant-card.clickable-card,.ant-card[onClick],.ant-card[role=button]{transition:box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)!important}.ant-dropdown-menu{animation:fadeIn var(--dur-fast) var(--ease-spring) forwards!important}.ant-dropdown-menu-item{transition:background .1s,padding-left .12s!important}.ant-dropdown-menu-item:hover{padding-left:16px!important}.ant-tooltip{animation:.15s forwards fadeIn!important}.ant-tooltip .ant-tooltip-inner{color:#0f172a!important;font-size:var(--font-xs)!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;padding:5px 10px!important;font-weight:500!important;box-shadow:0 4px 16px #0f172a1a!important}.ant-tooltip .ant-tooltip-arrow:before,.ant-tooltip .ant-tooltip-arrow:after{background:#fff!important}.ant-tooltip.tooltip-surface-dark .ant-tooltip-inner{color:#fff!important;background:#1f1f1f!important;border-color:#334155!important;box-shadow:0 4px 16px #00000040!important}.ant-tooltip.tooltip-surface-dark .ant-tooltip-arrow:before,.ant-tooltip.tooltip-surface-dark .ant-tooltip-arrow:after{background:#1f1f1f!important}.ant-tabs-tab{transition:color .15s!important}.ant-tabs-tab:hover{color:var(--brand)!important}.ant-table-column-sorter{transition:transform .15s!important}.ant-table-column-title:hover .ant-table-column-sorter{transform:scale(1.2)!important}.ant-pagination-item{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s!important}.ant-pagination-item:hover{transform:scale(1.08)!important}.ant-pagination-item-active{box-shadow:0 2px 8px #2563eb4d!important}.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:#3b82f6!important;transition:all .15s!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-switch{transition:all .2s cubic-bezier(.16,1,.3,1)!important}.ant-switch:hover{opacity:.88!important;transform:scale(1.04)!important}.ant-breadcrumb-link{transition:color .12s!important}.ant-breadcrumb-link:hover{color:var(--brand)!important}.ant-badge-count{transition:transform .18s cubic-bezier(.34,1.56,.64,1)!important}.ant-badge:hover .ant-badge-count{transform:scale(1.12)!important}.ant-avatar{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s!important}.ant-avatar:hover{transform:scale(1.08)!important;box-shadow:0 4px 12px #00000026!important}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e8f0 50%,#f0f0f0 75%) 0 0/200% 100%!important;animation:1.6s ease-in-out infinite shimmer!important}.ant-message-notice-content{transition:transform .15s!important;animation:.18s cubic-bezier(.16,1,.3,1) forwards modalIn!important}.ant-form-item-label>label{transition:color .12s!important}.ant-form-item:focus-within .ant-form-item-label>label{color:var(--brand)!important}.stat-value{display:inline-block;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}.chip{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s!important}.chip:hover{transform:scale(1.05)!important;box-shadow:0 2px 8px #0000001a!important}.glass-card{transition:box-shadow .2s,transform .2s cubic-bezier(.16,1,.3,1)!important}.glass-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 32px #0f172a26,0 2px 8px #0f172a14!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[class*=ph-] svg,.phosphor-icon{vertical-align:middle;flex-shrink:0;display:inline-flex}[class*=ph-duotone] [opacity]{opacity:.3}.icon-xs{font-size:12px}.icon-sm{font-size:14px}.icon-md{font-size:16px}.icon-lg{font-size:20px}.icon-xl{font-size:24px}.icon-primary{color:#2563eb}.icon-success{color:#16a34a}.icon-warning{color:#d97706}.icon-danger{color:#dc2626}.icon-muted{color:#94a3b8}.icon-purple{color:#7c3aed}@keyframes phosphor-icon-spin{to{transform:rotate(360deg)}}@keyframes bgOrb{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.08)}66%{transform:translate(-20px,15px)scale(.95)}}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin svg,.icon-spin{animation:.8s linear infinite phosphor-icon-spin}.clock-date{display:inline}@media (width<=1100px){.clock-date{display:none}}@media (width<=900px){.clock-time{display:none}}.clock-time:hover{color:#1e293b!important}.card-base{border:1px solid #e5e7eb!important;border-radius:16px!important;transition:border-color .15s!important;box-shadow:0 4px 16px #0f172a0f!important}.card-base:hover{border-color:#ff5a1f33!important}.gradient-border{background:#fff;border-radius:16px;position:relative}.gradient-border:before{content:"";-webkit-mask-composite:xor;pointer-events:none;opacity:0;background:linear-gradient(135deg,#ff5a1f,#00d4ff);border-radius:16px;padding:1.5px;transition:opacity .2s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.gradient-border:hover:before{opacity:1}.gradient-border-dark{background:#0f172999;border-radius:16px;position:relative}.gradient-border-dark:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ff5a1f,#00d4ff);border-radius:16px;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.section-kicker{text-transform:uppercase;letter-spacing:.08em;color:#ff5a1f;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.section-kicker:before{content:"";background:#ff5a1f;border-radius:50%;flex-shrink:0;width:6px;height:6px}
