:root{--bg-dark: #0E1524;--bg-darker: #0A1019;--panel-bg: #141D2E;--panel-bg-solid: #141D2E;--card-bg: #1A2438;--panel-border: rgba(148, 163, 184, .14);--panel-border-hover: rgba(45, 212, 191, .32);--input-bg: rgba(255, 255, 255, .04);--text-main: #F1F5F9;--text-muted: #94A3B8;--text-muted-dark: #64748B;--primary-color: #2DD4BF;--primary-hover: #14B8A6;--primary-dark: #0D9488;--primary-rgb: 45, 212, 191;--primary-glow: 0 0 20px rgba(45, 212, 191, .18);--primary-glow-strong: 0 0 40px rgba(45, 212, 191, .28);--accent-color: #A78BFA;--accent-rgb: 167, 139, 250;--success-color: #4ADE80;--success-bg: rgba(74, 222, 128, .12);--warning-color: #FBBF24;--warning-bg: rgba(251, 191, 36, .12);--danger-color: #F87171;--danger-bg: rgba(248, 113, 113, .12);--blue-color: #2DD4BF;--blue-bg: rgba(45, 212, 191, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: all .18s ease;--transition-normal: all .3s cubic-bezier(.4, 0, .2, 1);--glass-blur: none;--shadow-main: 0 16px 48px rgba(0, 0, 0, .45);--shadow-blue: 0 8px 32px rgba(45, 212, 191, .18);--mobile-nav-h: 64px}body.light-theme{--bg-dark: #F1F5F9;--bg-darker: #E2E8F0;--panel-bg: #FFFFFF;--panel-bg-solid: #FFFFFF;--card-bg: #FFFFFF;--panel-border: rgba(15, 23, 42, .08);--panel-border-hover: rgba(13, 148, 136, .28);--text-main: #0F172A;--text-muted: #64748B;--text-muted-dark: #94A3B8;--primary-color: #0D9488;--primary-hover: #0F766E;--primary-dark: #115E59;--primary-rgb: 13, 148, 136;--primary-glow: 0 0 20px rgba(13, 148, 136, .15);--shadow-main: 0 8px 32px rgba(15, 23, 42, .08);color-scheme:light}.btn-icon-nav{width:34px;height:34px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon-nav:hover{background:#ffffff1f}.btn-icon-nav i{width:16px;height:16px}.btn-secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-main);border-radius:8px;cursor:pointer;font-family:Outfit,sans-serif;font-weight:600;transition:all .15s ease}.btn-secondary:hover{background:#ffffff1f}.driver-dashboard-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.driver-dashboard-grid-two .status-card{grid-column:1}.driver-dashboard-grid-two .driver-messages-card{grid-column:2}.driver-dashboard-grid-two .next-shift-card{grid-column:1}.driver-dashboard-grid-two .quick-reports-card{grid-column:2}@media(max-width:768px){.shift-form-grid{grid-template-columns:1fr 1fr!important}.shift-form-grid>*:last-child{grid-column:1 / -1}.driver-dashboard-grid-two{grid-template-columns:1fr!important}.driver-dashboard-grid-two>*{grid-column:1!important}}body.light-theme{--bg-dark: #F0F4FF;--bg-darker: #E4EAFB;--panel-bg: rgba(255, 255, 255, .85);--panel-bg-solid: #FFFFFF;--panel-border: rgba(61, 126, 245, .18);--panel-border-hover: rgba(61, 126, 245, .38);--text-main: #0D1628;--text-muted: #4A5A7A;--text-muted-dark: #7B8DB0;--primary-color: #2968E8;--primary-hover: #1A50CC;--primary-rgb: 41, 104, 232;--primary-glow: 0 0 20px rgba(41, 104, 232, .2);--shadow-main: 0 8px 32px rgba(41, 104, 232, .08);color-scheme:light}body.light-theme .login-container{background:radial-gradient(ellipse at 15% 25%,rgba(61,126,245,.08) 0%,transparent 50%),radial-gradient(ellipse at 85% 75%,rgba(41,104,232,.06) 0%,transparent 50%),var(--bg-darker)}body.light-theme .login-card{background:#ffffffeb;box-shadow:0 20px 60px #2968e81f,0 0 0 1px #3d7ef51a}body.light-theme .app-sidebar,body.light-theme .app-header{background:#fffffff2;border-color:#3d7ef51f}body.light-theme .panel,body.light-theme .card,body.light-theme .content-section{background:var(--panel-bg-solid);border-color:var(--panel-border)}body.light-theme input,body.light-theme select,body.light-theme textarea{background:#3d7ef50a!important;border-color:#3d7ef533!important;color:var(--text-main)!important}body.light-theme .login-tabs{background:#3d7ef50f}body.light-theme .login-tab:not(.active){color:var(--text-muted)}body.light-theme table thead tr{background:#3d7ef50f}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased}body{background-color:var(--bg-dark);color:var(--text-main);overflow-x:hidden;min-height:100vh}.hidden{display:none!important}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:radial-gradient(ellipse at 15% 25%,rgba(61,126,245,.12) 0%,transparent 50%),radial-gradient(ellipse at 85% 75%,rgba(30,60,160,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(0,30,80,.4) 0%,transparent 80%),var(--bg-darker);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(61,126,245,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(61,126,245,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.login-card{background:#08101ed9;backdrop-filter:blur(20px);border:1px solid rgba(61,126,245,.15);border-radius:24px;padding:44px 40px;width:100%;max-width:460px;box-shadow:0 30px 80px -20px #000000e6,0 0 0 1px #3d7ef50f,inset 0 1px #ffffff0d;animation:fadeIn .5s ease-out;position:relative;z-index:1}.login-card:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(61,126,245,.6),transparent)}.login-header{text-align:center;margin-bottom:32px}.logo{display:flex;align-items:center;justify-content:center;gap:12px;font-size:26px;font-weight:800;color:var(--text-main);letter-spacing:-.5px}.logo i{color:var(--primary-color);filter:drop-shadow(0 0 8px rgba(61,126,245,.6));width:32px;height:32px}.logo-dot{color:var(--primary-color)}.login-header p{color:var(--text-muted);font-size:13px;margin-top:6px;letter-spacing:.3px}.trial-badge-login{display:inline-flex;align-items:center;gap:5px;background:#3d7ef514;color:var(--primary-color);border:1px solid rgba(61,126,245,.2);padding:5px 14px;font-size:11px;font-weight:700;border-radius:var(--radius-full);margin-top:14px;letter-spacing:.5px;text-transform:uppercase}.login-step{transition:all .3s ease}.company-id-hint{font-size:12px;color:var(--text-muted-dark);margin-top:6px}.login-tabs{display:flex;background:#0000004d;border-radius:var(--radius-md);padding:4px;margin-bottom:24px;border:1px solid rgba(61,126,245,.1);gap:4px}.login-tab{flex:1;background:transparent;border:none;color:var(--text-muted);padding:11px 10px;font-size:14px;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:7px;transition:var(--transition-fast)}.login-tab i{width:15px;height:15px}.login-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 15px #3d7ef559}.btn-back{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;padding:0;margin-bottom:20px;transition:color .2s}.btn-back:hover{color:var(--primary-color)}.btn-back i{width:14px;height:14px}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--text-muted)}input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{background:#0000004d;border:1px solid var(--panel-border);color:var(--text-main);padding:12px 16px;border-radius:var(--radius-md);font-size:15px;width:100%;outline:none;transition:var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}textarea{resize:none;height:100px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}button{cursor:pointer;font-family:inherit}.btn-primary{background:var(--primary-color);color:var(--text-main);border:none;padding:14px 20px;font-size:16px;font-weight:600;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition-normal)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 5px 15px rgba(var(--primary-rgb),.3)}.btn-primary i{width:18px;height:18px}.btn-full-width{width:100%}.btn-delay-submit{background:var(--warning-color);color:#000;border:none;padding:14px 20px;font-size:16px;font-weight:700;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition-normal)}.btn-delay-submit:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px 15px #f59e0b4d}.btn-breakdown-submit{background:var(--danger-color);color:var(--text-main);border:none;padding:14px 20px;font-size:16px;font-weight:700;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition-normal)}.btn-breakdown-submit:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px 15px #ef44444d}.btn-logout{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:var(--danger-color);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.btn-logout:hover{background:var(--danger-color);color:var(--text-main)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--panel-bg-solid);border-bottom:1px solid var(--panel-border);height:75px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:25px}.trial-indicator{background:var(--warning-bg);border:1px solid rgba(245,158,11,.2);color:var(--warning-color);padding:6px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;gap:6px}.trial-indicator i{width:14px;height:14px}.header-right{display:flex;align-items:center;gap:25px}.role-selector-container{display:flex;align-items:center;gap:10px}.role-label{font-size:13px;color:var(--text-muted)}.role-toggle{background:#ffffff0d;border:1px solid var(--panel-border);padding:6px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;cursor:pointer;transition:var(--transition-fast)}.role-toggle:hover{background:#ffffff1a;border-color:var(--primary-color)}.role-toggle span{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary-color)}.role-toggle i{width:12px;height:12px;color:var(--text-muted)}.user-profile-info{display:flex;align-items:center;gap:10px;border-left:1px solid var(--panel-border);padding-left:20px}.user-avatar{width:38px;height:38px;background:rgba(var(--primary-rgb),.1);color:var(--primary-color);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.user-avatar i{width:18px;height:18px}.user-details{display:flex;flex-direction:column}.user-details span:first-child{font-size:14px;font-weight:600}.user-details span:last-child{font-size:12px;color:var(--text-muted)}.app-body{display:flex;flex:1}.app-sidebar{background:var(--panel-bg-solid);border-right:1px solid var(--panel-border);width:250px;display:flex;flex-direction:column;justify-content:space-between;padding:25px 15px;position:sticky;top:75px;height:calc(100vh - 75px)}.nav-list{list-style:none;display:flex;flex-direction:column;gap:10px}.nav-item{display:flex;align-items:center;gap:12px;color:var(--text-muted);text-decoration:none;padding:12px 16px;border-radius:var(--radius-md);font-size:15px;font-weight:500;transition:var(--transition-fast)}.nav-item i{width:18px;height:18px}.nav-item:hover{color:var(--text-main);background:#ffffff08}.nav-item.active{color:var(--text-main);background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.2);font-weight:600}.sidebar-footer{font-size:12px;color:var(--text-muted-dark);text-align:center;border-top:1px solid var(--panel-border);padding-top:15px}.app-main{flex:1;padding:30px;overflow-y:auto;background:radial-gradient(circle at 50% 0%,rgba(var(--primary-rgb),.03) 0%,transparent 60%)}.content-section{animation:fadeSlide .3s ease-out}.section-header{margin-bottom:25px;display:flex;align-items:center;justify-content:space-between}.section-header h2{font-size:24px;font-weight:700}.section-header p{color:var(--text-muted);font-size:14px;margin-top:4px}.date-badge{background:#ffffff0d;border:1px solid var(--panel-border);padding:6px 14px;font-size:14px;font-weight:600;border-radius:var(--radius-full)}.card{background:var(--panel-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:25px;box-shadow:0 4px 20px #00000026;transition:var(--transition-fast)}.card h3{font-size:18px;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:10px}.subtitle{font-size:13px;color:var(--text-muted);margin-top:-15px;margin-bottom:20px}.driver-dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.status-card{display:flex;flex-direction:column;justify-content:space-between}.route-info-big{display:flex;align-items:center;gap:20px;background:#0003;border:1px solid var(--panel-border);padding:20px;border-radius:var(--radius-md);margin-bottom:20px}.route-number{background:var(--primary-color);color:var(--text-main);font-size:32px;font-weight:800;width:65px;height:65px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(var(--primary-rgb),.3)}.route-details h4{font-size:18px;font-weight:700}.route-details p{color:var(--text-muted);font-size:13px;margin-top:4px}.route-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-item{background:#ffffff05;border:1px solid var(--panel-border);padding:15px;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:6px}.stat-item span{font-size:12px;color:var(--text-muted);text-transform:uppercase}.stat-item strong{font-size:16px;font-weight:700}.status-ok{color:var(--success-color)}.status-delay{color:var(--warning-color)}.status-breakdown{color:var(--danger-color)}.stops-timeline{position:relative;padding-left:30px;margin-bottom:25px;max-height:380px;overflow-y:auto;padding-right:5px}.stops-timeline:before{content:"";position:absolute;top:5px;left:10px;bottom:5px;width:2px;background:#ffffff1a}.stop-item{position:relative;padding-bottom:25px;cursor:pointer}.stop-item:last-child{padding-bottom:0}.stop-marker{position:absolute;left:-26px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--bg-dark);border:2px solid var(--text-muted);transition:var(--transition-fast)}.stop-item.passed .stop-marker{background:var(--success-color);border-color:var(--success-color);box-shadow:0 0 10px var(--success-color)}.stop-item.next .stop-marker{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-color);animation:pulse 1.5s infinite}.stop-info{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid var(--panel-border);padding:10px 15px;border-radius:var(--radius-sm);transition:var(--transition-fast)}.stop-item:hover .stop-info{background:#ffffff0d}.stop-item.passed .stop-info{border-color:#10b9814d;opacity:.6}.stop-item.next .stop-info{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.05)}.stop-name{font-size:14px;font-weight:600}.stop-time{font-size:12px;color:var(--text-muted)}.calendar-legend{display:flex;gap:20px;margin-bottom:20px}.legend-item{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.morning{background:var(--primary-color)}.legend-dot.afternoon{background:var(--blue-color)}.legend-dot.off{background:var(--text-muted-dark)}.legend-dot.vacation{background:var(--success-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--panel-border);border-radius:var(--radius-md);overflow:hidden;background:#00000026}.calendar-day-header{background:#0000004d;text-align:center;padding:15px 5px;font-weight:600;font-size:14px;border-bottom:1px solid var(--panel-border)}.calendar-days-container{display:contents}.calendar-day{min-height:95px;padding:10px;border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);display:flex;flex-direction:column;justify-content:space-between;transition:var(--transition-fast)}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:#ffffff05}.day-number{font-size:14px;font-weight:600;color:var(--text-muted)}.day-info{font-size:11px;font-weight:500;padding:3px 6px;border-radius:var(--radius-sm);text-align:center}.day-info.morning{background:#0ea5e926;color:var(--primary-color)}.day-info.afternoon{background:var(--blue-bg);color:var(--blue-color)}.day-info.off{background:#ffffff0d;color:var(--text-muted)}.day-info.vacation{background:var(--success-bg);color:var(--success-color)}.calendar-day.empty{background:#0003;cursor:default}.reports-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.report-card{display:flex;flex-direction:column}.card-title-icon{display:flex;align-items:center;gap:12px;margin-bottom:25px}.card-title-icon i{width:24px;height:24px}.delay-color i,.delay-color h3{color:var(--warning-color)}.breakdown-color i,.breakdown-color h3{color:var(--danger-color)}.vacation-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:25px}.table-container{width:100%;overflow-x:auto}.app-table{width:100%;border-collapse:collapse;text-align:left}.app-table th{background:#0003;padding:14px 16px;font-size:14px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--panel-border)}.app-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--panel-border)}.app-table tbody tr:hover{background:#ffffff05}.table-large th,.table-large td{padding:18px 20px}.badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge.pending{background:var(--warning-bg);color:var(--warning-color);border:1px solid rgba(245,158,11,.3)}.badge.approved{background:var(--success-bg);color:var(--success-color);border:1px solid rgba(16,185,129,.3)}.badge.rejected{background:var(--danger-bg);color:var(--danger-color);border:1px solid rgba(239,68,68,.3)}.badge.severity-low{background:#3b82f626;color:var(--blue-color)}.badge.severity-medium{background:var(--warning-bg);color:var(--warning-color)}.badge.severity-critical{background:var(--danger-bg);color:var(--danger-color)}.badge-success{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;background:var(--success-bg);color:var(--success-color);border:1px solid rgba(16,185,129,.3)}.badge-pending{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;background:var(--warning-bg);color:var(--warning-color);border:1px solid rgba(245,158,11,.3)}.badge-critical{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;background:var(--danger-bg);color:var(--danger-color);border:1px solid rgba(239,68,68,.3)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:30px}.stat-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 20px #00000026}.stat-icon-wrapper{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon-wrapper i{width:28px;height:28px}.blue-icon{background:var(--blue-bg);color:var(--blue-color)}.red-icon{background:var(--danger-bg);color:var(--danger-color)}.orange-icon{background:var(--warning-bg);color:var(--warning-color)}.stat-data{display:flex;flex-direction:column}.stat-data span{font-size:32px;font-weight:800;line-height:1}.stat-data label{font-size:13px;color:var(--text-muted);margin-top:6px}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header-with-action h3{margin-bottom:0}.btn-text-only{background:transparent;border:none;color:var(--primary-color);font-size:14px;font-weight:600;transition:var(--transition-fast)}.btn-text-only:hover{color:var(--primary-hover);text-decoration:underline}.alerts-list{display:flex;flex-direction:column;gap:12px;max-height:380px;overflow-y:auto}.alert-item{display:flex;gap:15px;padding:14px;border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#ffffff03;transition:var(--transition-fast)}.alert-item:hover{background:#ffffff08}.alert-item.alert-delay{border-left:4px solid var(--warning-color)}.alert-item.alert-breakdown{border-left:4px solid var(--danger-color)}.alert-item-icon{display:flex;align-items:flex-start;padding-top:2px}.alert-item-icon i{width:20px;height:20px}.alert-delay .alert-item-icon i{color:var(--warning-color)}.alert-breakdown .alert-item-icon i{color:var(--danger-color)}.alert-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.alert-item-title{display:flex;justify-content:space-between;font-weight:600;font-size:14px}.alert-item-time{font-size:11px;color:var(--text-muted-dark)}.alert-item-desc{font-size:13px;color:var(--text-muted)}.alert-item-meta{font-size:12px;color:var(--text-muted-dark);margin-top:4px}.alert-item-resolved{border-left:4px solid var(--success-color)!important;opacity:.6}.alert-item-resolved .alert-item-icon i{color:var(--success-color)}.btn-table-action{background:#ffffff0d;border:1px solid var(--panel-border);color:var(--text-main);padding:6px 12px;font-size:12px;font-weight:600;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:6px;transition:var(--transition-fast)}.btn-table-action:hover{background:var(--primary-color);border-color:var(--primary-color)}.btn-approve{background:var(--success-bg);border:1px solid rgba(16,185,129,.3);color:var(--success-color)}.btn-approve:hover{background:var(--success-color);color:#000;box-shadow:0 0 10px #10b9814d}.btn-reject{background:var(--danger-bg);border:1px solid rgba(239,68,68,.3);color:var(--danger-color)}.btn-reject:hover{background:var(--danger-color);color:var(--text-main);box-shadow:0 0 10px #ef44444d}.settings-card-branding{margin-bottom:30px}.settings-branding-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr;gap:25px;align-items:flex-end}.color-picker-wrapper{display:flex;align-items:center;gap:12px;background:#0003;border:1px solid var(--panel-border);padding:6px 12px;border-radius:var(--radius-md)}.color-picker-wrapper input[type=color]{background:transparent;border:none;width:32px;height:32px;cursor:pointer;padding:0}.color-hex-label{font-size:14px;font-weight:600;font-family:monospace}.button-align{height:45px;display:flex;align-items:flex-end}.settings-crud-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:25px}.crud-card{display:flex;flex-direction:column}.card-wide{grid-column:span 1}.crud-form{display:flex;gap:10px;margin-bottom:20px}.crud-form-multiline{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;background:#00000026;border:1px solid var(--panel-border);padding:15px;border-radius:var(--radius-md)}.form-row-mini{display:flex;gap:10px}.form-row-mini input:first-child{flex:1}.form-row-mini input:last-child{flex:3}.btn-icon-only{width:45px;height:45px;background:var(--primary-color);color:var(--text-main);border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.btn-icon-only:hover{background:var(--primary-hover);transform:scale(1.05)}.crud-list{list-style:none;display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.crud-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#ffffff05;border:1px solid var(--panel-border);border-radius:var(--radius-sm);font-size:14px}.btn-delete-item{background:transparent;border:none;color:var(--text-muted-dark);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.btn-delete-item:hover{color:var(--danger-color)}.btn-delete-item i{width:16px;height:16px}.crud-list-large{list-style:none;display:flex;flex-direction:column;gap:10px;max-height:250px;overflow-y:auto}.crud-list-large li{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 18px;background:#ffffff05;border:1px solid var(--panel-border);border-radius:var(--radius-md)}.crud-route-info{display:flex;flex-direction:column;gap:6px;flex:1}.crud-route-header{display:flex;align-items:center;gap:10px}.crud-route-num{background:#ffffff14;padding:2px 8px;font-size:12px;font-weight:700;border-radius:var(--radius-sm)}.crud-route-name{font-weight:600;font-size:14px}.crud-route-stops{font-size:12px;color:var(--text-muted);line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--primary-rgb),.4)}70%{transform:scale(1.15);box-shadow:0 0 0 10px rgba(var(--primary-rgb),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--primary-rgb),0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}@media(max-width:1024px){.settings-crud-grid{grid-template-columns:1fr}.card-wide{grid-column:span 1}.driver-dashboard-grid,.vacation-grid,.reports-grid{grid-template-columns:1fr}.settings-branding-grid{grid-template-columns:1fr;gap:15px}}@media(max-width:768px){.app-body{flex-direction:column}.app-sidebar{width:100%;height:auto;position:relative;top:auto}}@keyframes sosPulse{0%,to{background-color:#b91c1c}50%{background-color:#ef4444}}@keyframes sosIconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.75}}@keyframes sosBorderPulse{0%,to{box-shadow:0 0 #ef4444cc,inset 0 0 0 3px #ef4444}50%{box-shadow:0 0 20px 6px #ef444480,inset 0 0 0 3px #fca5a5}}.sos-banner{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background-color:#b91c1c;border:none;border-bottom:3px solid #fca5a5;animation:sosPulse .8s ease-in-out infinite,sosBorderPulse .8s ease-in-out infinite;z-index:9000;position:relative}.sos-banner.hidden{display:none!important}.sos-banner-content{display:flex;align-items:center;gap:14px;flex:1}.sos-banner-content strong{display:block;color:#fff;font-size:1rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.4)}.sos-banner-content span{display:block;color:#ffffffeb;font-size:.88rem;margin-top:3px;font-weight:500}.sos-banner .pulse-icon{color:#ef4444;width:28px;height:28px;flex-shrink:0;animation:sosIconPulse 1s ease-in-out infinite}.btn-sos-resolve{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;font-family:Outfit,sans-serif;box-shadow:0 4px 15px #ef444466;transition:transform .15s,box-shadow .15s}.btn-sos-resolve:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ef44448c}.btn-sos-resolve:active{transform:translateY(0)}.sos-banner-driver{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#ef444433;border:1px solid rgba(239,68,68,.5);border-radius:var(--radius-md);margin-bottom:16px;color:#ef4444;font-weight:700;font-size:.9rem;animation:sosPulse 1s ease-in-out infinite}.sos-banner-driver.hidden{display:none!important}.wizard-color-chip{width:100%;aspect-ratio:1;border-radius:10px;cursor:pointer;transition:transform .15s,outline .15s;outline:3px solid transparent;outline-offset:2px}.wizard-color-chip:hover{transform:scale(1.12)}#onboarding-wizard input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}#wizard-btn-next{transition:opacity .2s,transform .15s}#wizard-btn-next:hover{opacity:.9;transform:translateY(-1px)}#wizard-btn-next:active{transform:translateY(0)}.msg-scope-btn{flex:1;padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid var(--panel-border);background:transparent;color:var(--text-muted);transition:all .15s ease}.msg-scope-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.msg-scope-btn.msg-scope-active{background:rgba(var(--primary-rgb),.15);border-color:var(--primary-color);color:var(--primary-color);font-weight:700}body{background-color:var(--bg-dark);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{background:radial-gradient(ellipse at 18% 22%,rgba(45,212,191,.07) 0%,transparent 52%),radial-gradient(ellipse at 82% 78%,rgba(167,139,250,.05) 0%,transparent 55%),var(--bg-darker)}.login-container:before{background-image:linear-gradient(rgba(45,212,191,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(45,212,191,.02) 1px,transparent 1px);background-size:64px 64px;opacity:.6}.login-card{background:#141d2ee0;border:1px solid var(--panel-border);border-radius:20px;box-shadow:0 24px 56px #0000006b,0 0 0 1px #2dd4bf0a,inset 0 1px #ffffff08}.login-card:before{background:linear-gradient(90deg,transparent,rgba(45,212,191,.35),transparent)}.logo i{color:var(--primary-color);filter:drop-shadow(0 0 6px rgba(59,130,246,.5))}.trial-badge-login{background:#f59e0b14;border-color:#f59e0b33;color:#f59e0b}.trial-badge-login i{display:none}.login-tab.active{background:var(--primary-color);color:#0a1019;box-shadow:0 4px 14px #2dd4bf47}.login-tabs{background:#0006;border-color:var(--panel-border)}.btn-primary{background:var(--primary-color);border-radius:var(--radius-md);font-weight:700}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 16px #3b82f659}.app-header{background:var(--panel-bg-solid);border-bottom:1px solid var(--panel-border);height:62px}.trial-indicator{background:#f59e0b14;border-color:#f59e0b2e;color:#f59e0b;font-size:12px}.trial-indicator i{display:none}.role-toggle{background:#3b82f614;border-color:#3b82f633;border-radius:var(--radius-sm)}.role-toggle span{color:var(--primary-color);font-size:12px}.user-avatar{background:#3b82f61a;border-color:#3b82f633;color:var(--primary-color);border-radius:50%}.btn-logout{background:#ef444414;border-color:#ef444426;border-radius:var(--radius-sm)}.btn-logout:hover{background:var(--danger-color);border-color:var(--danger-color)}.app-sidebar{background:#0a0a18;border-right:1px solid var(--panel-border);width:230px;padding:16px 10px;top:62px;height:calc(100vh - 62px)}.nav-item{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;gap:10px;color:var(--text-muted);border:1px solid transparent}.nav-item i{width:16px;height:16px}.nav-item:hover{background:#ffffff08;color:var(--text-main);border-color:transparent}.nav-item.active{background:#3b82f61a;border-color:#3b82f633;color:var(--text-main);font-weight:600}.nav-item.active i{color:var(--primary-color)}.sidebar-footer{font-size:11px;color:var(--text-muted-dark);border-color:var(--panel-border)}.app-main{background:var(--bg-dark);padding:24px}.app-main:before{display:none}.card{background:#111127;border:1px solid var(--panel-border);border-radius:var(--radius-md);backdrop-filter:none;box-shadow:none;padding:20px}.card:hover{border-color:var(--panel-border-hover)}.card h3{font-size:15px;font-weight:600;margin-bottom:16px;gap:8px}.card h3 i{width:16px;height:16px;color:var(--primary-color)}.stat-item{background:#ffffff05;border:1px solid var(--panel-border);border-radius:var(--radius-sm)}.route-number{border-radius:var(--radius-md);font-size:28px;width:58px;height:58px}.route-info-big{background:#00000040;border-color:var(--panel-border);border-radius:var(--radius-md)}input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{background:#00000059;border-color:var(--panel-border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-main)}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61f;background:#0006}.panel{background:#111127;border:1px solid var(--panel-border);border-radius:var(--radius-md)}.btn-quick-report{border-radius:var(--radius-md)!important;font-size:.8rem!important;min-height:56px}.toast{background:#1a1a30;border:1px solid var(--panel-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080}.toast-success{border-left:3px solid var(--success-color)}.toast-error{border-left:3px solid var(--danger-color)}.toast-info{border-left:3px solid var(--primary-color)}.toast-warning{border-left:3px solid var(--warning-color)}.modal-backdrop{background:#000000bf;backdrop-filter:blur(6px)}#global-confirm-modal .modal-content,#global-confirm-modal>div>div{background:#111127!important;border:1px solid var(--panel-border)!important;border-radius:var(--radius-lg)!important}.sos-banner{background:linear-gradient(135deg,#ef444426,#ef444414);border-color:#ef44444d}.btn-sos-emergency{border-radius:var(--radius-md)!important;font-weight:800;letter-spacing:1px}@media(max-width:640px){.app-sidebar{display:none!important}.app-main{padding:16px 14px calc(var(--mobile-nav-h) + 16px)}.app-header{height:56px;padding:0 14px}.app-header .header-left{gap:12px}.trial-indicator{font-size:10px;padding:4px 10px}.logo{font-size:20px;gap:8px}.logo i{width:22px;height:22px}.user-details{display:none}.quick-reports-card .btn-quick-report{min-height:72px!important;font-size:.78rem!important;gap:8px!important;border-radius:12px!important}.quick-reports-card .btn-quick-report i{width:26px!important;height:26px!important}.driver-dashboard-grid{grid-template-columns:1fr!important;gap:14px}.driver-dashboard-grid-two{grid-template-columns:1fr!important}.nav-notification-badge{font-size:9px}}#fp-mobile-nav{display:none}@media(max-width:640px){#fp-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-h);background:#0d0d1a;border-top:1px solid var(--panel-border);z-index:500;justify-content:space-around;align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0px)}}.fp-nav-btn{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:8px 4px;color:var(--text-muted);transition:color .15s;position:relative}.fp-nav-btn .fp-nav-icon{font-size:22px;line-height:1}.fp-nav-btn .fp-nav-label{font-size:10px;font-weight:500;letter-spacing:.2px}.fp-nav-btn.active{color:var(--primary-color)}.fp-nav-btn.active .fp-nav-icon{filter:drop-shadow(0 0 6px rgba(59,130,246,.5))}.fp-nav-badge{position:absolute;top:6px;right:calc(50% - 14px);width:8px;height:8px;background:var(--danger-color);border-radius:50%;border:1.5px solid var(--panel-bg-solid);display:none}.fp-nav-badge.visible{display:block}.fp-nav-btn.fp-nav-sos,.fp-nav-btn.fp-nav-sos.active{color:#ef4444}@media(max-width:640px){.v9-status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:14px}.v9-chip-green{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);color:#4ade80}.v9-chip-dot{width:6px;height:6px;border-radius:50%;background:#22c55e}.v9-driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.v9-action-btn{background:#111127;border:1px solid var(--panel-border);border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--text-main);font-size:12px;font-weight:500;text-align:center;line-height:1.3;transition:background .15s,border-color .15s}.v9-action-btn:hover,.v9-action-btn:active{background:#1a1a35;border-color:var(--panel-border-hover)}.v9-action-btn .v9-action-icon{font-size:24px}.v9-action-btn.v9-action-sos{background:#1c0909;border-color:#7f1d1d;color:#fca5a5}}@media(min-width:641px){.dispatcher-stat-card{background:#111127;border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:14px 16px}.dispatcher-stat-value{font-size:28px;font-weight:700;color:var(--text-main)}.dispatcher-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-section{animation:fadeSlide .25s ease-out}.sidebar-footer p{color:var(--text-muted-dark);font-size:11px}
