@font-face{font-family:__Montserrat_069ab3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Montserrat_069ab3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Montserrat_069ab3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Montserrat_069ab3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Montserrat_069ab3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Montserrat_Fallback_069ab3;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_069ab3{font-family:__Montserrat_069ab3,__Montserrat_Fallback_069ab3;font-style:normal}.__variable_069ab3{--font-montserrat:"__Montserrat_069ab3","__Montserrat_Fallback_069ab3"}:root{color:#0f172a;background-color:#f8fafc;--brand-primary:#f59e0b;--brand-primary-dark:#d97706;--brand-primary-light:#fff5eb;--brand-primary-lighter:#fffbf5;--brand-chip-bg:#fff5eb}*{box-sizing:border-box}body{margin:0;background:#f8fafc;font-family:var(--font-montserrat),sans-serif;color:#0f172a}main{min-height:100vh;display:flex;flex-direction:column}.btn,button{font-family:var(--font-montserrat),sans-serif}.btn-primary{background:#fff;color:#f59e0b;border:1px solid #f59e0b;border-radius:6px;padding:9px 18px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#f59e0b;color:#fff;box-shadow:0 4px 12px rgba(245,158,11,.25)}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.btn-secondary{background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:6px;padding:10px 16px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#fff5eb;border-color:#f59e0b;color:#f59e0b}.btn-secondary:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;justify-content:space-between;height:60px;background:#fff;border-bottom:3px solid #00a86b;box-shadow:0 2px 8px rgba(0,0,0,.08)}.app-header,.header-left{display:flex;align-items:stretch}.header-left{flex:1 1;min-width:0}.brand{display:inline-flex;align-items:center;padding:0 28px;background:#fff;flex-shrink:0;text-decoration:none;transition:background .2s ease;border-right:1px solid #e5e7eb}.brand:hover{background:#f3f4f6}.brand-primary{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:.975rem;letter-spacing:.05em;text-transform:uppercase;color:#09090b}.brand-divider{color:#71717a;font-size:.75rem;margin:0 3px;opacity:.5}.brand-secondary{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:.656rem;letter-spacing:.025em;text-transform:uppercase;color:var(--brand-primary,#14b8a6);padding:4.5px 10.5px;background:var(--brand-chip-bg,#f0fdfa);border-radius:6px;border:1px solid #e4e4e7}.header-actions{display:flex;align-items:stretch;flex-shrink:0}.account-switcher{display:flex;align-items:center;gap:8px;padding:0 20px;background:#fff;border-left:1px solid #e5e7eb}.account-switcher-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600}.account-switcher-select{min-width:160px;padding:6px 12px;border-radius:4px;border:1px solid #d1d5db;background:#fff;font:inherit;color:#1f2937;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.account-switcher-select:hover{background:#f9fafb;border-color:#9ca3af}.account-switcher-select:focus-visible{border-color:#00a86b;background:#fff;box-shadow:0 0 0 3px rgba(0,168,107,.2);outline:none}.user-tag{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;font-size:.8125rem;padding:0 28px;background:#fff;gap:2px;min-width:200px;border-left:1px solid #e5e7eb}.user-name{font-weight:600;color:#1f2937;font-size:.875rem}.user-role{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:500}.burger-button{position:relative;width:60px;height:100%;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#1f2937;cursor:pointer;transition:all .2s ease;border:none;border-right:1px solid #e5e7eb;padding:0}.burger-button svg{transition:transform .2s ease}.burger-button:hover{background:#00a86b;color:#fff}.burger-button:hover svg{transform:scale(1.1)}.burger-button.open{background:#00a86b;color:#fff}.burger-button.open svg{transform:scale(1.05)}.header-breadcrumbs{flex:1 1;min-width:0;padding:0 24px}.header-breadcrumbs,.header-breadcrumbs ol{display:flex;align-items:center;overflow:hidden}.header-breadcrumbs ol{list-style:none;margin:0;padding:0;gap:8px;font-size:.8125rem;letter-spacing:.01em;flex-wrap:nowrap}.header-breadcrumbs li{display:flex;align-items:center;color:#6b7280;font-weight:500;white-space:nowrap;flex-shrink:0}.header-breadcrumbs li:not(:last-child):after{content:"/";margin-left:8px;color:#d1d5db;font-weight:400}.header-breadcrumbs a{color:#6b7280;text-decoration:none;transition:color .2s ease}.header-breadcrumbs a:hover{color:#00a86b}.header-breadcrumbs [aria-current=page]{color:#1f2937;font-weight:600}.header-version{align-items:center;padding:0 20px;background:#f0fdf4;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:.6875rem;font-weight:700;color:#00a86b;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0;height:100%}.header-version,.menu-overlay{display:flex;justify-content:center}.menu-overlay{position:fixed;inset:0;z-index:1200;align-items:flex-start;padding:calc(45px + 18px) 12px 18px;background:rgba(0,0,0,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;min-height:100vh;min-height:100dvh}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-panel{position:relative;z-index:1;width:100%;max-width:660px;display:flex;justify-content:center;align-items:stretch;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.menu-content{width:100%;background:#fff;border:1px solid #e4e4e7;border-radius:9px;padding:18px;display:flex;flex-direction:column;gap:18px;box-shadow:0 0 0 1px rgba(0,0,0,.03),0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:none}.menu-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #e4e4e7}.menu-greeting{margin:0;font-size:.825rem;color:#09090b;font-weight:600;line-height:1.4}.menu-role{margin:3px 0 0;font-size:.656rem;color:#71717a;font-weight:500}.menu-role:empty{display:none}.menu-header-actions{gap:6px}.menu-header-actions,.menu-logout{display:inline-flex;align-items:center}.menu-logout{gap:4.5px;border:1px solid #e4e4e7;border-radius:6px;padding:6px 12px;background:#fff;color:#09090b;font-size:.656rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.menu-logout .icon{font-size:.75rem;opacity:.7}.menu-logout:hover{background:#09090b;color:#fafafa;border-color:#09090b;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.menu-close{border:none;background:none;font-size:1.35rem;line-height:1;color:#71717a;cursor:pointer;padding:3px;border-radius:4.5px;transition:all .2s cubic-bezier(.4,0,.2,1)}.menu-close:hover{background:#f4f4f5;color:#09090b}.menu-sections{display:flex;flex-wrap:wrap;gap:15px}.menu-section{background:#fff;border:1px solid #e4e4e7;border-radius:7.5px;padding:13.5px 15px;display:flex;flex-direction:column;gap:10.5px;flex:1 1 285px;min-width:225px;box-shadow:0 1px 3px 0 rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1)}.menu-section:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.08);border-color:#d6d6db}.menu-section-header{display:flex;align-items:center;gap:9px;padding-bottom:6px;border-bottom:1px solid #f4f4f5}.menu-section-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:#f0fdf4;color:#00a86b;transition:all .2s cubic-bezier(.4,0,.2,1)}.menu-section-icon svg{stroke-width:2}.menu-section:hover .menu-section-icon{background:#00a86b;color:#fff}.menu-section-title{margin:0;font-size:.656rem;letter-spacing:.025em;font-weight:600;color:#09090b}.menu-actions{display:flex;flex-wrap:wrap;gap:7.5px}.menu-action{display:inline-flex;align-items:center;border:1px solid #e4e4e7;border-radius:6px;padding:7.5px 12px;font-size:.656rem;font-weight:500;background:#fff;color:#09090b;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;text-decoration:none;flex:0 0 auto;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.menu-action:hover{background:#09090b;color:#fafafa;border-color:#09090b;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-1px)}.menu-action.pending{cursor:not-allowed;opacity:.6}.menu-action.pending,.menu-action.pending:hover{color:#71717a;border-color:#e4e4e7;background:#f4f4f5}.menu-action.pending:hover{transform:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.menu-description{grid-column:1/-1;padding:12px 15px;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:7.5px;min-height:54px;display:flex;flex-direction:column;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.menu-description.active{background:#09090b;border-color:#09090b}.menu-description-label{font-size:.656rem;font-weight:600;color:#09090b;margin-bottom:3px;transition:color .2s cubic-bezier(.4,0,.2,1)}.menu-description.active .menu-description-label{color:#fafafa}.menu-description-text{font-size:.656rem;color:#71717a;line-height:1.5;transition:color .2s cubic-bezier(.4,0,.2,1)}.menu-description.active .menu-description-text{color:#d4d4d8}.menu-description-placeholder{font-size:.656rem;color:#71717a;font-style:italic;opacity:.7}.breadcrumbs{display:flex;align-items:center;gap:20px;padding:12px 40px;background:#f8fafc;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.breadcrumb-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:10px;font-size:.8rem}.breadcrumb-list,.breadcrumb-version{letter-spacing:.03em;text-transform:uppercase;color:#64748b}.breadcrumb-version{margin-left:auto;font-size:.75rem;font-weight:600;padding:4px 10px;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.breadcrumb-item{display:inline-flex;align-items:center;gap:10px}.breadcrumb-item:after{content:"›";font-size:.85rem;color:#cbd5e1;font-weight:400}.breadcrumb-item:last-child:after{content:""}.breadcrumb-link{color:#64748b}.breadcrumb-link-text{padding:0;border:none;background:none;font:inherit;color:#64748b;cursor:pointer;text-decoration:none;transition:color .2s ease;font-weight:500}.breadcrumb-link-text:focus-visible,.breadcrumb-link-text:hover{color:var(--brand-primary,#14b8a6)}.breadcrumb-current{color:#0f172a;font-weight:700}.routes-page-split{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#f8fafc}.routes-split-container{display:flex!important;flex:1 1;min-height:0}.routes-left-panel{background:#f8fafc;overflow:hidden}.routes-left-panel,.routes-right-panel{width:50%;display:flex!important;flex-direction:column}.routes-right-panel{background:#fff;border-left:1px solid #e2e8f0;position:relative;min-height:0;flex:1 1}.routes-cards-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden}.routes-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px;padding:12px}.route-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,.1)}.route-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.15);border-color:#f59e0b}.route-card.selected{border:2px solid #14b8a6;box-shadow:0 3px 8px rgba(20,184,166,.3)}.route-card-name{font-size:.9rem;font-weight:700;color:#0f172a;margin-bottom:4px}.route-card-meta{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#64748b;margin-bottom:8px}.route-card-reg{font-weight:600}.route-card-dot{color:#cbd5e1}.route-card-route-num{color:#64748b}.route-card-status{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.route-card-status.on-time{background:#d1fae5;color:#10b981}.route-card-status.at-risk{background:#fffbeb;color:#f59e0b}.route-card-status.late{background:#fef2f2;color:#ef4444}.route-card-status.early{background:#eff6ff;color:#3b82f6}.route-card-status.blocked{background:#fef2f2;color:#be123c}.route-card-progress{margin-bottom:8px}.route-card-progress-text{font-size:.8rem;font-weight:600;color:#0f172a;margin-bottom:4px}.route-card-progress-bar{height:4px;background:#f1f5f9;border-radius:9999px;overflow:hidden}.route-card-progress-fill{height:100%;background:#f59e0b;transition:width .3s}.route-card-progress-fill.on-time{background:#10b981}.route-card-progress-fill.at-risk{background:#f59e0b}.route-card-progress-fill.late{background:#ef4444}.route-card-progress-fill.early{background:#3b82f6}.route-card-actions{display:flex;gap:6px;padding-top:8px;border-top:1px solid #f1f5f9}.route-card-btn{flex:1 1;display:flex;align-items:center;justify-content:center;padding:6px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s}.route-card-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#fff5eb}.routes-map-container{width:100%;height:100%;display:flex;flex-direction:column}.routes-map-canvas{flex:1 1;min-height:0}.routes-page-compact{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;background:#f8fafc}.routes-toolbar-compact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 24px;border-bottom:1px solid #e2e8f0;background:#fff;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.08);position:relative}.routes-toolbar-compact:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.4),transparent)}.routes-toolbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:8px;justify-self:start}.routes-toolbar-center{display:flex;align-items:center;gap:12px;justify-content:flex-start;justify-self:start;flex-wrap:wrap}.routes-toolbar-right{display:flex;align-items:center;gap:12px;justify-self:end}.routes-toolbar-compact .routes-toolbar-group{display:flex;flex-direction:column;gap:4px}.routes-toolbar-compact .routes-toolbar-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600}.routes-toolbar-compact .routes-toolbar-input,.routes-toolbar-compact .routes-toolbar-select{min-width:90px;padding:6px 10px;border-radius:5px;border:1px solid #e2e8f0;background:#fff;font-size:.75rem;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s ease}.routes-toolbar-compact .routes-toolbar-input:hover,.routes-toolbar-compact .routes-toolbar-select:hover{border-color:#f59e0b;box-shadow:0 1px 3px rgba(245,158,11,.1)}.routes-toolbar-compact .routes-toolbar-input:focus,.routes-toolbar-compact .routes-toolbar-select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.routes-toolbar-compact .routes-toolbar-search{flex:1 0 200px}.routes-toolbar-compact .routes-toolbar-actions{display:inline-flex;align-items:flex-end;gap:12px}.routes-toolbar-button-stack{display:flex;flex-direction:column;gap:6px;align-items:stretch}.routes-toolbar-button,.routes-toolbar-compact .routes-toolbar-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f59e0b;border-radius:5px;padding:6px 12px;font-size:.7rem;font-weight:600;background:#fff;color:#f59e0b;cursor:pointer;transition:all .2s ease;position:relative;text-decoration:none;flex:0 0 auto;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 1px 2px rgba(0,0,0,.05);white-space:nowrap;min-width:90px}.routes-toolbar-button:hover,.routes-toolbar-compact .routes-toolbar-button:hover{background:#f59e0b;color:#fff;box-shadow:0 4px 12px rgba(245,158,11,.25);transform:translateY(-1px)}.routes-toolbar-kpi{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;min-width:70px;transition:all .2s ease}.routes-toolbar-kpi:hover{background:#fff5eb;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 2px 8px rgba(245,158,11,.15)}.routes-toolbar-kpi-label{font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:#64748b;font-weight:600}.routes-toolbar-kpi-value{font-size:.95rem;font-weight:700;color:#0f172a}.routes-kpi-compact{display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px;padding:12px 24px;background:#fff;border-bottom:1px solid #e2e8f0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.08);position:relative}.routes-kpi-compact:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.4),transparent)}.routes-kpi-compact .routes-kpi-item{display:flex;flex-direction:column;align-items:center;min-width:80px;flex:1 1 auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s ease;position:relative;overflow:hidden}.routes-kpi-compact .routes-kpi-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#f59e0b;opacity:0;transition:opacity .2s ease}.routes-kpi-compact .routes-kpi-item:hover{background:#fff5eb;border-color:#f59e0b;transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,158,11,.2)}.routes-kpi-compact .routes-kpi-item:hover:before{opacity:1}.routes-kpi-compact .routes-kpi-label{font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:#64748b;font-weight:600;margin-bottom:4px}.routes-kpi-compact .routes-kpi-value{font-size:1.05rem;font-weight:700;color:#0f172a}.routes-map-full-screen{flex:1 1;position:relative;min-height:0}.routes-map-full-screen .routes-map{position:absolute;inset:0;padding:0;display:flex;flex-direction:column}.routes-map-full-screen .routes-map-canvas{flex:1 1;border:none}.routes-map-legend{padding:12px 16px;z-index:10;display:flex;flex-direction:column;gap:8px}.routes-driver-notes,.routes-map-legend{position:absolute;top:16px;left:16px;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);font-size:.75rem}.routes-driver-notes{padding:10px 12px;z-index:15}.routes-map-legend-item{display:flex;align-items:center;gap:10px;padding:4px 0}.routes-map-legend-swatch{width:18px;height:18px;border-radius:50%;border:2px solid hsla(0,0%,100%,.3);box-shadow:0 2px 4px rgba(0,0,0,.3)}.routes-map-legend-route{font-weight:700;color:#fff;font-size:.8rem}.routes-map-legend-meta{color:#9ca3af;font-size:.75rem}.routes-issues-overlay{position:absolute;top:16px;right:16px;width:min(320px,calc(100% - 32px));max-height:calc(100% - 100px);overflow-y:auto;background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:110;padding:16px;display:flex;flex-direction:column;gap:12px}.routes-issues-overlay::-webkit-scrollbar{width:6px}.routes-issues-overlay::-webkit-scrollbar-track{background:#f1f5f9;border-radius:12px}.routes-issues-overlay::-webkit-scrollbar-thumb{background:#f59e0b;border-radius:12px}.routes-issues-overlay::-webkit-scrollbar-thumb:hover{background:#d97706}.routes-issues h3{font-size:.85rem;margin:0 0 8px;color:#f59e0b;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.routes-issues p{font-size:.8rem;margin:0 0 12px;color:#64748b;line-height:1.5}.routes-issues ul{list-style:none;padding:0;margin:0}.routes-table-container{display:flex;flex:1 1;min-height:0;overflow:auto}.routes-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.routes-table thead th{position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:1;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:700;padding:12px 14px;border-bottom:1px solid #e2e8f0;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-table thead th:first-child,.routes-table thead th:nth-child(2){width:15%}.routes-table thead th:nth-child(3){width:25%}.routes-table thead th:nth-child(4){width:20%}.routes-table thead th:nth-child(5){width:25%}.routes-table thead th:nth-child(6){width:15%}.routes-table thead th.sortable{cursor:pointer}.routes-table thead th .sort-caret{margin-left:6px;color:#0f172a;font-size:.8rem}.routes-table tbody tr{border-bottom:1px solid #f1f5f9}.routes-table tbody tr:hover{background:#fff7ed}.routes-table tbody tr.active{background:#f0fdfa}.routes-table td{padding:12px 14px;font-size:.9rem;color:#0f172a;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-table td:first-child,.routes-table td:nth-child(2){width:15%}.routes-table td:nth-child(3){width:25%}.routes-table td:nth-child(4){width:20%}.routes-table td:nth-child(5){width:25%}.routes-table td:nth-child(6){width:15%}.actions-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s ease}.icon-button:hover{border-color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.15)}.icon-button img{width:18px;height:18px;display:block}.status-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.03em}.status-pill.on-time{background:#d1fae5;color:#10b981}.status-pill.at-risk{background:#fffbeb;color:#b45309}.status-pill.late{background:#fef2f2;color:#b91c1c}.status-pill.early{background:#eff6ff;color:#3b82f6}.status-pill.blocked{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;cursor:pointer}.progress-wrap{display:flex;align-items:center;gap:8px}.progress-bar{position:relative;height:8px;width:100px;background:#f1f5f9;border-radius:9999px;overflow:hidden}.progress-fill{position:absolute;left:0;top:0;bottom:0;background:#f59e0b}.progress-fill.on-time{background:#10b981}.progress-fill.at-risk{background:#f59e0b}.progress-fill.late{background:#ef4444}.progress-fill.early{background:#3b82f6}.progress-text{font-size:.8rem;color:#64748b}.routes-issues li{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 12px;margin-bottom:8px;font-size:.75rem;color:#0f172a;transition:all .2s ease}.routes-issues li:hover{background:#fee2e2;border-color:#ef4444}.routes-issues li:last-child{margin-bottom:0}.routes-issues li strong{color:#0f172a;font-weight:700}.routes-issues li ul{margin-top:6px;padding-left:12px}.routes-issues li ul li{background:none;border:none;padding:3px 0;font-size:.7rem;color:#64748b}.routes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;background:linear-gradient(135deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.01));color:#9ca3af;font-size:1rem;text-align:center;padding:64px 40px;border-radius:16px;margin:20px;border:2px dashed hsla(0,0%,100%,.1);position:relative;overflow:hidden}.routes-empty:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,transparent 30%,rgba(245,158,11,.1) 50%,transparent 70%);background-size:200% 200%;animation:shimmer 3s ease-in-out infinite;border-radius:16px;z-index:-1;opacity:.5}.routes-detail--active{position:fixed;bottom:16px;right:16px;width:min(320px,calc(100% - 32px));padding:12px 14px;border-radius:4px;border:1px solid rgba(226,232,255,.8);background:#fff;box-shadow:0 15px 40px rgba(15,23,42,.15);display:flex;flex-direction:column;gap:8px;z-index:1300}.routes-detail-header h2{margin:2px 0 0;font-size:.95rem}.routes-detail-header p{margin:2px 0 0;font-size:.75rem}.routes-detail-chip{padding:3px 8px;font-size:.65rem}.routes-detail-grid{gap:8px}.routes-detail-grid dt{font-size:.65rem}.routes-detail-grid dd{font-size:.8rem}@media (max-width:1200px){.routes-toolbar-compact{padding:8px 16px}.routes-kpi-compact{padding:12px 16px}.routes-issues-overlay{right:8px;width:min(280px,calc(100% - 16px))}.routes-detail--active{right:12px;left:12px;bottom:12px;width:auto}}@media (max-width:768px){.routes-toolbar-compact{flex-direction:column;align-items:stretch;gap:10px}.routes-toolbar-compact .routes-toolbar-actions{margin-left:0;justify-content:space-between;width:100%}.routes-kpi-compact{justify-content:space-between;gap:8px}.routes-kpi-compact .routes-kpi-item{min-width:unset;flex:1 1 auto}.routes-issues-overlay{top:auto;bottom:16px;left:16px;right:16px;width:auto;max-height:200px}.routes-detail--active{left:8px;right:8px;bottom:8px}}.routes-map-marker{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:var(--marker-color);color:#fff;font-size:.75rem;font-weight:600;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer;transition:transform .1s ease-out,box-shadow .1s ease-out}.routes-map-marker.active,.routes-map-marker.hovered{transform:scale(1.2);box-shadow:0 4px 10px rgba(0,0,0,.3);z-index:1}.routes-map-marker.faded{opacity:.4}.routes-map-vehicle{width:24px;height:24px;background-color:var(--marker-color);border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2);position:relative}.routes-map-vehicle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:#fff;border-radius:50%}.routes-kpi-value.green{color:#16a34a}.routes-kpi-value.yellow{color:#ca8a04}.routes-kpi-value.red{color:#dc2626}.driver-gps-marker{position:relative;cursor:pointer;z-index:100}.stop-callout-marker{position:relative;cursor:pointer;z-index:200}.driver-gps-pin{position:absolute;bottom:0;left:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;border:3px solid #fff;box-shadow:0 4px 8px rgba(0,0,0,.3);z-index:101}.driver-callout{position:absolute;top:50%;transform:translateY(-65%) translateX(40px);right:48px;background:#fff;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.2);padding:8px;min-width:180px;max-width:220px;border:2px solid #e2e8f0;z-index:100}.driver-callout:after{content:"";position:absolute;top:50%;transform:translateY(-50%);right:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #fff}.driver-callout-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #e2e8f0}.driver-callout-initials{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.7rem;flex-shrink:0;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.driver-callout-info{flex:1 1;min-width:0}.driver-callout-name{font-size:.75rem;font-weight:700;color:#0f172a;margin-bottom:2px;line-height:1.2}.driver-callout-meta,.driver-callout-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-callout-meta{font-size:.6rem;color:#64748b;font-weight:500}.driver-callout-details{display:flex;flex-direction:column;gap:3px}.driver-callout-row{display:flex;align-items:center;gap:6px;font-size:.65rem}.driver-callout-row>span:first-child{font-size:.9rem;flex-shrink:0}.driver-callout-value{color:#0f172a;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-callout{left:20px;background:#fff;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.25);padding:8px;min-width:180px;max-width:220px;border:2px solid #e2e8f0;z-index:200}.stop-callout,.stop-callout:after{position:absolute;top:50%;transform:translateY(-50%)}.stop-callout:after{content:"";left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #fff}.stop-callout-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #e2e8f0}.stop-callout-seq{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.7rem;flex-shrink:0;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.15)}.stop-callout-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.stop-callout-customer{font-size:.75rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.stop-callout-priority{display:inline-block;padding:2px 5px;border-radius:3px;font-size:.55rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.03em}.stop-callout-details{display:flex;flex-direction:column;gap:3px}.stop-callout-row{display:flex;align-items:center;gap:6px;font-size:.65rem}.stop-callout-row>span:first-child{font-size:.9rem;flex-shrink:0}.stop-callout-value{color:#0f172a;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routes-bottom-panel,.routes-content-grid,.routes-issues-container,.routes-main-grid,.routes-primary,.routes-right-panel-content,.routes-right-panel-toggle,.routes-stack,.routes-stack-row--kpi,.routes-stack-row--map,.routes-stack-row--timeline,.routes-toolbar,.routes-toolbar-filter-drawer,.routes-toolbar-row,.routes-toolbar-row-actions{display:none}.message-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message-modal-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:90%;max-width:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.message-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc)}.message-modal-title-wrapper{display:flex;align-items:center;gap:12px}.message-modal-icon{color:#f59e0b;flex-shrink:0}.message-modal-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.message-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease;font-size:1.25rem;flex-shrink:0}.message-modal-close:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.message-modal-body{padding:28px;overflow-y:auto;flex:1 1}.message-recipient-card{display:flex;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px}.message-recipient-item{display:flex;align-items:center;gap:8px;flex:1 1}.message-recipient-icon{color:#64748b;flex-shrink:0}.message-recipient-label{font-size:.875rem;color:#64748b;font-weight:500}.message-recipient-value{font-size:.875rem;color:#0f172a;font-weight:700}.message-form-group{margin-bottom:24px}.message-form-label{display:block;font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:8px;letter-spacing:.01em}.message-optional{font-size:.75rem;color:#94a3b8;font-weight:400}.message-urgency-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.message-urgency-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:600;color:#64748b}.message-urgency-option.active,.message-urgency-option:hover{border-color:#f59e0b;background:#fff5eb}.message-urgency-option.active{color:#f59e0b}.message-urgency-option.active.critical{border-color:#ef4444;background:#fef2f2;color:#ef4444}.message-urgency-input{position:absolute;opacity:0;pointer-events:none}.message-input,.message-textarea{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;transition:all .2s ease;font-family:inherit;resize:vertical}.message-input:focus,.message-textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.message-input::placeholder,.message-textarea::placeholder{color:#94a3b8}.message-char-count{display:flex;justify-content:flex-end;font-size:.75rem;color:#64748b;margin-top:6px}.message-char-count .warning{color:#ef4444;font-weight:600}.message-critical-fields{padding:20px;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:24px}.message-critical-fields .message-form-group:last-child{margin-bottom:0}.message-input-with-icon{position:relative;display:flex;align-items:center}.message-input-icon{position:absolute;left:14px;color:#64748b;pointer-events:none}.message-input.with-icon{padding-left:42px}.message-error{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;font-size:.875rem;margin-bottom:16px}.message-no-route{text-align:center;padding:40px 20px;color:#94a3b8;font-size:.875rem}.message-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e2e8f0;background:#f8fafc}@media (max-width:640px){.message-modal-card{max-width:100%;border-radius:0;height:100vh;max-height:100vh}.message-recipient-card{flex-direction:column;gap:12px}.message-urgency-options{grid-template-columns:1fr}}.routes-minimal-toolbar{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #e5e7eb;background:#fff;align-items:center}.routes-minimal-select{width:100%;padding:6px 10px;border:2px solid #14b8a6;border-radius:5px;font-size:.7rem;background:rgba(20,184,166,.1);color:#14b8a6;cursor:pointer;transition:all .2s ease;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.routes-minimal-select:hover{background:#14b8a6;color:#000}.routes-list-toolbar{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #e5e7eb;background:#fff;align-items:center}.routes-list-download-btn,.routes-list-filter-btn,.routes-list-sort-btn{display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease;flex-shrink:0}.routes-list-download-btn:hover,.routes-list-filter-btn:hover,.routes-list-sort-btn:hover{border-color:#0ea5e9;color:#0ea5e9;background:#f0f9ff}.routes-list-search-input{flex:1 1;padding:8px 12px 8px 36px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>') no-repeat 10px;transition:all .2s ease}.routes-list-search-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.routes-list-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;background:#fff}.routes-list-container{display:flex;flex-direction:column}.route-list-item{background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.route-list-item:hover{background:#f9fafb}.route-list-item.selected{background:#f0f9ff;border-left:4px solid #0ea5e9}.route-list-item.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0ea5e9}.route-list-item-header{display:grid;grid-template-columns:200px 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:12px 20px;min-height:60px}.route-list-item.selected .route-list-item-header{padding-left:16px}.route-list-item-driver-compact{display:flex;flex-direction:column;gap:2px}.route-list-item-driver-name{font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:2px}.route-list-item-driver-code{font-size:.75rem;color:#0284c7;font-weight:500}.route-list-item-progress-compact{display:flex;align-items:center;gap:12px}.route-list-item-progress-bar-container{width:120px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;flex-shrink:0}.route-list-item-progress-bar{height:100%;background:#10b981;transition:width .3s ease;border-radius:4px}.route-list-item-progress-bar.at-risk{background:#f59e0b}.route-list-item-progress-bar.late{background:#ef4444}.route-list-item-progress-bar.early{background:#3b82f6}.route-list-item-progress-bar.blocked{background:#be123c}.route-list-item-progress-text{font-size:.75rem;color:#64748b;display:flex;gap:2px}.route-list-item-progress-value{font-weight:600;color:#0f172a}.route-list-item-progress-total{color:#94a3b8}.route-list-item-header-actions{display:flex;gap:8px;align-items:center}.route-list-item-btn{display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.route-list-item-btn:hover{border-color:#0ea5e9;color:#0ea5e9;background:#f0f9ff}.route-list-item-expand-icon{color:#6b7280;transition:transform .3s ease;flex-shrink:0}.route-list-item-expand-icon.expanded{transform:rotate(180deg)}.route-list-item-expanded{padding:0 20px 20px;animation:expandDown .3s ease-out}.route-list-item.selected .route-list-item-expanded{padding-left:16px}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.route-list-item-expanded-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px;margin-bottom:16px}.route-list-item-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.route-list-item-section-title{font-size:.75rem;font-weight:600;color:#0f172a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.route-list-item-details{display:flex;flex-direction:column;gap:8px}.route-list-item-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.route-list-item-detail-label{color:#64748b;font-weight:500}.route-list-item-detail-value{color:#0f172a;font-weight:600;text-align:right}.route-list-item-status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.route-list-item-status-badge.on-time{background:#d1fae5;color:#10b981}.route-list-item-status-badge.at-risk{background:#fffbeb;color:#f59e0b}.route-list-item-status-badge.late{background:#fef2f2;color:#ef4444}.route-list-item-status-badge.early{background:#eff6ff;color:#3b82f6}.route-list-item-status-badge.blocked{background:#fef2f2;color:#be123c}.route-list-item-break-section{padding:12px;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;margin-bottom:12px}.route-list-item-break-scheduled,.route-list-item-break-taken{display:flex;align-items:center;gap:8px;font-size:.75rem}.route-list-item-break-taken{color:#0f172a}.route-list-item-break-scheduled{color:#f59e0b}.route-list-item-break-icon{font-size:1rem}.route-list-item-break-count{font-weight:600}.route-list-item-issue-expanded{display:flex;align-items:center;gap:8px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.75rem;color:#dc2626;font-weight:500}.route-timeline-section{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:16px}.route-timeline-title{font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:12px}.route-timeline-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.route-timeline-table{width:100%;border-collapse:collapse;font-size:.75rem;background:#fff}.route-timeline-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.route-timeline-table th{padding:10px 12px;text-align:left;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.route-timeline-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.route-timeline-table tbody tr:hover{background:#f9fafb}.route-timeline-table tbody tr.completed{background:#f0fdf4}.route-timeline-table td{padding:10px 12px;color:#0f172a}.timeline-seq{font-weight:600;color:#6b7280}.timeline-type{font-size:1rem}.timeline-customer{font-weight:500}.timeline-address{color:#6b7280;font-size:.7rem}.timeline-actual,.timeline-eta,.timeline-time{font-family:Courier New,monospace;font-size:.7rem}.timeline-status-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.75rem}.timeline-status-badge.green{background:#d1fae5;color:#10b981}.timeline-status-badge.yellow{background:#fffbeb;color:#f59e0b}.timeline-status-badge.red{background:#fef2f2;color:#ef4444}.timeline-notes{color:#6b7280;font-size:.7rem}.timeline-action,.timeline-notes{text-align:center}.timeline-show-map-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.timeline-show-map-btn:hover{border-color:#0ea5e9;color:#0ea5e9;background:#f0f9ff;transform:translateY(-1px);box-shadow:0 2px 4px rgba(14,165,233,.2)}.timeline-show-map-btn:active{transform:translateY(0)}.kpi-widgets-section{padding:6px 24px;background:#1e293b;border-bottom:1px solid #334155}.kpi-widgets-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.kpi-widgets-title{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin:0}.kpi-widgets-actions{display:flex;gap:8px;align-items:center}.kpi-action-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#0f172a;border:1px solid #334155;border-radius:4px;color:#94a3b8;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .15s ease}.kpi-action-btn:hover{background:#1e293b;border-color:#14b8a6;color:#14b8a6}.kpi-action-btn.primary{background:#14b8a6;border-color:#14b8a6;color:#0f172a;font-weight:700}.kpi-action-btn.primary:hover{background:#0d9488;border-color:#0d9488}.kpi-widgets-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.kpi-widget{position:relative;display:flex;flex-direction:column;gap:4px;padding:5px;background:#0f172a;border:2px solid;border-radius:6px;transition:all .15s ease}.kpi-widget:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.kpi-widget-remove{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s ease;font-size:.7rem}.kpi-widget-remove:hover{background:#dc2626;transform:scale(1.1)}.kpi-widget-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-widget-value{font-size:1.25rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-widget-category{font-size:.6rem;color:#64748b;font-weight:500;line-height:1;margin-top:2px}.kpi-widget-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:5px;background:transparent;border:2px dashed #334155;border-radius:6px;color:#64748b;cursor:pointer;transition:all .15s ease}.kpi-widget-add:hover{border-color:#14b8a6;background:#0f172a;color:#14b8a6}.kpi-widget-add-text{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.kpi-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.kpi-modal-card{background:#1e293b;border:1px solid #334155;border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.5)}.kpi-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #334155}.kpi-modal-title{font-size:1.25rem;font-weight:700;color:#f1f5f9;margin:0}.kpi-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid #475569;border-radius:6px;color:#cbd5e1;cursor:pointer;transition:all .2s ease}.kpi-modal-close:hover{background:#334155;border-color:#ef4444;color:#ef4444}.kpi-modal-body{padding:32px;overflow-y:auto;flex:1 1}.kpi-modal-body::-webkit-scrollbar{width:8px}.kpi-modal-body::-webkit-scrollbar-track{background:#0f172a;border-radius:4px}.kpi-modal-body::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.kpi-modal-body::-webkit-scrollbar-thumb:hover{background:#14b8a6}.kpi-category-section{margin-bottom:32px}.kpi-category-section:last-child{margin-bottom:0}.kpi-category-title{font-size:.875rem;font-weight:700;color:#14b8a6;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px}.kpi-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.kpi-option{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;background:#0f172a;border:2px solid;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.kpi-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.kpi-option.selected{background:rgba(20,184,166,.1)}.kpi-option-label{font-size:.875rem;font-weight:700;color:#f1f5f9;line-height:1.2}.kpi-option-desc{font-size:.75rem;color:#94a3b8;line-height:1.4}.kpi-option-check{position:absolute;top:8px;right:8px;font-size:1rem;font-weight:700;line-height:1}.kpi-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px;border-top:1px solid #334155}.kpi-modal-btn{padding:10px 24px;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:all .2s ease;border:none}.kpi-modal-btn-primary{background:#14b8a6;color:#fff}.kpi-modal-btn-primary:hover{background:#0d9488}@media (max-width:1024px){.route-list-item-header{grid-template-columns:150px 1fr auto;gap:12px}.route-list-item-expanded-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.kpi-widgets-grid{grid-template-columns:repeat(3,1fr);gap:10px}.kpi-widgets-section{padding:8px 16px}}@media (max-width:768px){.route-list-item-header{grid-template-columns:1fr auto;gap:12px}.route-list-item-driver-compact{order:1}.route-list-item-progress-compact{order:3;grid-column:1/-1}.route-list-item-header-actions{order:2}.route-list-item-expanded-grid{grid-template-columns:1fr}.route-timeline-table{font-size:.7rem}.route-timeline-table td,.route-timeline-table th{padding:8px 6px}.kpi-widgets-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-widgets-section{padding:8px 12px}.kpi-options-grid{grid-template-columns:1fr}}.reports-filters{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:center;width:100%}.reports-filters .routes-toolbar-input,.reports-filters .routes-toolbar-select{min-width:160px;flex:0 1 auto}.reports-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;padding:20px 40px;background:#f8fafc}.reports-grid-item.third{grid-column:span 1}.reports-grid-item.full{grid-column:1/-1}.reports-grid-item.dragging{opacity:.4}.reports-grid-placeholder{border:2px dashed #fed7aa;background:#fffbf5;border-radius:8px;height:301px}.reports-grid-placeholder.third{grid-column:span 1}.reports-grid-placeholder.full{grid-column:1/-1}.reports-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;height:301px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden}.reports-card:hover{border-color:#9c27b0;box-shadow:0 4px 20px rgba(156,39,176,.2),0 0 40px rgba(66,133,244,.1);transform:translateY(-2px)}.reports-card-agentic{border-radius:12px}.reports-card-gradient-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4285f4,#9c27b0 50%,#e91e63);z-index:1}.reports-card-header{padding:12px 16px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:8px}.reports-card-title{display:flex;align-items:center;gap:8px;font-weight:600}.reports-card-title .type{margin-left:8px;color:#6b7280;font-weight:400;font-size:12px}.reports-card-actions{display:flex;align-items:center;gap:4px}.reports-card-insight{padding:0 16px 8px;border-bottom:1px solid #f3f4f6}.reports-card-body{padding:12px 16px 10px;flex:1 1;min-height:0;overflow:auto}.drag-handle{cursor:-webkit-grab;cursor:grab;color:#9ca3af}.reports-icon-btn{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;line-height:1;transition:all .2s ease;font-weight:500}.reports-icon-btn:hover{background:#fff5eb;border-color:#f59e0b;color:#f59e0b}.reports-icon-btn:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.reports-icon-btn.danger{color:#b91c1c;border-color:#fecaca;background:#fff}.reports-icon-btn.ai{border-color:#111827;background:#fff;color:#111827;padding:4px 8px}.reports-icon-btn.ai:hover{background:#f9fafb;border-color:#111827}.reports-add-card{width:100%;height:100%;min-height:140px;border:2px dashed #cbd5e1;background:#f8fafc;border-radius:8px;cursor:pointer;transition:all .2s ease}.reports-add-card:hover{border-color:#f59e0b;background:#fff5eb}.reports-add-card-inner{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;font-weight:600}.reports-info-popover{width:320px}.reports-info-white{background:#fff!important;border:1px solid #e5e7eb!important}.reports-info-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:6px}.reports-info-row .label{color:#6b7280}.reports-info-desc{font-size:12px;color:#4b5563;margin:6px 0 10px}.reports-table-wrapper{overflow:auto}.reports-table{width:100%;border-collapse:collapse}.reports-table td,.reports-table th{text-align:left;padding:6px 8px;border-bottom:1px solid #f3f4f6;font-size:13px}.bar-chart{display:flex;flex-direction:column;gap:4px}.bar-row{display:grid;grid-template-columns:1fr 5fr 50px;align-items:center;grid-gap:6px;gap:6px}.bar-label{color:#4b5563;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:#f3f4f6;overflow:hidden}.bar-fill,.bar-track{border-radius:999px;height:8px}.bar-fill{background:#f59e0b}.bar-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#374151;font-size:11px}.line-chart{width:100%;height:100%}.pie-fallback{display:flex;flex-direction:column;gap:6px}.pie-row{display:grid;grid-template-columns:14px 1fr 60px 60px;align-items:center;grid-gap:6px;gap:6px;font-size:13px}.pie-swatch{width:12px;height:12px;border-radius:2px;background:linear-gradient(90deg,#2563eb,#16a34a)}.pie-label{color:#4b5563}.pie-percent,.pie-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-card{display:grid;grid-gap:4px;gap:4px}.kpi-title{color:#6b7280;font-size:12px}.kpi-value{font-size:28px;font-weight:700}.kpi-delta{font-size:12px}.kpi-delta.up{color:#16a34a}.kpi-delta.down{color:#dc2626}.kpi-delta.flat{color:#6b7280}.preview-box{margin-top:12px;padding:12px 16px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px}.config-steps{display:flex;gap:16px;margin:16px 0 20px;align-items:center}.config-step{font-size:14px;color:#94a3b8;font-weight:600;transition:all .2s ease;background:none;border:none;padding:0;cursor:pointer}.config-step:hover:not(:disabled){color:#64748b}.config-step:disabled{cursor:not-allowed;opacity:.5}.config-step.active{color:#f59e0b;font-weight:700;cursor:default}.config-card{position:relative;text-align:left;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s ease}.config-card:hover{border-color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.15);transform:translateY(-1px)}.config-card:hover .config-card-cta{opacity:1;transform:translateX(0)}.config-card.selected{background:#fff5eb;border:2px solid #f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.15)}.config-card-title{font-weight:600;margin-bottom:4px;padding-right:24px}.config-card-desc{color:#6b7280;font-size:12px;line-height:1.4}.config-card-cta{position:absolute;top:14px;right:16px;opacity:0;transform:translateX(-4px);transition:all .2s ease}.config-card-arrow{font-size:18px;color:#f59e0b;font-weight:700}.config-pane{padding:4px 0}.config-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.config-pill{padding:12px 20px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-weight:600;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease;font-size:.875rem}.config-pill:hover{border-color:#f59e0b;transform:translateY(-1px)}.config-pill.selected,.config-pill:hover{background:#fff5eb;color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.15)}.config-pill.selected{border:2px solid #f59e0b}.config-info-box{background:#fffbf5;border-left:3px solid #f59e0b;border-radius:6px;padding:12px 16px;margin-bottom:16px}.config-info-text{font-size:.875rem;color:#0f172a;line-height:1.5;margin:0 0 8px}.config-info-link{font-size:.8rem;color:#f59e0b;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease}.config-info-link:hover{color:#d97706;text-decoration:underline}.chart-type-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;margin-top:16px}.chart-type-card{border:1px solid #e2e8f0;border-radius:8px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s ease}.chart-type-card:not(.disabled):hover{border-color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.15);transform:translateY(-1px)}.chart-type-card.disabled{opacity:.5;cursor:not-allowed;background:#f8fafc}.chart-type-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.chart-type-title{font-weight:600;font-size:.875rem;color:#0f172a}.chart-type-badge{background:#d1fae5;color:#059669;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.chart-type-desc{font-size:.75rem;color:#64748b;line-height:1.4}.chart-type-preview{border-radius:6px}.chart-type-preview,.chart-type-preview-empty{min-height:120px;display:flex;align-items:center;justify-content:center;background:#f8fafc;padding:12px}.chart-type-preview-empty{border:1px dashed #cbd5e1;border-radius:6px;font-size:.75rem;color:#94a3b8;text-align:center}.chart-type-add-btn{background:#fff;color:#f59e0b;border:1px solid #f59e0b;border-radius:6px;padding:8px 16px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.05)}.chart-type-add-btn:hover{background:#f59e0b;color:#fff;box-shadow:0 4px 12px rgba(245,158,11,.25);transform:translateY(-1px)}.preview-bar-chart{display:flex;flex-direction:column;gap:6px;width:100%}.preview-bar-item{display:grid;grid-template-columns:50px 1fr 35px;align-items:center;grid-gap:6px;gap:6px}.preview-bar-label{font-size:10px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-bar-track{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.preview-bar-fill{height:6px;background:#f59e0b;border-radius:999px;transition:width .3s ease}.preview-bar-value{font-size:10px;font-weight:600;color:#0f172a;text-align:right}.preview-line-chart{display:flex;flex-direction:column;width:100%}.preview-line-labels{display:flex;justify-content:space-between;margin-top:4px}.preview-line-label{font-size:9px;color:#64748b}.preview-pie-chart{display:flex;flex-direction:column;align-items:center;gap:8px}.preview-pie-legend{display:flex;flex-direction:column;gap:4px}.preview-pie-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:#0f172a}.preview-pie-swatch{width:10px;height:10px;border-radius:2px}@media (max-width:1200px){.reports-grid{grid-template-columns:1fr;padding:16px 20px}.reports-grid-item.full{grid-column:auto}.reports-filters .routes-toolbar-input,.reports-filters .routes-toolbar-select{min-width:140px;flex:1 1 auto}.chart-type-grid{grid-template-columns:1fr}}.chart-renderer,.chart-renderer>div,.recharts-responsive-container{width:100%;height:100%}.reports-chat{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.reports-chat-title{font-size:13px;color:#0f172a;font-weight:600;letter-spacing:.03em;flex-shrink:0}.reports-chat-messages{flex:1 1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:4px;min-height:0}.chat-bubble{padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4;max-width:90%;word-wrap:break-word}.chat-bubble.user{background:#fff5eb;color:#0f172a;align-self:flex-end;border:1px solid #fed7aa}.chat-bubble.assistant{background:#f8fafc;color:#0f172a;align-self:flex-start;border:1px solid #e2e8f0}.reports-chat-input{display:flex;gap:8px;flex-shrink:0;padding-top:12px;border-top:1px solid #e2e8f0}.reports-chat-input input{flex:1 1;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:13px;transition:all .2s ease}.reports-chat-input input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.reports-chat-input button{flex-shrink:0}.reports-info-modal{background:#fff!important;max-width:1200px!important;width:95vw!important;max-height:85vh!important}.reports-info-grid{display:flex;flex-direction:column;gap:20px;height:100%;max-height:75vh}.reports-info-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.reports-info-title .t1{font-weight:700;font-size:18px;color:#0f172a}.reports-info-title .t2{color:#64748b;font-size:14px;margin-top:4px}.reports-info-close{border:1px solid #e2e8f0;background:#fff;border-radius:6px;padding:6px 12px;font-size:20px;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0}.reports-info-close:hover{background:#f8fafc;border-color:#cbd5e1}.reports-info-body{display:grid;grid-template-columns:1fr 420px;grid-gap:24px;gap:24px;flex:1 1;min-height:0}.reports-info-left{background:#f8fafc;padding:24px;overflow:auto}.reports-info-left,.reports-info-right{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px}.reports-info-right{padding:20px;background:#fff;overflow:hidden}.reports-modal-chart{width:100%;height:100%;min-height:450px;display:flex;align-items:center;justify-content:center}.reports-modal-chart .recharts-responsive-container,.reports-modal-chart>.chart-renderer{width:100%!important;height:100%!important;min-height:360px!important}@media (max-width:900px){.reports-info-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}.reports-info-left,.reports-info-right{grid-column:1}}