#root{width:100%;min-height:100vh}:root{--bg:#f5f5f7;--sidebar-bg:#fff;--card-bg:#fff;--border:#d2d2d7;--border-subtle:#e5e5ea;--text-primary:#1d1d1f;--text-secondary:#3a3a3c;--text-muted:#6e6e73;--text-faint:#8a8a8e;--active-bg:#ebebeb;--active-text:#000;--hover-bg:#f5f5f7;--input-bg:#fafafa;--accent:#0071e3;--accent-hover:#0077ed;--danger:#ff3b30;--success:#34c759;--success-bg:#f0fdf4;--success-border:#86efac;--cat-app-bg:#dbeafe;--cat-app-color:#1d4ed8;--cat-aar-bg:#ede9fe;--cat-aar-color:#6d28d9;--cat-apr-bg:#cffafe;--cat-apr-color:#0e7490;--cat-era-bg:#ccfbf1;--cat-era-color:#0f766e;--cat-mega-bg:#dbeafe;--cat-mega-color:#1d4ed8;--status-empty-bg:#fee2e2;--status-empty-color:#991b1b;--status-short-bg:#fef9c3;--status-short-color:#92400e;--chip-inactive-bg:#f1f5f9;--chip-inactive-color:#64748b;--chip-active-bg:#e0e7ff;--chip-active-color:#3730a3;--chip-active-border:#818cf8;--chip-dark-bg:#0f172a;--chip-dark-color:#fff;--warning-bg:#fffbeb;--warning-border:#fcd34d;--error-bg:#fff2f2;--error-border:#ffcdd2;--info-bg:#f0f4ff;--info-border:#bdd1fa;--table-stripe:#fafafa;--table-header-bg:#f5f5f7;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000017}[data-theme=dark]{--bg:#000;--sidebar-bg:#1c1c1e;--card-bg:#2c2c2e;--border:#48484a;--border-subtle:#3a3a3c;--text-primary:#fff;--text-secondary:#f2f2f7;--text-muted:#c7c7cc;--text-faint:#98989d;--active-bg:#3d3d3f;--active-text:#fff;--hover-bg:#3a3a3c;--input-bg:#3a3a3c;--accent:#409cff;--accent-hover:#64afff;--danger:#ff6961;--success:#30d158;--success-bg:#052e16;--success-border:#166534;--cat-app-bg:#1e3259;--cat-app-color:#93c5fd;--cat-aar-bg:#2a1a52;--cat-aar-color:#c4b5fd;--cat-apr-bg:#063340;--cat-apr-color:#67e8f9;--cat-era-bg:#0d3d3a;--cat-era-color:#5eead4;--cat-mega-bg:#1e3259;--cat-mega-color:#93c5fd;--status-empty-bg:#3b0d0d;--status-empty-color:#fca5a5;--status-short-bg:#2c1a00;--status-short-color:#fde68a;--chip-inactive-bg:#3a3a3c;--chip-inactive-color:#98989d;--chip-active-bg:#1a1a3e;--chip-active-color:#818cf8;--chip-active-border:#4f46e5;--chip-dark-bg:#f2f2f7;--chip-dark-color:#000;--warning-bg:#2c1f00;--warning-border:#9a7800;--error-bg:#2c0000;--error-border:#9a0000;--info-bg:#00214d;--info-border:#05c;--table-stripe:#323232;--table-header-bg:#3a3a3c;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 2px 10px #0009}[data-theme=dark] .recharts-cartesian-axis-tick-value,[data-theme=dark] .recharts-cartesian-axis-tick text,[data-theme=dark] .recharts-label-list text,[data-theme=dark] .recharts-reference-line-label text{fill:#c7c7cc!important}[data-theme=dark] .recharts-legend-item-text{color:#c7c7cc!important}[data-theme=dark] .recharts-cartesian-grid-horizontal line,[data-theme=dark] .recharts-cartesian-grid-vertical line{stroke:#48484a}[data-theme=dark] .recharts-tooltip-cursor{fill:#ffffff0a}.login-layout{background:#0068d6;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,sans-serif;display:flex;overflow:hidden}.login-left{background:linear-gradient(150deg,#004bb8 0%,#0068d6 45%,#2e8fff 100%);flex:0 0 67%;justify-content:center;align-items:center;padding:60px 72px;display:flex;position:relative;overflow:hidden}.login-blob{filter:blur(72px);pointer-events:none;border-radius:50%;position:absolute}.login-blob-1{background:#ffffff1a;width:340px;height:340px;top:-80px;right:-60px}.login-blob-2{background:#001e7840;width:260px;height:260px;bottom:-60px;left:-40px}.login-blob-3{background:#ffffff12;width:180px;height:180px;bottom:120px;right:40px}.login-left-inner{z-index:1;flex-direction:column;gap:24px;width:100%;max-width:580px;display:flex;position:relative}.login-left-brand{align-items:center;gap:10px;display:flex}.login-left-logo{width:auto;height:56px}.login-left-wordmark{letter-spacing:.12em;color:#fff;text-transform:uppercase;font-size:26px;font-weight:800}.login-left-headline{color:#fff;letter-spacing:-.5px;margin:0;font-size:36px;font-weight:700;line-height:1.25}.login-left-sub{color:#ffffffbf;margin:0;font-size:15.5px;line-height:1.6}.login-mockup{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #fff3;border-radius:14px;margin-top:4px;overflow:hidden}.login-mockup-topbar{background:#00000026;border-bottom:1px solid #ffffff1a;align-items:center;gap:5px;padding:8px 12px;display:flex}.login-mockup-dot{border-radius:50%;width:7px;height:7px}.login-mockup-dot.r{background:#ff6057}.login-mockup-dot.y{background:#ffbd2e}.login-mockup-dot.g{background:#28ca40}.login-mockup-title{color:#ffffff8c;letter-spacing:.03em;margin-left:6px;font-size:10px}.login-mockup-body{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.login-mockup-stats{gap:8px;display:flex}.login-mockup-stat{background:#ffffff21;border-radius:10px;flex:1;padding:10px 12px}.login-mockup-stat-val{color:#fff;font-size:17px;font-weight:700;line-height:1}.login-mockup-stat-lbl{color:#fff9;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:10px}.login-mockup-chart{align-items:flex-end;gap:5px;height:72px;display:flex}.login-mockup-bar{background:#ffffff4d;border-radius:3px 3px 0 0;flex:1;min-height:6px}.login-mockup-bar:nth-child(2n){background:#ffffff2e}.login-mockup-rows{flex-direction:column;gap:5px;display:flex}.login-mockup-row{background:#ffffff2e;border-radius:3px;height:5px}.login-mockup-steps{flex-direction:column;gap:7px;display:flex}.login-mockup-step{align-items:center;gap:8px;display:flex}.login-mockup-step-num{color:#fff;background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:flex}.login-mockup-step-check{color:#ffffff8c;flex-shrink:0;font-size:10px}.login-mockup-table{border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:0;display:flex;overflow:hidden}.login-mockup-table-head{background:#00000026;gap:8px;padding:7px 12px;display:flex}.login-mockup-table-hcell{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:10px;font-weight:700}.login-mockup-table-row{border-top:1px solid #ffffff12;gap:8px;padding:7px 12px;display:flex}.login-mockup-table-row:nth-child(2n){background:#ffffff0a}.login-mockup-table-cell{color:#ffffffbf;flex:1;font-size:12px}.login-slide{flex-direction:column;gap:20px;animation:.5s loginSlideIn;display:flex}@keyframes loginSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-dots{align-items:center;gap:8px;margin-top:4px;display:flex}.login-dot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,width .2s}.login-dot.active{background:#ffffffe6;border-radius:4px;width:22px}.login-right{background:var(--bg);z-index:1;background-image:radial-gradient(circle,#0000000e 1px,#0000 1px);background-size:22px 22px;border-radius:80px 0 0 80px;flex:1;justify-content:center;align-items:center;padding:48px 44px;transition:background .2s;display:flex;position:relative;box-shadow:-20px 0 60px #00000038}.login-form-wrap{flex-direction:column;gap:0;width:100%;max-width:380px;display:flex}.login-mobile-logo{width:auto;height:40px;margin-bottom:24px;display:none}.login-title{color:var(--text-primary);letter-spacing:-.4px;margin:0 0 6px;font-size:28px;font-weight:700}.login-subtitle{color:var(--text-muted);margin:0 0 28px;font-size:13.5px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--text-secondary);font-size:13px;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:11px 42px 11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .2s}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.login-input-error{border-color:var(--danger)!important;background:var(--error-bg)!important}.login-pw-eye{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .12s;display:flex;position:absolute;right:12px}.login-pw-eye:hover{color:var(--text-primary)}.login-error{color:var(--danger);align-items:center;gap:4px;font-size:12px;display:flex}.login-submit{background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px;font-size:14.5px;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.login-submit:hover{opacity:.88}.login-submit:active{transform:scale(.98)}.login-footer{color:var(--text-faint);text-align:center;margin-top:32px;font-size:11px}@media (width<=860px){.login-layout{background:#fff;flex-direction:column;min-height:100dvh}.login-right{background:#fff;border-radius:0 0 80px 80px;flex-direction:column;flex:none;order:-1;justify-content:flex-start;align-items:center;padding:48px 28px 36px;box-shadow:0 16px 60px #0000002e}.login-form-wrap{flex-direction:column;align-items:center;width:100%;max-width:400px;margin-top:0;display:flex}.login-form{width:100%}.login-field{text-align:left;width:100%}.login-mobile-logo{object-fit:contain;width:auto;max-width:120px;height:38px;margin:0 auto 20px;display:block}.login-title{text-align:center;margin-bottom:6px;font-size:26px}.login-subtitle{text-align:center;margin-bottom:26px;font-size:13.5px}.login-label{font-size:13px}.login-input{padding:13px 44px 13px 14px;font-size:15px}.login-submit{border-radius:14px;margin-top:18px;padding:15px;font-size:15px}.login-footer{text-align:center;margin-top:22px;font-size:11px}.login-left{border-radius:40px 40px 0 0;flex:1;order:1;justify-content:center;align-items:center;min-height:auto;padding:40px 28px 80px}.login-left-inner{text-align:center;align-items:center;gap:14px;width:100%;max-width:380px}.login-left-brand{justify-content:center;margin-bottom:4px}.login-left-logo{filter:brightness(0)invert();height:30px;display:block}.login-left-wordmark{font-size:20px}.login-left-headline{text-align:center;font-size:22px;line-height:1.28}.login-left-sub{opacity:.82;text-align:center;font-size:13px}.login-mockup{width:100%;margin-top:4px;display:block}.login-slide{align-items:center;gap:10px}.login-dots{justify-content:center;margin-top:4px}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,sans-serif;transition:background .2s,color .2s}.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);width:240px;min-width:240px;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;flex-shrink:0;margin:8px 0 10px 10px;padding:0;transition:width .2s,min-width .2s,margin .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;overflow-y:auto;box-shadow:0 6px 14px #0000000f,0 1px 4px #0000000a,10px 0 14px -4px #00000024}[data-theme=dark] .sidebar{box-shadow:0 6px 14px #0000004d,0 1px 4px #0003,10px 0 14px -4px #0000007a}.sidebar{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.sidebar.sidebar-collapsed{width:0;min-width:0;box-shadow:none;border:none;margin:0;overflow:hidden}.nav-toggle-btn{z-index:200;border:1px solid var(--border);background:var(--sidebar-bg);width:28px;height:28px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:7px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .12s,color .12s;display:flex;position:fixed;top:14px;left:14px}.nav-toggle-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar-brand{flex-direction:column;align-items:center;gap:6px;padding:16px 16px 8px;display:flex}.sidebar-logo{border-radius:10px;width:90px}.apex-wordmark{letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase;font-size:18px;font-weight:700;line-height:1}.apex-tagline{color:var(--text-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1.4}.sidebar-brand-name{color:var(--text-muted);text-align:center;font-size:11px;font-weight:500;line-height:1.3}.sidebar hr{display:none}.sidebar-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 2px;padding:8px 18px 4px;font-size:11px;font-weight:600}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding:4px 10px;display:flex}.nav-btn{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:14px;padding:11px 16px;font-size:14px;font-weight:400;transition:background .1s,color .1s;display:flex}.nav-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.nav-btn.active{background:var(--accent);color:#fff;border-radius:10px;font-weight:600}.theme-toggle-btn{border:1px solid var(--border);background:var(--hover-bg);width:calc(100% - 16px);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:0 8px 8px;padding:8px 12px;font-size:12px;font-weight:500;transition:background .1s,color .1s,border-color .1s;display:flex}.theme-toggle-btn:hover{background:var(--border-subtle);color:var(--text-primary)}.sidebar-info{color:var(--text-faint);border-top:1px solid var(--border-subtle);padding:12px 14px;font-size:11px;line-height:1.5}.main-content{background:var(--bg);flex:1;padding:22px 44px 36px;transition:background .2s;overflow:auto}.page h1{color:var(--text-primary);letter-spacing:-.3px;align-items:center;gap:10px;margin:0 0 4px;font-size:24px;font-weight:700;display:flex}.subtitle{color:var(--text-muted);margin:0 0 24px;font-size:13px}.upload-box{border:1.5px dashed var(--border);background:var(--card-bg);text-align:center;border-radius:8px;margin-bottom:20px;padding:28px 24px;transition:border-color .15s,background .2s}.upload-box:hover{border-color:var(--text-muted)}.upload-label{cursor:pointer;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;font-size:14px;display:inline-flex}.upload-label input[type=file]{color:var(--text-muted);font-size:13px}.file-name{color:var(--success);margin:12px 0 0;font-size:13px}.btn{cursor:pointer;letter-spacing:.01em;background:var(--accent);color:#fff;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){opacity:.88}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;margin-bottom:20px}.btn-success,.btn-info{background:var(--accent);color:#fff}.btn-secondary{background:var(--hover-bg);color:var(--text-secondary);border:1px solid var(--border)}.btn-sm{border-radius:8px;padding:6px 12px;font-size:12px}.options-row{margin:20px 0 12px}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.checkbox-label input{cursor:pointer;width:16px;height:16px;accent-color:var(--text-primary)}.download-row{flex-wrap:wrap;gap:10px;display:flex}.table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-sm);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{background:var(--table-header-bg);color:var(--text-primary);text-align:left;letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:8px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--hover-bg)}.config-box{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;margin:20px 0;padding:22px 26px;transition:background .2s,border-color .2s}.config-box h2{color:var(--text-primary);margin:0 0 16px;font-size:15px;font-weight:600}.config-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.config-field{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.config-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.config-field select,.config-field input[type=text]{border:1px solid var(--border);color:var(--text-primary);background:var(--input-bg);border-radius:8px;padding:9px 12px;font-size:13px;transition:border-color .12s,box-shadow .12s,background .2s}.config-field select:focus,.config-field input[type=text]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0071e32e}.alert{background:var(--error-bg);border:1px solid var(--error-border);color:var(--danger);border-radius:10px;margin:12px 0;padding:12px 16px;font-size:13px}.info-box{background:var(--info-bg);border:1px solid var(--info-border);color:var(--accent);border-radius:10px;padding:16px 20px;font-size:14px}.mode-toggle{background:var(--hover-bg);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.mode-toggle-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 20px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.mode-toggle-btn.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 4px #0000001f}[data-theme=dark] .mode-toggle-btn.active{box-shadow:0 1px 4px #0006}.routing-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.routing-action-row{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;display:flex}.routing-action-row .btn-action{margin-bottom:0}.routing-timestamps{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.routing-timestamps strong{color:var(--text-primary);font-weight:600}.routing-ts-sep{background:var(--border);opacity:.5;flex-shrink:0;width:1px;height:14px}.btn-action{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;margin-bottom:24px;padding:11px 22px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn-action:hover:not(:disabled){opacity:.82}.btn-action:disabled{opacity:.45;cursor:not-allowed}.section-heading{color:var(--text-primary);letter-spacing:-.3px;margin:28px 0 16px;font-size:22px;font-weight:700}.section-heading-sub{color:var(--text-muted);font-size:16px;font-weight:400}.brand-checks{flex-wrap:wrap;gap:10px;padding:8px 0;display:flex}.brand-checks .checkbox-label{background:var(--hover-bg);border:1px solid var(--border);border-radius:5px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.brand-checks .checkbox-label:has(input:checked){background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text)}.summary-bar{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.summary-ok{color:var(--success)}.summary-hold{color:var(--danger)}.summary-total{color:var(--text-muted)}.status-badge{letter-spacing:.03em;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-ok{color:#065f46;background:#d1fae5}.badge-hold{color:#be123c;background:#ffe4e6}.badge-skip{color:#92400e;background:#fef3c7}[data-theme=dark] .badge-ok{color:#6ee7b7;background:#064e3b}[data-theme=dark] .badge-hold{color:#fda4af;background:#4c0519}[data-theme=dark] .badge-skip{color:#fde68a;background:#451a03}.check-badge{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.row-ok td{background:#34c7590f}.row-hold td{background:#ff3b300f}.routing-log-cards{margin:0 0 28px}.routing-log-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:12px;display:grid}.routing-sheet-card{background:var(--card-bg);border:1px solid #00000012;border-radius:18px;flex-direction:column;gap:10px;padding:20px 22px 18px;transition:box-shadow .2s,transform .18s;display:flex;box-shadow:0 1px 2px #0000000a,0 4px 14px #0000000d}.routing-sheet-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000014,0 10px 28px #00000014}.sheet-card-header{align-items:center;gap:7px;display:flex}.sheet-card-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sheet-card-name{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.sheet-card-stat{align-items:baseline;gap:6px;display:flex}.sheet-card-stat strong{letter-spacing:-1px;font-size:30px;font-weight:700;line-height:1}.sheet-card-stat span{color:var(--text-muted);font-size:12px;font-weight:500}.sheet-card-detail{color:var(--text-muted);font-size:11px}.routing-log{color:var(--text-secondary);white-space:pre-wrap;border:1px solid var(--border-subtle);background:#f5f5f7;border-radius:12px;margin:0 0 24px;padding:18px 20px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:12.5px;line-height:1.8;box-shadow:0 2px 12px #0000000f}[data-theme=dark] .routing-log{color:var(--text-muted);border-color:var(--border);background:#2c2c2e;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .routing-sheet-card{border-color:#ffffff14;box-shadow:0 1px 2px #0003,0 4px 14px #00000040}[data-theme=dark] .sheet-card-stat strong{color:#fff!important}[data-theme=dark] .sheet-card-stat span{color:#ffffff73}[data-theme=dark] .sheet-card-name{color:#fff6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.mobile-topbar{display:none}@media (width<=768px){.app-body{flex-direction:column}.sidebar{z-index:200;border-radius:0;width:260px;min-width:260px;height:100vh;margin:0;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{z-index:199;background:#00000059;position:fixed;inset:0}.main-content{width:100%;padding:16px 16px 24px}.mobile-topbar{background:var(--sidebar-bg);color:var(--text-primary);z-index:100;border-bottom:1px solid var(--border);align-items:center;gap:12px;margin:0 -16px 20px;padding:12px 16px;display:flex;position:sticky;top:0}.hamburger{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.nav-toggle-btn{display:none}.mobile-topbar-title{letter-spacing:.06em;color:var(--text-primary);font-size:16px;font-weight:700}.page h1{font-size:18px}.config-box [style*=grid-template-columns]{grid-template-columns:1fr!important}.upload-label{box-sizing:border-box;width:100%}.download-row{flex-direction:column}.download-row .btn,.btn-primary{text-align:center;width:100%}.config-field{min-width:unset;width:100%}.routing-page-header{flex-direction:column;align-items:flex-start}.routing-action-row{flex-direction:column;align-items:flex-start;gap:10px}.routing-timestamps{flex-direction:column;gap:4px}.routing-ts-sep{display:none}.summary-bar{flex-direction:column;align-items:flex-start;gap:8px}.btn-action{box-sizing:border-box;justify-content:center;width:100%}.section-heading{margin:20px 0 12px;font-size:17px}.section-heading-sub{font-size:13px}.routing-log-grid{grid-template-columns:repeat(2,1fr);gap:10px}.routing-sheet-card{border-radius:14px;padding:16px 16px 14px}.sheet-card-stat strong{font-size:24px}.top-bar{gap:4px;margin:8px 8px 0;padding:5px 8px}.top-bar-page-title{display:none}.top-bar-brand{border-right:none;margin-right:0;padding-right:8px}.top-bar-logo{height:22px}.dash-header-row{flex-wrap:wrap!important}.dash-header-row>div:first-child{flex:100%}.dash-kpi-row>*{min-width:calc(50% - 6px)!important}.dash-grid-3{grid-template-columns:1fr!important}.dash-health-inner{flex-direction:column!important;align-items:flex-start!important}.dash-health-inner>div:first-child{flex:none!important;width:100%!important}.dash-action-detail{grid-template-columns:1fr!important}.dash-fulfil-toggle{flex-wrap:wrap!important}.dash-fulfil-toggle>span:last-child{flex-basis:100%}}.app-right{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--sidebar-bg);border:1px solid var(--border-subtle);z-index:50;border-radius:14px;flex-shrink:0;align-items:center;gap:8px;margin:10px 10px 0;padding:7px 14px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 4px 20px #00000012,0 1px 4px #0000000a}[data-theme=dark] .top-bar{box-shadow:0 4px 20px #00000059,0 1px 4px #00000040}.top-bar-page-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:600;overflow:hidden}.top-bar-brand{border-right:1px solid var(--border-subtle);align-items:center;gap:8px;margin-right:2px;padding:0 14px 0 4px;display:flex}.top-bar-logo{flex-shrink:0;width:auto;height:28px;display:block}.top-bar-brand-name{letter-spacing:.1em;color:var(--text-primary);text-transform:uppercase;font-size:14px;font-weight:800;line-height:1}.top-bar-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.top-bar-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.top-bar-notif{position:relative}.top-bar-notif-dot{background:var(--danger);border:1.5px solid var(--sidebar-bg);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.top-bar-search-wrap{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:9px;flex-shrink:0;align-items:center;gap:6px;width:220px;max-width:220px;padding:0 8px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.top-bar-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.top-bar-search-icon{color:var(--text-faint);flex-shrink:0}.top-bar-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:5px 0;font-size:12.5px}.top-bar-search-input::placeholder{color:var(--text-faint)}.top-bar-search-clear{background:var(--border-subtle);width:16px;height:16px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s;display:flex}.top-bar-search-clear:hover{background:var(--border)}.top-bar-search-dropdown{background:var(--sidebar-bg);border:1px solid var(--border-subtle);z-index:300;border-radius:12px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 8px 28px #0000001a,0 2px 8px #0000000f}[data-theme=dark] .top-bar-search-dropdown{box-shadow:0 8px 28px #00000073,0 2px 8px #0000004d}.top-bar-search-result{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;transition:background .1s,color .1s;display:flex}.top-bar-search-result:hover{background:var(--hover-bg);color:var(--text-primary)}.top-bar-mobile-search{display:none;position:relative}.top-bar-mobile-search-overlay{background:var(--sidebar-bg);border:1px solid var(--border-subtle);z-index:400;border-radius:12px;align-items:center;gap:8px;padding:0 10px;display:flex;position:fixed;top:10px;left:8px;right:8px;box-shadow:0 8px 28px #00000024,0 2px 8px #00000014}[data-theme=dark] .top-bar-mobile-search-overlay{box-shadow:0 8px 28px #00000080}.top-bar-mobile-search-overlay .top-bar-search-input{flex:1;padding:10px 0;font-size:14px}.top-bar-mobile-search-overlay .top-bar-search-dropdown{top:calc(100% + 6px);left:0;right:0}.top-bar-account-wrap{flex-shrink:0;position:relative}.top-bar-avatar{border:1px solid var(--border-subtle);background:var(--hover-bg);cursor:pointer;color:var(--text-muted);border-radius:20px;align-items:center;gap:5px;padding:3px 8px 3px 4px;transition:background .12s,border-color .12s;display:flex}.top-bar-avatar:hover{background:var(--active-bg);border-color:var(--border);color:var(--text-primary)}.top-bar-avatar-initials{background:var(--accent);color:#fff;letter-spacing:.03em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:flex}.top-bar-account-dropdown{background:var(--sidebar-bg);border:1px solid var(--border-subtle);z-index:300;border-radius:14px;min-width:200px;padding:4px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f}[data-theme=dark] .top-bar-account-dropdown{box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.top-bar-account-header{padding:10px 12px 8px}.top-bar-account-name{color:var(--text-primary);font-size:13px;font-weight:600}.top-bar-account-role{color:var(--text-faint);margin-top:2px;font-size:11px}.top-bar-account-divider{background:var(--border-subtle);height:1px;margin:2px 0}.top-bar-account-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .1s,color .1s;display:flex}.top-bar-account-item:hover{background:var(--hover-bg);color:var(--text-primary)}.top-bar-account-danger{color:var(--danger)!important}.top-bar-account-danger:hover{background:var(--error-bg)!important}.login-theme-toggle{background:var(--card-bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;z-index:10;border-radius:8px;align-items:center;padding:7px 9px;transition:background .15s,color .15s;display:flex;position:absolute;top:20px;right:20px}.login-theme-toggle:hover{background:var(--hover-bg);color:var(--text-primary)}[data-theme=dark] .login-theme-toggle{color:#ffffffb3;background:#ffffff14;border-color:#ffffff26}[data-theme=dark] .login-theme-toggle:hover{color:#fff;background:#ffffff24}[data-theme=dark] .login-left{background:linear-gradient(135deg,#1a2f7a 0%,#0d1940 50%,#080f25 100%)}[data-theme=dark] .login-blob-1{background:#ffffff0f}[data-theme=dark] .login-blob-2{background:#00082873}[data-theme=dark] .login-blob-3{background:#ffffff0a}[data-theme=dark] .login-right{background:radial-gradient(circle,#ffffff12 1px,#0000 1px) 0 0/22px 22px,linear-gradient(135deg,#1a2f7a 0%,#0d1940 50%,#080f25 100%)}[data-theme=dark] .login-layout{background:#0d1940}@media (width<=860px){[data-theme=dark] .login-layout{background:#080f25}[data-theme=dark] .login-right{background:linear-gradient(#1a2f7a 0%,#0d1940 60%,#080f25 100%);border-radius:0 0 80px 80px;box-shadow:0 16px 60px #0006}}[data-theme=dark] .login-title{font-size:34px}[data-theme=dark] .login-subtitle{color:#fffc;font-size:15px}[data-theme=dark] .login-label{color:#fffc;font-size:14px}[data-theme=dark] .login-input{color:#fff;background:#ffffff1a;border-color:#ffffff38;font-size:15px}[data-theme=dark] .login-input::placeholder{color:#fff6}[data-theme=dark] .login-input:focus{border-color:#78afffcc;box-shadow:0 0 0 3px #4682ff38}[data-theme=dark] .login-input-error{border-color:var(--danger)!important;background:#ff50501a!important}[data-theme=dark] .login-submit{color:#0d1f55;background:#fff}[data-theme=dark] .login-submit:hover{opacity:.88}[data-theme=dark] .login-pw-eye{color:#ffffff73}[data-theme=dark] .login-pw-eye:hover{color:#fff}[data-theme=dark] .login-footer{color:#ffffff4d}.desktop-only{display:flex!important}.mobile-only{display:none!important}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}.hs-formula-box{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:7px 12px;font-size:11px}[data-theme=dark] .hs-formula-box{color:#4ade80;background:#16a34a1f;border-color:#16a34a4d}.hs-dropzone{border:2px dashed var(--border);text-align:center;background:var(--card-bg);border-radius:12px;padding:52px 32px;transition:border-color .2s,background .2s}.hs-dropzone:hover{background:var(--hover-bg);border-color:#6366f1}.about-contact-card{background:var(--card-bg);border:1.5px solid var(--border-subtle);cursor:pointer;border-radius:14px;flex:240px;align-items:flex-start;gap:16px;padding:20px 22px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 4px #0000000f}.about-contact-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.about-contact-card--green:hover{border-color:#16a34a}.about-contact-card--indigo:hover{border-color:#4f46e5}
