@import"https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css";@import"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css";@import"https://fonts.bunny.net/css?family=manrope:400,500,600,700";:root{--navy-950: #06172a;--navy-900: #08233f;--navy-850: #0b2d4f;--navy-800: #10375c;--blue-700: #0768b8;--blue-600: #0878d1;--blue-500: #1597e5;--blue-100: #eaf6fd;--blue-50: #f3faff;--surface-bg: #f3f6fa;--surface-card: #ffffff;--surface-subtle: #f9fbfd;--text-primary: #102033;--text-secondary: #65758b;--text-muted: #98a5b5;--border: #e1e8f0;--border-strong: #cfdae6;--success: #16a36a;--success-soft: #eaf8f2;--warning: #d98b10;--warning-soft: #fff7e7;--danger: #dc4c52;--danger-soft: #fff0f1;--info: #278be6;--info-soft: #edf6ff;--gold: #d2ad55;--sidebar-width: 224px;--topbar-height: 68px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 22px;--shadow-card: 0 1px 2px rgba(8, 35, 63, .035), 0 10px 30px rgba(8, 35, 63, .055);--shadow-float: 0 24px 60px rgba(6, 23, 42, .18);--transition: .18s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{min-width:320px;background:var(--surface-bg)}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--surface-bg);color:var(--text-primary);font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid rgba(21,151,229,.28);outline-offset:2px}::selection{background:#1597e533}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.app-main{min-width:0}.workspace{width:100%;max-width:1680px;margin:0 auto;padding:24px 24px 42px}.sidebar{position:sticky;inset:0 auto 0 0;z-index:1040;display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;overflow-y:auto;padding:14px 12px 12px;color:#c6d5e4;background:radial-gradient(circle at 15% 0%,rgba(21,151,229,.2),transparent 30%),linear-gradient(180deg,#061b31,#041423 68%,#07233d);border-right:1px solid rgba(255,255,255,.06);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.sidebar:after{content:"";position:absolute;z-index:0;right:0;bottom:0;left:0;height:190px;background:linear-gradient(180deg,#041423,#0414234d 38%,#041423d1),var(--sidebar-landmark) center bottom / cover no-repeat;opacity:.56;pointer-events:none}.sidebar>*{position:relative;z-index:1}.sidebar-product{position:relative;display:flex;align-items:center;min-height:68px;margin-bottom:12px;padding-inline:7px}.product-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.product-mark{position:relative;display:block;width:54px;height:54px;flex:0 0 54px;overflow:hidden;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:#fff;box-shadow:0 10px 26px #00000038}.product-mark img{position:absolute;top:80%;left:50%;width:110px;height:110px;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}.product-wordmark{display:block;line-height:1}.product-wordmark strong{display:block;color:#fff;font-size:23px;font-weight:700;letter-spacing:-.055em}.product-wordmark em{display:block;margin-top:2px;color:#4ebaff;font-family:Georgia,serif;font-size:15px;font-weight:400;text-align:right}.sidebar-close{display:none!important;position:absolute;top:0;right:0}.institution-lockup{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:11px;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-md);background:linear-gradient(135deg,#ffffff13,#ffffff06);box-shadow:inset 0 1px #ffffff0a}.institution-lockup img{width:35px;height:35px;flex:0 0 35px;object-fit:contain;border-radius:50%;background:#fff}.institution-lockup strong{display:block;color:#fff;font-size:12px;line-height:1.3;letter-spacing:.045em;text-transform:uppercase}.institution-lockup span{display:block;margin-top:3px;color:#91a9bd;font-size:11px;line-height:1.35}.sidebar-nav{flex:1}.nav-group{margin-bottom:11px}.nav-group-label{padding:0 10px 5px;color:#7d98b0;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.nav-link{position:relative;display:flex;align-items:center;min-height:38px;gap:10px;margin:2px 0;padding:8px 10px;color:#b9cada;border-radius:9px;font-size:13px;font-weight:500;text-decoration:none;transition:color var(--transition),background var(--transition),transform var(--transition)}.nav-link i{width:20px;color:#82a0ba;font-size:16px;text-align:center;transition:color var(--transition)}.nav-link:hover{color:#fff;background:#ffffff0e;transform:translate(2px)}.nav-link:hover i{color:#72c5fa}.nav-link.active{color:#fff;background:linear-gradient(100deg,var(--blue-600),#166fe0);box-shadow:0 8px 24px #0878d140}.nav-link.active i{color:#fff}.sidebar-profile{display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.08);border-radius:10px;background:#041423b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar-profile-copy{min-width:0;flex:1}.sidebar-profile-copy strong,.sidebar-profile-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-copy strong{color:#fff;font-size:13px}.sidebar-profile-copy span{color:#91a9bd;font-size:11px}.avatar{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;color:#fff;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));font-weight:700}.avatar-sm{width:34px;height:34px;flex-basis:34px;font-size:12px}.topbar{position:sticky;top:0;z-index:1020;display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,440px) minmax(250px,1fr);align-items:center;min-height:var(--topbar-height);padding:0 24px;background:#fffffff0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-left,.topbar-actions{display:flex;align-items:center}.topbar-left{gap:11px}.topbar-actions{justify-content:flex-end;gap:9px}.topbar-crest{width:36px;height:36px;flex:0 0 36px;object-fit:contain;border:1px solid var(--border);border-radius:50%;background:#fff;box-shadow:0 4px 12px #08233f14}.topbar-context span,.topbar-context strong{display:block}.topbar-context span{color:var(--text-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.topbar-context strong{font-size:14px;font-weight:650}.menu-toggle{display:none!important}.global-search{position:relative;display:flex;align-items:center}.global-search>i{position:absolute;left:14px;color:var(--text-muted)}.global-search input{width:100%;height:40px;padding:0 62px 0 40px;color:var(--text-primary);border:1px solid var(--border);border-radius:9px;outline:none;background:var(--surface-subtle);font-size:14px;transition:border var(--transition),box-shadow var(--transition),background var(--transition)}.global-search input:focus{background:#fff;border-color:#0878d173;box-shadow:0 0 0 4px #0878d114}.global-search kbd{position:absolute;right:10px;padding:3px 6px;color:var(--text-muted);border:1px solid var(--border);border-radius:5px;background:#fff;box-shadow:none;font-size:10px}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:0;color:var(--text-secondary);border:1px solid var(--border);border-radius:9px;background:#fff;transition:color var(--transition),background var(--transition),border var(--transition)}.icon-button:hover{color:var(--blue-600);border-color:#cbddec;background:var(--blue-50)}.icon-button-dark{color:#9cb2c5;border-color:#ffffff1a;background:#ffffff0a}.notification-button{position:relative;text-decoration:none}.notification-dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;color:#fff;border:2px solid white;border-radius:9px;background:var(--danger);font-size:8px;line-height:13px;text-align:center}.live-indicator{display:flex;align-items:center;gap:6px;padding:7px 10px;color:#16754f;border:1px solid #ccebdc;border-radius:999px;background:#f3fbf7;font-size:12px;font-weight:650}.live-indicator span{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px #16a36a1a}.profile-menu{position:relative}.profile-menu summary{display:flex;align-items:center;gap:9px;min-width:170px;padding:5px 7px;border-radius:10px;cursor:pointer;list-style:none}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary:hover{background:var(--surface-bg)}.profile-summary-copy{min-width:0;flex:1}.profile-summary-copy strong,.profile-summary-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-summary-copy strong{font-size:13px}.profile-summary-copy small{color:var(--text-muted);font-size:11px}.profile-menu summary>i{color:var(--text-muted);font-size:10px}.profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:230px;overflow:hidden;padding:7px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-float)}.profile-dropdown-head{padding:10px 11px 12px;border-bottom:1px solid var(--border)}.profile-dropdown-head strong,.profile-dropdown-head span{display:block;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-head strong{font-size:14px}.profile-dropdown-head span{margin-top:2px;color:var(--text-muted);font-size:12px}.profile-dropdown a,.profile-dropdown button{display:flex;align-items:center;width:100%;gap:9px;padding:10px 11px;color:var(--text-secondary);border:0;border-radius:8px;background:transparent;font-size:13px;text-decoration:none;text-align:left}.profile-dropdown a:hover,.profile-dropdown button:hover{color:var(--text-primary);background:var(--surface-bg)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.page-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:var(--blue-600);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-eyebrow:before{content:"";width:17px;height:2px;border-radius:2px;background:var(--blue-500)}.page-header h1{margin:0;font-size:clamp(28px,2.15vw,34px);font-weight:650;letter-spacing:-.035em;line-height:1.16}.title-live-dot{display:inline-block;width:9px;height:9px;margin:0 0 5px 6px;border:2px solid #b9f2de;border-radius:50%;background:#25cf91;box-shadow:0 0 0 4px #25cf911a}.app-shell[data-page=overview] .live-indicator span,.app-shell[data-page=overview] .title-live-dot{animation:commandPulse 1.8s ease-in-out infinite}@keyframes commandPulse{0%,to{box-shadow:0 0 0 4px #25cf911a}50%{box-shadow:0 0 0 8px #25cf9105,0 0 15px #25cf9173}}.page-header p{max-width:720px;margin:5px 0 0;color:var(--text-secondary);font-size:13px}.page-actions,.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.app-shell[data-page=overview] .app-main{background:radial-gradient(circle at 48% -8%,rgba(34,190,255,.11),transparent 27%),radial-gradient(circle at 94% 12%,rgba(139,92,246,.07),transparent 23%),var(--surface-bg)}.command-header{position:relative;isolation:isolate;overflow:hidden;padding:16px 18px;border:1px solid #d8e8f5;border-radius:16px;background:linear-gradient(115deg,#fffffffa,#f6fcfffa 60%,#edf7fffa);box-shadow:0 14px 36px #084e7e12}.command-header:before,.command-header:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.command-header:before{top:-72px;right:17%;width:180px;height:180px;background:radial-gradient(circle,rgba(26,169,237,.18),transparent 68%)}.command-header:after{right:-28px;bottom:-74px;width:190px;height:190px;background:radial-gradient(circle,rgba(122,77,236,.12),transparent 70%)}.command-header .page-eyebrow{color:#0575c4}.command-header h1{color:#071e36}.command-header .btn-outline-secondary{border-color:#bfd9ed;box-shadow:0 5px 14px #084e7e0f}.btn{min-height:44px;padding:10px 16px;border-radius:9px;font-size:13px;font-weight:650;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border var(--transition)}.btn:hover{transform:translateY(-1px)}.btn-primary,.btn-dark{color:#fff;border-color:var(--blue-600);background:linear-gradient(135deg,var(--blue-600),#0969c9);box-shadow:0 6px 16px #0878d129}.btn-primary:hover,.btn-dark:hover{color:#fff;border-color:var(--blue-700);background:var(--blue-700);box-shadow:0 8px 20px #0878d13b}.btn-outline-secondary{color:var(--text-primary);border-color:var(--border-strong);background:#fff}.btn-outline-secondary:hover{color:var(--blue-700);border-color:#bdd9ec;background:var(--blue-50)}.btn-outline-danger{color:var(--danger);border-color:#f0c9cb;background:#fff}.btn-outline-danger:hover{color:#fff;border-color:var(--danger);background:var(--danger)}.btn-sm{min-height:34px;padding:6px 10px}.btn-icon{width:36px;padding-inline:0}.surface-card,.section{overflow:hidden;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card)}.section{padding:17px}.section.flush{padding:0}.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-header h2{margin:0;font-size:17px;font-weight:650}.section-header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.section-link{color:var(--blue-600);font-size:12px;font-weight:650;text-decoration:none}.section-link:hover{color:var(--blue-700)}.metric-grid,.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card,.stat{position:relative;min-height:100px;overflow:hidden;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.metric-card:hover,.stat:hover{transform:translateY(-2px);border-color:#cbdbe9;box-shadow:0 15px 38px #08233f17}.metric-card:after{content:"";position:absolute;right:-18px;bottom:-28px;width:86px;height:86px;border-radius:50%;background:var(--blue-50)}.metric-card--cyan{--metric-accent: #0b9fd9;--metric-soft: #e2f8ff;--metric-border: #bfe9f7}.metric-card--emerald{--metric-accent: #13a56d;--metric-soft: #e6f9f0;--metric-border: #c7eedc}.metric-card--blue{--metric-accent: #1677ec;--metric-soft: #e8f2ff;--metric-border: #cbdfff}.metric-card--violet{--metric-accent: #7c4ce0;--metric-soft: #f1ebff;--metric-border: #ddd0fb}.metric-card--orange{--metric-accent: #ed8a16;--metric-soft: #fff2df;--metric-border: #f7ddba}.metric-card--cyan,.metric-card--emerald,.metric-card--blue,.metric-card--violet,.metric-card--orange{border-color:var(--metric-border);background:radial-gradient(circle at 92% 8%,var(--metric-soft),transparent 43%),linear-gradient(155deg,#fff 40%,color-mix(in srgb,var(--metric-soft) 48%,white));box-shadow:0 12px 32px color-mix(in srgb,var(--metric-accent) 10%,transparent)}.metric-card--cyan:before,.metric-card--emerald:before,.metric-card--blue:before,.metric-card--violet:before,.metric-card--orange:before{content:"";position:absolute;z-index:2;top:0;right:18px;left:18px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,var(--metric-accent),transparent);opacity:.85}.metric-card--cyan:after,.metric-card--emerald:after,.metric-card--blue:after,.metric-card--violet:after,.metric-card--orange:after{background:var(--metric-soft)}.metric-card--cyan .metric-icon,.metric-card--emerald .metric-icon,.metric-card--blue .metric-icon,.metric-card--violet .metric-icon,.metric-card--orange .metric-icon{color:var(--metric-accent);border:1px solid color-mix(in srgb,var(--metric-accent) 18%,transparent);background:color-mix(in srgb,var(--metric-soft) 82%,white);box-shadow:0 7px 16px color-mix(in srgb,var(--metric-accent) 16%,transparent)}.metric-card--cyan .metric-meta,.metric-card--emerald .metric-meta,.metric-card--blue .metric-meta,.metric-card--violet .metric-meta,.metric-card--orange .metric-meta{color:color-mix(in srgb,var(--metric-accent) 68%,var(--text-secondary))}.metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-label,.stat .label{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.metric-value,.stat .value{margin-top:6px;color:var(--text-primary);font-size:28px;font-weight:650;letter-spacing:-.035em;line-height:1}.metric-meta{position:relative;z-index:1;display:flex;align-items:center;gap:5px;margin-top:9px;color:var(--text-muted);font-size:10px}.metric-meta.positive{color:var(--success)}.metric-icon{position:relative;z-index:1;display:grid;place-items:center;width:33px;height:33px;color:var(--blue-600);border-radius:10px;background:var(--blue-100);font-size:15px}.metric-icon.success{color:var(--success);background:var(--success-soft)}.metric-icon.warning{color:var(--warning);background:var(--warning-soft)}.metric-icon.danger{color:var(--danger);background:var(--danger-soft)}.metric-card--vehicle .metric-top,.metric-card--vehicle .metric-meta{max-width:62%}.metric-card--vehicle .metric-icon{display:none}.metric-vehicle-art{position:absolute;z-index:1;right:-7px;bottom:2px;width:47%;height:88%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 9px rgba(8,35,63,.18));pointer-events:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(310px,.82fr);gap:12px;margin-bottom:12px}.dashboard-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-side{display:flex;flex-direction:column;gap:10px;min-width:0}.dashboard-activity-card{min-height:0}.dashboard-side .section{padding:14px}.dashboard-side .section-header{margin-bottom:9px}.dashboard-side .section-header h2{font-size:14px;text-transform:uppercase;letter-spacing:.035em}.dashboard-side .section-header p{font-size:10px}.dashboard-activity-card{border-top:3px solid #19b77b;background:linear-gradient(165deg,#fff 68%,#effcf7)}.dashboard-alert-card{border-top:3px solid #f1a426;background:linear-gradient(165deg,#fff 68%,#fff9ed)}.operations-snapshot{overflow:hidden;padding:14px;color:#fff;border:1px solid rgba(69,174,235,.2);border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0%,rgba(29,164,235,.25),transparent 35%),linear-gradient(145deg,#061b31,#08325a);box-shadow:0 16px 38px #06172a2e}.snapshot-head,.snapshot-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.snapshot-head span,.snapshot-head strong{display:block}.snapshot-head span{color:#8fb1c9;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.snapshot-head strong{margin-top:3px;font-size:14px}.snapshot-head>i{display:grid;place-items:center;width:32px;height:32px;color:#5fd0ff;border:1px solid rgba(95,208,255,.25);border-radius:9px;background:#5fd0ff14}.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:10px 0 8px;border-block:1px solid rgba(255,255,255,.1)}.snapshot-grid div{padding:9px 8px;border-right:1px solid rgba(255,255,255,.1)}.snapshot-grid div:first-child{padding-left:0}.snapshot-grid div:last-child{padding-right:0;border-right:0}.snapshot-grid span,.snapshot-grid strong{display:block}.snapshot-grid span{min-height:26px;color:#8fb1c9;font-size:9px;line-height:1.35}.snapshot-grid strong{margin-top:2px;font-size:18px}.snapshot-progress{height:3px;margin:0 0 9px;overflow:hidden;border-radius:2px;background:#ffffff1a}.snapshot-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1fe0a0,#52cfff);transition:width .4s ease}.snapshot-foot{color:#87a7be;font-size:10px}.snapshot-pulse{display:flex;align-items:center;gap:7px}.snapshot-pulse i{width:7px;height:7px;border-radius:50%;background:#37d99c;box-shadow:0 0 0 4px #37d99c1f}.system-alert-list{margin:0;padding:0;list-style:none}.system-alert-row,.system-alert-clear{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:43px;padding:8px 9px;border-radius:9px}.system-alert-row+.system-alert-row{margin-top:6px}.system-alert-row--warning{color:#9b6205;background:#fff8e9}.system-alert-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#ffffffb8}.system-alert-row>span:nth-child(2),.system-alert-clear>span{min-width:0}.system-alert-row strong,.system-alert-row small,.system-alert-clear strong,.system-alert-clear small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-alert-row strong,.system-alert-clear strong{color:var(--text-primary);font-size:10px}.system-alert-row small,.system-alert-clear small{margin-top:1px;color:var(--text-secondary);font-size:9px}.system-alert-row>i:last-child{color:#a9b5c2;font-size:9px}.system-alert-clear{color:var(--success);background:var(--success-soft)}.map-card{display:flex;flex-direction:column;min-height:398px}.map-card .map-frame{border-radius:0}.map-stage{position:relative;flex:1;min-height:344px;overflow:hidden;background:#071d33}.map-stage:after{content:"";position:absolute;z-index:410;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 58% 52%,transparent 0 48px,rgba(37,188,255,.1) 49px 50px,transparent 51px 92px,rgba(124,92,224,.08) 93px 94px,transparent 95px),linear-gradient(rgba(53,170,230,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(53,170,230,.025) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px;pointer-events:none}.map-frame{width:100%;height:100%;min-height:344px;overflow:hidden;background-color:var(--navy-950);background-image:radial-gradient(circle at 64% 48%,rgba(18,117,181,.2),transparent 23%),linear-gradient(30deg,rgba(36,142,199,.09) 12%,transparent 12.5%,transparent 87%,rgba(36,142,199,.09) 87.5%),linear-gradient(150deg,rgba(36,142,199,.07) 12%,transparent 12.5%,transparent 87%,rgba(36,142,199,.07) 87.5%);background-size:auto,72px 124px,72px 124px}.map-frame--large{height:calc(100vh - 200px);min-height:560px}.map-toolbar{display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 14px;border-bottom:1px solid var(--border)}.map-toolbar .live-indicator{margin-left:auto}.map-routing-status{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;color:#096ab2;background:var(--info-soft);font-size:10px;font-weight:700;letter-spacing:.025em;white-space:nowrap}.map-routing-status.is-loading{color:#a56809;background:var(--warning-soft)}.map-routing-status.is-fallback{color:#b8343a;background:var(--danger-soft)}.map-routing-status.is-ready{color:#11794f;background:var(--success-soft)}.map-summary-panel{position:absolute;z-index:500;top:18px;left:18px;width:188px;overflow:hidden;padding:13px;color:#fff;border:1px solid rgba(79,204,255,.24);border-radius:13px;background:linear-gradient(155deg,#05233ff0,#07182fe6);box-shadow:0 18px 38px #010c1947,inset 0 1px #77daff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-summary-title{margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.11)}.map-summary-title span,.map-summary-title strong{display:block}.map-summary-title span{color:#78d7ff;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.map-summary-title strong{margin-top:2px;font-size:13px}.map-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;color:#abc2d5;font-size:10px}.map-summary-row span{display:flex;align-items:center;gap:7px}.map-summary-row i{color:#54c9ff}.map-summary-row strong{color:#fff;font-size:12px}.map-summary-row:nth-of-type(2) i{color:#3fd4ff}.map-summary-row:nth-of-type(3) i{color:#b592ff}.map-summary-row:nth-of-type(4) i{color:#4ce3a8}.map-summary-row:nth-of-type(5) i{color:#ffb846}.map-city-label{position:absolute;z-index:450;top:50%;left:58%;display:grid;grid-template-columns:34px auto;transform:translate(-50%,-50%);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.8);pointer-events:none}.map-city-label span{grid-row:1 / span 2;display:grid;place-items:center;width:31px;height:31px;margin-right:8px;color:#50d4ff;border:1px solid rgba(80,212,255,.42);border-radius:50%;background:#05223dc7;box-shadow:0 0 0 7px #50d4ff12,0 0 25px #50d4ff33}.map-city-label strong{font-size:16px;letter-spacing:.12em;line-height:1.05;text-transform:uppercase}.map-city-label small{margin-top:3px;color:#8cc5e0;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.map-frame .leaflet-tile-pane{filter:invert(.92) hue-rotate(178deg) saturate(.95) brightness(.82) contrast(1.08)}.leaflet-control-zoom a{color:var(--navy-900)!important}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:var(--shadow-float)}.vehicle-map-marker{display:grid;place-items:center;width:31px!important;height:31px!important;color:#fff;border:3px solid white;border-radius:50%;background:var(--blue-600);box-shadow:0 5px 16px #0878d166;font-size:13px}.parliament-marker-icon,.parliament-marker-icon.leaflet-div-icon{width:44px!important;height:44px!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important}.parliament-map-marker{display:grid!important;place-items:center;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;padding:5px;border:3px solid white;border-radius:50% 50% 50% 0;background:#fff;box-shadow:0 8px 22px #00000059;transform:rotate(-45deg);overflow:hidden;box-sizing:border-box}.parliament-map-marker img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:26px!important;max-height:26px!important;object-fit:contain!important;transform:rotate(45deg)}.activity-list,.compact-list{margin:0;padding:0;list-style:none}.activity-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--border)}.activity-item:first-child{padding-top:0}.activity-item:last-child{padding-bottom:0;border-bottom:0}.activity-icon{display:grid;place-items:center;width:34px;height:34px;color:var(--blue-600);border-radius:9px;background:var(--blue-100)}.activity-item--trip{position:relative;grid-template-columns:58px minmax(0,1fr) auto;padding-block:9px;padding-left:8px}.activity-item--trip:before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:3px;background:linear-gradient(180deg,#24d394,#1597e5);box-shadow:0 0 10px #1597e557}.activity-vehicle{display:grid;place-items:center;width:58px;height:38px;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,#f8fcff,#edf6fc)}.activity-vehicle img{width:94%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(8,35,63,.18))}.activity-tail{display:flex;align-items:flex-end;flex-direction:column;gap:3px}.activity-tail small{color:var(--text-muted);font-size:9px}.upcoming-vehicle{width:58px;height:35px;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(8,35,63,.14))}#overviewUpcomingTrips .activity-item{grid-template-columns:36px minmax(0,1fr) 58px auto}.dashboard-lower .section:first-child{border-top:3px solid #258bef;background:linear-gradient(155deg,#fff 72%,#eef7ff)}.dashboard-lower .section:last-child{border-top:3px solid #7c5ce0;background:linear-gradient(155deg,#fff 72%,#f5f0ff)}.activity-copy{min-width:0}.activity-copy strong,.activity-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-copy strong{font-size:13px}.activity-copy span{margin-top:2px;color:var(--text-secondary);font-size:11px}.activity-time{color:var(--text-muted);font-size:11px;white-space:nowrap}.status-chip{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:4px 9px;color:var(--text-secondary);border-radius:999px;background:#f0f3f6;font-size:10px;font-weight:700;letter-spacing:.025em;text-transform:capitalize;white-space:nowrap}.status-chip:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-chip.status-available,.status-chip.status-active,.status-chip.status-completed,.status-chip.status-arrived{color:#11794f;background:var(--success-soft)}.status-chip.status-on_route,.status-chip.status-in_progress,.status-chip.status-assigned{color:#096ab2;background:var(--info-soft)}.status-chip.status-pending,.status-chip.status-delayed{color:#a56809;background:var(--warning-soft)}.status-chip.status-offline,.status-chip.status-cancelled{color:#7b8796;background:#eff2f5}.status-chip.status-critical,.status-chip.status-incident{color:#b8343a;background:var(--danger-soft)}.data-panel{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--border)}.data-toolbar-copy strong,.data-toolbar-copy span{display:block}.data-toolbar-copy strong{font-size:15px}.data-toolbar-copy span{margin-top:2px;color:var(--text-muted);font-size:11px}.record-count{color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--surface-subtle);font-size:11px}.module-tabs{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin:-4px 0 20px;padding:5px;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-card)}.module-tabs a{display:inline-flex;align-items:center;min-height:38px;gap:8px;padding:8px 13px;color:var(--text-secondary);border-radius:8px;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}.module-tabs a:hover{color:var(--blue-700);background:var(--blue-50)}.module-tabs a.active{color:#fff;background:linear-gradient(135deg,var(--blue-600),#0d67d4);box-shadow:0 7px 18px #0878d12e}.fleet-showcase{margin-bottom:20px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:var(--shadow-card)}.fleet-showcase-head{margin-bottom:17px}.fleet-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fleet-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--border);border-radius:14px;background:#fff;transition:transform var(--transition),border var(--transition),box-shadow var(--transition)}.fleet-card:hover{transform:translateY(-3px);border-color:#bcd8eb;box-shadow:0 16px 34px #08233f1a}.fleet-card-visual{position:relative;display:grid;place-items:center;height:116px;color:#0878d1;background:radial-gradient(circle at 50% 100%,rgba(8,120,209,.18),transparent 52%),linear-gradient(135deg,#f8fcff,#edf6fc)}.fleet-card-visual>i{font-size:57px;filter:drop-shadow(0 12px 12px rgba(8,70,112,.16))}.fleet-vehicle-image{width:88%;height:106px;margin-top:8px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 9px rgba(8,35,63,.2));transition:transform var(--transition)}.fleet-card:hover .fleet-vehicle-image{transform:translateY(-2px) scale(1.025)}.fleet-card-visual .status-chip{position:absolute;top:10px;left:10px}.fleet-card-visual .row-actions{position:absolute;top:8px;right:8px}.fleet-card-visual .row-action{border-color:#0878d124;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fleet-card-body{padding:14px}.fleet-card-body h3{margin:0;overflow:hidden;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.fleet-registration{display:block;margin-top:3px;color:var(--text-secondary);font-size:12px}.fleet-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}.fleet-card-meta span{display:block;overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.fleet-card-meta strong{display:block;margin-top:2px;overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.fleet-card-empty{grid-column:1 / -1;display:grid;place-items:center;min-height:180px;padding:30px;color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:14px;text-align:center}.fleet-card-empty i{color:var(--blue-600);font-size:34px}.fleet-card-empty strong{margin-top:8px;color:var(--text-primary)}.fleet-card-empty span{margin-top:3px;font-size:12px}.table-responsive{scrollbar-width:thin;scrollbar-color:#d2dce5 transparent}.table{min-width:720px;margin:0;vertical-align:middle}.table>:not(caption)>*>*{padding:14px 18px;border-color:var(--border);background:transparent;box-shadow:none}.table thead th{position:sticky;top:0;z-index:1;color:var(--text-secondary);background:#fbfcfd;font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.table tbody td{color:#2c3c4f;font-size:13px}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:#f7fbfe}.table tbody tr:last-child td{border-bottom:0}.record-primary{display:flex;align-items:center;gap:10px;min-width:170px}.record-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;color:var(--blue-600);border-radius:9px;background:var(--blue-100)}.record-copy strong,.record-copy span{display:block}.record-copy strong{color:var(--text-primary);font-size:13px}.record-copy span{margin-top:2px;color:var(--text-muted);font-size:11px}.row-actions{display:inline-flex;align-items:center;gap:5px}.row-action{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;background:#fff}.row-action:hover{color:var(--blue-600);background:var(--blue-50)}.row-action.danger:hover{color:var(--danger);border-color:#f0c9cb;background:var(--danger-soft)}.table-empty{padding:48px 20px!important;text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;max-width:360px;margin:auto;color:var(--text-secondary)}.empty-state i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;color:var(--blue-600);border-radius:14px;background:var(--blue-100);font-size:20px}.empty-state strong{color:var(--text-primary);font-size:14px}.empty-state span{margin-top:4px;font-size:12px}.skeleton-row td{padding-block:19px!important}.skeleton{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,#eef2f5 25%,#f8fafb,#eef2f5 75%);background-size:200% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.form-control,.form-select{min-height:46px;padding:10px 12px;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:9px;background-color:#fff;font-size:14px;box-shadow:none;transition:border var(--transition),box-shadow var(--transition),background var(--transition)}.form-control-sm,.form-select-sm{min-height:40px}.form-control::placeholder{color:#a7b2bf}.form-control:focus,.form-select:focus{color:var(--text-primary);border-color:#0878d18c;box-shadow:0 0 0 4px #0878d114}.form-label{margin-bottom:6px;color:#34465a;font-size:13px;font-weight:650}.field-help{display:block;margin-top:5px;color:var(--text-muted);font-size:11px}.required:after{content:" *";color:var(--danger)}textarea.form-control{min-height:104px;resize:vertical}select[multiple].form-select{min-height:126px;padding:8px}select[multiple].form-select option{padding:8px;border-radius:6px}.form-section{margin-bottom:22px}.form-section:last-child{margin-bottom:0}.form-section-title{margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid var(--border)}.form-section-title strong,.form-section-title span{display:block}.form-section-title strong{font-size:14px}.form-section-title span{margin-top:3px;color:var(--text-secondary);font-size:11px}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.filter-bar .form-control,.filter-bar .form-select{width:auto;min-width:150px}.modal-backdrop.show{opacity:.54;background:var(--navy-950);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{margin-top:4vh;margin-bottom:4vh}.modal-content{overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:20px;box-shadow:0 30px 80px #06172a42}.modal-header{align-items:flex-start;padding:22px 24px 17px;border-bottom:1px solid var(--border)}.modal-title-wrap{display:flex;gap:12px}.modal-title-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;color:var(--blue-600);border-radius:11px;background:var(--blue-100)}.modal-title{margin:0;color:var(--text-primary);font-size:18px;font-weight:650}.modal-subtitle{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.btn-close{width:32px;height:32px;margin:0!important;padding:0!important;border-radius:8px;background-color:var(--surface-bg);background-size:10px;opacity:.65}.modal-body{padding:22px 24px}.modal-footer{gap:8px;padding:15px 24px;border-top:1px solid var(--border);background:#fbfcfd}.modal-footer .btn{min-width:96px}.swal2-container{font-family:inherit}.swal2-popup{width:min(430px,calc(100% - 30px));padding:25px!important;border:1px solid var(--border)!important;border-radius:18px!important;box-shadow:var(--shadow-float)!important}.swal2-title{color:var(--text-primary)!important;font-size:18px!important;font-weight:650!important}.swal2-html-container{color:var(--text-secondary)!important;font-size:13px!important;line-height:1.65!important}.swal2-icon{width:54px!important;height:54px!important;margin:4px auto 16px!important;transform:scale(.74)}.swal2-actions{gap:8px}.swal2-styled{min-height:42px;margin:0!important;padding:9px 16px!important;border-radius:9px!important;font-size:13px!important;font-weight:650!important}.swal2-confirm{background:var(--danger)!important}.swal2-cancel{color:var(--text-primary)!important;border:1px solid var(--border-strong)!important;background:#fff!important}.toast-region{position:fixed;z-index:2000;top:86px;right:22px;display:grid;width:min(360px,calc(100vw - 30px));gap:10px;pointer-events:none}.app-toast{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-float);pointer-events:auto;animation:toast-in .22s ease both}.app-toast.toast-out{animation:toast-out .18s ease both}.toast-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--success);border-radius:9px;background:var(--success-soft)}.app-toast.warning .toast-icon{color:var(--warning);background:var(--warning-soft)}.app-toast.error .toast-icon{color:var(--danger);background:var(--danger-soft)}.toast-copy strong,.toast-copy span{display:block}.toast-copy strong{font-size:13px}.toast-copy span{margin-top:2px;color:var(--text-secondary);font-size:11px}.toast-dismiss{padding:3px;color:var(--text-muted);border:0;background:transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) translate(12px)}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}.operations-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workflow-card{padding:19px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}.workflow-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.workflow-card-head i{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;color:var(--blue-600);border-radius:10px;background:var(--blue-100)}.workflow-card-head strong,.workflow-card-head span{display:block}.workflow-card-head strong{font-size:14px}.workflow-card-head span{margin-top:2px;color:var(--text-secondary);font-size:11px}.op-panel{border:0;padding:0;background:transparent}.op-title{display:none}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-card{min-height:390px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}.chart-frame{position:relative;height:300px;margin-top:18px}.login-page{padding:28px;background:radial-gradient(circle at 50% -15%,#fff,#eef3f8 52%,#e8eef5)}.login-shell{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr);width:min(1540px,100%);min-height:calc(100vh - 56px);margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:28px;background:#fff;box-shadow:0 28px 80px #06172a29}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 56px);overflow:hidden;padding:46px clamp(38px,5vw,82px);color:#fff;background:linear-gradient(90deg,#06172af7,#06172adb 48%,#06172a7a),linear-gradient(0deg,#06172a8f,#06172a0a 55%),var(--login-hero-image) center center / cover no-repeat,var(--navy-950)}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%)}.login-visual:after{content:"";position:absolute;width:620px;height:620px;right:-250px;bottom:-230px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff05}.login-institution,.login-hero,.login-foot{position:relative;z-index:1}.login-institution{display:flex;align-items:center;gap:13px}.login-institution img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff}.login-institution strong,.login-institution span{display:block}.login-institution strong{font-size:14px;letter-spacing:.06em;text-transform:uppercase}.login-institution span{margin-top:4px;color:#bad0e0;font-size:11px}.login-hero{max-width:650px;padding:70px 0}.login-kicker{display:inline-flex;align-items:center;gap:8px;color:#9ad9ff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-kicker:before{content:"";width:28px;height:1px;background:var(--blue-500)}.login-hero h1{max-width:630px;margin:18px 0 17px;font-size:clamp(40px,5vw,67px);font-weight:600;letter-spacing:-.055em;line-height:1.04}.login-hero p{max-width:560px;margin:0;color:#d2e1ec;font-size:16px;line-height:1.7;text-shadow:0 1px 14px rgba(0,0,0,.28)}.login-signal{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:28px;margin-top:34px}.login-signal div{display:grid;grid-template-columns:32px auto;column-gap:9px;padding-left:0}.login-signal div>i{grid-row:1 / 3;display:grid;place-items:center;width:32px;height:32px;color:#61d3ff;border:1px solid rgba(97,211,255,.36);border-radius:9px;background:#61d3ff14}.login-signal strong,.login-signal span{display:block}.login-signal strong{font-size:13px}.login-signal span{margin-top:3px;color:#aec6d8;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.login-foot{color:#b4c9d8;font-size:11px}.login-panel{position:relative;display:grid;place-items:center;min-height:calc(100vh - 56px);padding:42px clamp(34px,5vw,78px);background:radial-gradient(circle at 100% 0%,#f3f9ff,transparent 34%),#fff}.login-panel:before{content:"";position:absolute;inset:0 0 auto auto;width:260px;height:260px;opacity:.45;background:repeating-radial-gradient(circle at 100% 0%,transparent 0 7px,rgba(8,120,209,.06) 8px 9px);pointer-events:none}.login-card{width:min(100%,470px)}.login-product-logo{position:relative;width:220px;height:180px;overflow:hidden;margin:-24px 0 10px -30px}.login-product-logo img{position:absolute;top:50%;left:50%;width:360px;height:360px;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}.login-card h2{margin:0;font-size:32px;font-weight:650;letter-spacing:-.035em}.login-card>p{margin:8px 0 27px;color:var(--text-secondary);font-size:14px;line-height:1.7}.password-field,.login-field{position:relative}.login-field>i{position:absolute;z-index:2;top:50%;left:14px;color:#60758b;transform:translateY(-50%);font-size:16px}.login-field .form-control{min-height:50px;padding-left:43px}.password-field .form-control{padding-right:45px}.password-toggle{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:32px;height:32px;transform:translateY(-50%);color:var(--text-muted);border:0;background:transparent}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 22px;font-size:12px}.login-options label{display:flex;align-items:center;gap:7px;color:var(--text-secondary)}.login-options a{color:var(--blue-600);text-decoration:none}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;color:var(--text-muted);font-size:11px}.login-message{min-height:20px;margin-top:10px;color:var(--danger);font-size:12px}.success-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--surface-bg)}.success-card{width:min(560px,100%);padding:38px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-card)}.success-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;color:var(--success);border-radius:50%;background:var(--success-soft);font-size:28px;box-shadow:0 0 0 10px #16a36a0f}.credential-panel{margin:22px 0;padding:16px;border-radius:var(--radius-md);background:var(--surface-bg);text-align:left}.credential-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--border)}.credential-row:last-child{border-bottom:0}.error-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(21,151,229,.1),transparent 35%),var(--surface-bg)}.error-card{width:min(520px,100%);text-align:center}.error-card img{width:220px;height:100px;object-fit:contain;transform:scale(1.35);margin-bottom:18px}.error-code{color:var(--blue-600);font-size:14px;font-weight:700;letter-spacing:.16em}.error-card h1{margin:10px 0 8px;font-size:31px;font-weight:650;letter-spacing:-.035em}.error-card p{margin:0 auto 24px;color:var(--text-secondary);font-size:14px}.endpoint-log{max-height:420px;overflow:auto;padding:16px;color:#c8d8e6;border:1px solid #173651;border-radius:12px;background:var(--navy-950);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65}.endpoint-log .ok{color:#77dda9}.endpoint-log .warn{color:#f4c86b}.endpoint-log .bad{color:#ff9095}.app-shell{--page-accent: #0878d1;--page-accent-2: #35b9ef;--page-soft: #eaf6fd;--page-border: #c9e3f4}.app-shell[data-page=admins]{--page-accent: #7653d6;--page-accent-2: #ad7cf2;--page-soft: #f2edff;--page-border: #ddd1fa}.app-shell[data-page=drivers]{--page-accent: #11996a;--page-accent-2: #43cf97;--page-soft: #e9f9f2;--page-border: #c8eddd}.app-shell[data-page=shuttles]{--page-accent: #0a8fc7;--page-accent-2: #39c3e9;--page-soft: #e7f8fc;--page-border: #c2e9f3}.app-shell[data-page=stops]{--page-accent: #e17b12;--page-accent-2: #ffb23e;--page-soft: #fff3e3;--page-border: #f4d9b8}.app-shell[data-page=routes]{--page-accent: #3567dc;--page-accent-2: #688ff4;--page-soft: #ebf1ff;--page-border: #ccd9fb}.app-shell[data-page=daily-plans]{--page-accent: #0878d1;--page-accent-2: #38a8f0;--page-soft: #eaf6fd;--page-border: #c9e3f4}.app-shell[data-page=adhoc-routes]{--page-accent: #7549dd;--page-accent-2: #a271f1;--page-soft: #f1ebff;--page-border: #dccdf8}.app-shell[data-page=operations]{--page-accent: #0f9b82;--page-accent-2: #37cdb6;--page-soft: #e8f9f5;--page-border: #c5ece3}.app-shell[data-page=analytics]{--page-accent: #6550d8;--page-accent-2: #1ab0d7;--page-soft: #efedff;--page-border: #d8d2f8}.app-shell[data-page=map]{--page-accent: #087dbb;--page-accent-2: #17c1d4;--page-soft: #e6f8fb;--page-border: #c2e9ef}.app-shell[data-page=clients]{--page-accent: #0f9b82;--page-accent-2: #2fd3b5;--page-soft: #e7faf5;--page-border: #c3eee4}.app-shell[data-page=trip-history]{--page-accent: #3567dc;--page-accent-2: #20b7d7;--page-soft: #edf4ff;--page-border: #cbdcf6}.app-shell[data-page=safety]{--page-accent: #dc4c52;--page-accent-2: #f59e0b;--page-soft: #fff0f1;--page-border: #f0c9cb}.app-shell[data-page=compliance]{--page-accent: #7d5a2f;--page-accent-2: #0f9b82;--page-soft: #f7f3ec;--page-border: #dfd2bf}.app-shell[data-page=endpoint-tests]{--page-accent: #cb7a11;--page-accent-2: #f0af2d;--page-soft: #fff4e1;--page-border: #f1d9b6}.app-shell:not([data-page=overview]) .app-main{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--page-accent) 12%,transparent),transparent 28%),radial-gradient(circle at 96% 12%,color-mix(in srgb,var(--page-accent-2) 8%,transparent),transparent 23%),var(--surface-bg)}.app-shell:not([data-page=overview]) .page-header{position:relative;isolation:isolate;overflow:hidden;padding:15px 17px;border:1px solid var(--page-border);border-radius:15px;background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--page-accent-2) 15%,transparent),transparent 24%),linear-gradient(120deg,#fff 48%,color-mix(in srgb,var(--page-soft) 72%,white));box-shadow:0 13px 32px color-mix(in srgb,var(--page-accent) 8%,transparent)}.app-shell:not([data-page=overview]) .page-header:after{content:"";position:absolute;z-index:-1;right:-32px;bottom:-78px;width:190px;height:190px;border:1px solid color-mix(in srgb,var(--page-accent) 12%,transparent);border-radius:50%;box-shadow:0 0 0 32px color-mix(in srgb,var(--page-accent) 3%,transparent),0 0 0 66px color-mix(in srgb,var(--page-accent-2) 2%,transparent)}.app-shell:not([data-page=overview]) .page-eyebrow{color:var(--page-accent)}.app-shell:not([data-page=overview]) .page-eyebrow:before{background:linear-gradient(90deg,var(--page-accent),var(--page-accent-2))}.app-shell:not([data-page=overview]) .page-actions .btn-primary{border-color:var(--page-accent);background:linear-gradient(135deg,var(--page-accent),var(--page-accent-2));box-shadow:0 8px 20px color-mix(in srgb,var(--page-accent) 22%,transparent)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:nth-child(5n+1){--metric-accent: var(--page-accent);--metric-soft: var(--page-soft)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:nth-child(5n+2){--metric-accent: #14a56e;--metric-soft: #e8f9f1}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:nth-child(5n+3){--metric-accent: #267ce9;--metric-soft: #eaf2ff}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:nth-child(5n+4){--metric-accent: #e28a19;--metric-soft: #fff3e2}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:nth-child(5n+5){--metric-accent: #7951df;--metric-soft: #f1ebff}.app-shell:not([data-page=overview]) .metric-grid>.metric-card{border-color:color-mix(in srgb,var(--metric-accent) 24%,var(--border));background:radial-gradient(circle at 92% 9%,var(--metric-soft),transparent 44%),linear-gradient(155deg,#fff 45%,color-mix(in srgb,var(--metric-soft) 50%,white));box-shadow:0 12px 30px color-mix(in srgb,var(--metric-accent) 9%,transparent)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:before{content:"";position:absolute;z-index:2;top:0;right:18px;left:18px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,var(--metric-accent),transparent)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card:after{background:var(--metric-soft)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card .metric-icon{color:var(--metric-accent);border:1px solid color-mix(in srgb,var(--metric-accent) 17%,transparent);background:color-mix(in srgb,var(--metric-soft) 84%,white);box-shadow:0 7px 16px color-mix(in srgb,var(--metric-accent) 14%,transparent)}.app-shell:not([data-page=overview]) .metric-grid>.metric-card .metric-meta{color:color-mix(in srgb,var(--metric-accent) 64%,var(--text-secondary))}.app-shell:not([data-page=overview]) .data-panel,.app-shell:not([data-page=overview]) .fleet-showcase,.app-shell:not([data-page=overview]) .chart-card,.app-shell:not([data-page=overview]) .workflow-card,.app-shell:not([data-page=overview]) main>.section{position:relative;border-color:color-mix(in srgb,var(--page-accent) 18%,var(--border));box-shadow:0 13px 34px color-mix(in srgb,var(--page-accent) 7%,transparent)}.app-shell:not([data-page=overview]) .data-panel:before,.app-shell:not([data-page=overview]) .fleet-showcase:before,.app-shell:not([data-page=overview]) .chart-card:before,.app-shell:not([data-page=overview]) main>.section:before{content:"";position:absolute;z-index:3;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--page-accent),var(--page-accent-2),transparent 82%)}.app-shell:not([data-page=overview]) .data-toolbar,.app-shell:not([data-page=overview]) .fleet-showcase-head{background:linear-gradient(90deg,color-mix(in srgb,var(--page-soft) 65%,white),#fff 58%)}.app-shell:not([data-page=overview]) .table thead th{color:color-mix(in srgb,var(--page-accent) 42%,var(--text-secondary));background:color-mix(in srgb,var(--page-soft) 55%,#fbfcfd)}.app-shell:not([data-page=overview]) .table tbody tr:hover{background:color-mix(in srgb,var(--page-soft) 52%,white)}.app-shell:not([data-page=overview]) .record-icon,.app-shell:not([data-page=overview]) .activity-icon,.app-shell:not([data-page=overview]) .empty-state i{color:var(--page-accent);background:color-mix(in srgb,var(--page-soft) 82%,white)}.app-shell:not([data-page=overview]) .module-tabs a.active{background:linear-gradient(135deg,var(--page-accent),var(--page-accent-2));box-shadow:0 7px 18px color-mix(in srgb,var(--page-accent) 20%,transparent)}.app-shell:not([data-page=overview]) .record-count{color:color-mix(in srgb,var(--page-accent) 74%,var(--text-secondary));border-color:color-mix(in srgb,var(--page-accent) 18%,var(--border));background:color-mix(in srgb,var(--page-soft) 72%,white)}.app-shell[data-page=operations] .workflow-card{--card-accent: #14a56e;overflow:hidden;border-top:3px solid var(--card-accent);background:linear-gradient(160deg,#fff 72%,color-mix(in srgb,var(--card-accent) 7%,white))}.app-shell[data-page=operations] .workflow-card:nth-child(3n+2){--card-accent: #1689df}.app-shell[data-page=operations] .workflow-card:nth-child(3n+3){--card-accent: #7951df}.app-shell[data-page=operations] .workflow-card-head i{color:var(--card-accent);border:1px solid color-mix(in srgb,var(--card-accent) 16%,transparent);background:color-mix(in srgb,var(--card-accent) 9%,white);box-shadow:0 7px 16px color-mix(in srgb,var(--card-accent) 13%,transparent)}.app-shell[data-page=analytics] .chart-card:first-child{border-top:3px solid #6550d8;background:linear-gradient(155deg,#fff 74%,#f2efff)}.app-shell[data-page=analytics] .chart-card:last-child{border-top:3px solid #12a8cb;background:linear-gradient(155deg,#fff 74%,#ebfaff)}.app-shell[data-page=map] main>.surface-card{border:1px solid var(--page-border);border-top:3px solid var(--page-accent);box-shadow:0 16px 40px color-mix(in srgb,var(--page-accent) 13%,transparent)}.modal-content{border-top:3px solid var(--blue-500);background:radial-gradient(circle at 100% 0%,rgba(21,151,229,.09),transparent 24%),#fff}.modal-header{background:linear-gradient(90deg,#f2f9fe,#fffffff5 64%)}.modal-title-icon{box-shadow:0 7px 17px #0878d124}.form-section-title{padding-left:12px;border-left:3px solid var(--page-accent, var(--blue-500))}.mobile-nav,.sidebar-scrim{display:none}.muted,.text-muted{color:var(--text-secondary)!important}@media (max-width: 1200px){:root{--sidebar-width: 218px}.workspace{padding-inline:22px}.topbar{padding-inline:22px;grid-template-columns:minmax(150px,.7fr) minmax(240px,400px) minmax(210px,.8fr)}.metric-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 992px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;transform:translate(-102%);transition:transform .22s ease;box-shadow:var(--shadow-float)}body.sidebar-open .sidebar{transform:translate(0)}body.sidebar-open{overflow:hidden}.sidebar-close{display:inline-grid!important}.sidebar-scrim{position:fixed;z-index:1030;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#06172a8a;opacity:0;pointer-events:none;transition:opacity var(--transition)}body.sidebar-open .sidebar-scrim{display:block;opacity:1;pointer-events:auto}.menu-toggle{display:inline-grid!important}.topbar{grid-template-columns:minmax(160px,1fr) minmax(240px,1.2fr) auto}.profile-summary-copy,.profile-menu summary>i,.live-indicator{display:none}.profile-menu summary{min-width:auto}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.operations-snapshot{grid-column:1 / -1}.metric-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}.map-card{min-height:398px}.fleet-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){body{padding-bottom:68px}.workspace{padding:20px 16px 28px}.topbar{min-height:64px;padding:0 16px;grid-template-columns:1fr auto}.global-search,.topbar-context span{display:none}.topbar-actions{gap:5px}.page-header{align-items:flex-start;flex-direction:column;gap:15px}.page-actions,.toolbar,.filter-bar{width:100%;justify-content:flex-start}.page-actions .btn,.toolbar .btn{flex:1 1 auto}.filter-bar .form-control,.filter-bar .form-select{flex:1 1 145px;min-width:0}.metric-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower,.chart-grid,.operations-layout,.dashboard-side{grid-template-columns:1fr}.operations-snapshot{grid-column:auto}.chart-card{min-height:340px}.chart-frame{height:260px}.map-frame,.map-frame--large{height:390px;min-height:0}.map-summary-panel{top:12px;left:12px;width:172px;padding:11px}.mobile-nav{position:fixed;z-index:1025;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:66px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff5;box-shadow:0 -10px 30px #06172a12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav a,.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--text-muted);border:0;border-radius:8px;background:transparent;font-size:10px;font-weight:600;text-decoration:none}.mobile-nav i{font-size:17px}.mobile-nav .active{color:var(--blue-600);background:var(--blue-50)}.login-page{padding:0;background:#fff}.login-shell{grid-template-columns:1fr;min-height:100vh;border:0;border-radius:0;box-shadow:none}.login-visual{display:none}.login-panel{min-height:100vh;padding:30px 22px}.login-card{max-width:440px}.modal-dialog{margin:0;min-height:100%;display:flex;align-items:flex-end}.modal-content{max-height:94vh;border-radius:20px 20px 0 0}.modal-body{overflow-y:auto}.toast-region{top:74px;right:15px}}@media (max-width: 480px){.metric-grid,.stat-grid,.metric-grid--five{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card,.stat{min-height:106px;padding:14px}.metric-value,.stat .value{font-size:25px}.metric-icon{width:31px;height:31px}.metric-card--vehicle .metric-top,.metric-card--vehicle .metric-meta{max-width:64%}.metric-vehicle-art{right:-13px;width:52%}.section{padding:16px}.data-toolbar{align-items:flex-start;flex-direction:column}.topbar-context strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-button{display:none}.page-header h1{font-size:27px}.modal-header,.modal-body,.modal-footer{padding-inline:18px}.modal-footer .btn{flex:1}.login-product-logo{margin-bottom:24px}.fleet-card-grid{grid-template-columns:1fr}.fleet-showcase{padding:16px}.module-tabs{width:100%}.topbar-crest{display:none}#overviewUpcomingTrips .activity-item{grid-template-columns:36px minmax(0,1fr) auto}.upcoming-vehicle{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
