@charset "UTF-8";:root{--font-primary: Outfit, sans-serif;--font-heading: Roboto Slab, serif;--bg-main: #F8FAFC;--bg-surface: #FFFFFF;--bg-surface-rgb: 255, 255, 255;--bg-surface-lighter: #F1F5F9;--bg-surface-lighter-rgb: 241, 245, 249;--accent: #C5A059;--accent-hover: #A6864A;--text-primary: #0F172A;--text-secondary: #64748B;--border-color: rgba(0, 0, 0, .08);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .05);--grad-primary: linear-gradient(135deg, #C5A059, #8E703C);--header-height: 72px;--modal-backdrop: rgba(10, 12, 16, .3)}:root[data-theme=dark]{--bg-main: #050608;--bg-surface: #0E1015;--bg-surface-rgb: 18, 21, 28;--bg-surface-lighter: #181B22;--bg-surface-lighter-rgb: 30, 35, 46;--accent: #C5A059;--accent-hover: #A6864A;--text-primary: #FFFFFF;--text-secondary: #8E9BAE;--border-color: rgba(255, 255, 255, .05);--glass-bg: rgba(14, 16, 21, .8);--glass-border: rgba(255, 255, 255, .1);--modal-backdrop: rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--bg-main);color:var(--text-primary);line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700}a{text-decoration:none;color:inherit}.dashboard-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--bg-main)}@media(max-width:1280px){.dashboard-layout{height:100vh;height:100dvh;overflow:hidden}}.dashboard-layout>main{flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;padding-bottom:0!important}@media(max-width:1280px){.dashboard-layout>main{overflow-y:auto}}.content-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.dashboard-content-main{padding:24px 32px 32px}@media(max-width:1024px){.dashboard-content-main{padding:20px}}@media(max-width:768px){.dashboard-content-main{padding:16px}}@media(max-width:480px){.dashboard-content-main{padding:12px}}.container{width:100%;max-width:1440px;margin:0 auto}@media(max-width:1280px){.container{max-width:100%}}.btn{display:flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;gap:8px;font-size:.85rem}.btn-primary{background:var(--grad-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #c5a0594d}.btn-secondary{background:var(--bg-surface-lighter);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-surface)!important;border-color:var(--accent)!important;color:var(--text-primary)!important}.btn-sm{padding:8px 16px;font-size:.75rem}.btn-theme-toggle{background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-primary);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.btn-theme-toggle:hover{background:var(--bg-surface);border-color:var(--accent);color:var(--accent)}.btn-theme-toggle .icon-sun{display:block}.btn-theme-toggle .icon-moon,[data-theme=dark] .btn-theme-toggle .icon-sun{display:none}[data-theme=dark] .btn-theme-toggle .icon-moon{display:block}.btn-theme-toggle svg{width:20px;height:20px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s ease}.card:hover{border-color:#c5a0594d}.card.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.card-featured{border-top:3px solid var(--accent)}.form-group{margin-bottom:20px;text-align:left}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px;margin-left:4px}.form-input{width:100%;background:var(--bg-surface-lighter);border:1px solid var(--border-color);padding:14px 16px;border-radius:12px;color:var(--text-primary);font-size:.85rem;transition:all .3s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--accent);background:var(--bg-surface);box-shadow:0 0 0 4px #00d4ff1a}.form-input::placeholder{color:var(--text-secondary);opacity:.5}.form-error,.text-danger{display:block;margin-top:6px;color:#dc3545;font-size:12px;font-weight:600;line-height:1.35}.form-input.input-error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451f}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.form-check-label-custom{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:all .2s ease;-webkit-user-select:none;user-select:none;line-height:1.2!important;margin-bottom:0!important}.form-check-label-custom:hover{color:var(--accent)}.form-check-label-custom input[type=radio]{-webkit-appearance:none;appearance:none;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;flex-shrink:0;border:2px solid rgba(197,160,89,.4);border-radius:50%;margin:0!important;padding:0!important;box-sizing:border-box!important;cursor:pointer;position:relative;background:transparent;transition:all .2s ease;display:inline-block!important}.form-check-label-custom input[type=radio]:checked{border-color:var(--accent)}.form-check-label-custom input[type=radio]:checked:after{content:"";width:10px;height:10px;background:var(--accent);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 5px #c5a05980}.form-check-label-custom input[type=radio]:hover:not(:checked){border-color:var(--accent)}.form-check-label-sm{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.75rem;color:var(--text-secondary);transition:color .2s ease;-webkit-user-select:none;user-select:none}.form-check-label-sm:hover{color:var(--text-primary)}.accent-input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border-color);background:var(--bg-surface-lighter);border-radius:4px;cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0;margin:0!important;padding:0!important;box-sizing:border-box!important}.accent-input[type=radio]{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border:2px solid rgba(197,160,89,.4);border-radius:50%}.accent-input[type=radio]:checked{border-color:var(--accent)}.accent-input[type=radio]:checked:after{content:"";width:12px;height:12px;background:var(--accent);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.accent-input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.accent-input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.v-separator{width:1px;height:40px;background:var(--accent);opacity:.5;margin:0 8px}.btn-icon-circle{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;background:var(--accent);border:none;color:#fff;transition:all .3s ease;box-shadow:0 4px 10px #c5a0594d}.btn-icon-circle:hover{transform:scale(1.1);background:var(--accent-hover);box-shadow:0 6px 15px #c5a05966}.gap-4{gap:24px!important}.gap-5{gap:32px!important}.top-nav{grid-area:nav;height:auto;min-height:80px;display:flex;align-items:center;padding:16px 32px;justify-content:space-between;z-index:3000;gap:24px;overflow:visible!important;border-bottom:1px solid var(--border-color);background:var(--bg-surface)}@media(max-width:1024px){.top-nav{min-height:72px;padding:12px 24px}}@media(max-width:768px){.top-nav{min-height:64px;padding:8px 16px;gap:12px}}@media(max-width:480px){.top-nav{padding:8px 12px;gap:8px}}.logo-section{display:flex;align-items:center;gap:16px}.logo-section .btn-mobile-menu{display:none;background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;width:42px;height:42px;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);align-items:center;justify-content:center}@media(max-width:1024px){.logo-section .btn-mobile-menu{display:flex}}@media(max-width:480px){.logo-section .btn-mobile-menu{width:38px;height:38px;border-radius:10px}}.logo-section .btn-mobile-menu:hover,.logo-section .btn-mobile-menu.active{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.05)}.nav-logo-img{height:32px;width:auto;transition:all .3s cubic-bezier(.16,1,.3,1)}.nav-logo-img:hover{transform:scale(1.05)}[data-theme=dark] .nav-logo-img{height:32px}.mobile-drawer-header{display:none;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--border-color);align-items:center;justify-content:space-between}@media(max-width:1024px){.mobile-drawer-header{display:flex}}.btn-close-drawer{background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-primary);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.btn-close-drawer:hover{background:#ff4d4d;color:#fff;border-color:#ff4d4d;transform:rotate(90deg)}.mobile-drawer-logo{height:36px;width:auto}.nav-links{display:flex;gap:4px}@media(max-width:1024px){.nav-links{position:fixed;top:0;left:-320px;width:300px;height:100vh;background:var(--bg-surface);flex-direction:column;padding:40px 24px 24px;gap:8px;transition:all .5s cubic-bezier(.16,1,.3,1);border-right:1px solid var(--border-color);box-shadow:25px 0 60px #0003;z-index:9999;overflow-y:auto}.nav-links.active{left:0}.nav-links .nav-item{width:100%;justify-content:flex-start;padding:14px 20px;font-size:16px;border-radius:12px}.nav-links .nav-item .chevron{margin-left:auto}.nav-links .dropdown-content{position:static;display:none;background:rgba(var(--bg-surface-rgb),.05);box-shadow:none;border:none;padding:4px 0 4px 32px;margin-top:4px;border-radius:12px}.nav-links .dropdown-content:before{display:none}.nav-links .dropdown-content a{padding:10px 16px;font-size:14px}.nav-links .dropdown.active .dropdown-content{display:block}}@media(max-width:480px){.nav-links{width:280px;left:-300px}}.nav-item{background:transparent;border:none;color:var(--text-secondary);padding:8px 12px;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:500;font-size:.85rem;transition:all .3s ease;display:flex;align-items:center;gap:6px;text-decoration:none!important}.nav-item a{text-decoration:none!important}.nav-item .chevron{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;transition:transform .3s ease}.nav-item:hover,.nav-item.active{color:#fff!important;background:var(--accent)!important;text-decoration:none!important}.nav-item.active{color:var(--accent);background:rgba(var(--bg-surface-rgb),.1)}.nav-item.active:hover{color:#fff}.user-profile-section{display:flex;align-items:center;gap:20px}@media(max-width:1024px){.user-profile-section{gap:12px}}.user-profile-section .btn-global-search-nav{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.user-profile-section .btn-global-search-nav:hover{background:var(--bg-surface-lighter);color:var(--accent);border-color:var(--accent)}.user-profile-section .btn-theme-toggle{width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}@media(max-width:768px){.user-profile-section .btn-theme-toggle{width:32px;height:32px}}.user-profile-section .btn-theme-toggle:hover{background:var(--bg-surface-lighter);color:var(--accent);border-color:var(--accent)}.user-profile-section .btn-global-search-nav{width:36px;height:36px;border-radius:8px}@media(max-width:768px){.user-profile-section .btn-global-search-nav{width:32px;height:32px}.user-profile-section .btn-global-search-nav svg{width:16px;height:16px}}.user-profile{display:flex;align-items:center;gap:10px;cursor:pointer}.user-profile .user-info{text-align:right}@media(max-width:768px){.user-profile .user-info{display:none}}.user-profile .avatar{width:36px;height:36px}@media(max-width:480px){.user-profile .avatar{width:32px;height:32px;font-size:13px}}.avatar{width:40px;height:40px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent)}.dropdown{position:relative}.dropdown:hover .dropdown-content,.dropdown.active .dropdown-content{display:block}.dropdown:hover .chevron,.dropdown.active .chevron{transform:rotate(180deg)}@media(max-width:1024px){.dropdown .dropdown-content{display:none;max-height:0;overflow:hidden;transition:max-height .3s ease;position:static;background:transparent;box-shadow:none;border:none;padding-left:20px}.dropdown.active .dropdown-content{display:block;max-height:500px}.dropdown.user-profile .dropdown-content{position:absolute;right:0;left:auto;display:none;max-height:none;width:220px;padding:8px;background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:0 10px 30px #0006}.dropdown.user-profile.active .dropdown-content{display:block}}.dropdown-content{position:absolute;top:100%;left:0;min-width:180px;padding:12px;margin-top:8px;display:none;z-index:9999;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:0 10px 30px #0006}.dropdown-content:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.dropdown-content a{display:block;padding:10px 16px;color:var(--text-secondary);text-decoration:none;font-size:.75rem;border-radius:8px;transition:all .2s ease}.dropdown-content a:hover{background:var(--accent)!important;color:#fff!important}[data-theme=light] .dropdown-content{background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 30px #0000001a}.profile-dropdown{right:0;left:auto;min-width:220px;padding:8px}.profile-dropdown .dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--text-secondary);text-decoration:none;font-size:13px;border-radius:10px;transition:all .2s cubic-bezier(.16,1,.3,1)}.profile-dropdown .dropdown-item svg{opacity:.7;transition:all .2s ease}.profile-dropdown .dropdown-item:hover{background:var(--bg-surface-lighter)!important;color:var(--accent)!important;transform:translate(4px)}.profile-dropdown .dropdown-item:hover svg{opacity:1;color:var(--accent)}.profile-dropdown .dropdown-divider{height:1px;background:var(--border-color);margin:8px 4px}.profile-dropdown .logout-link{color:#ff4d4d!important}.profile-dropdown .logout-link:hover{background:#ff4d4d1a!important;color:#ff4d4d!important}.profile-dropdown .logout-link:hover svg{color:#ff4d4d!important}.portal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 24px;border-top:1px solid #eee;background:#fff;z-index:100}.portal-footer .footer-copy{font-size:13px;color:var(--text-secondary)}.portal-footer .footer-links{display:flex;align-items:center;gap:10px}.portal-footer .footer-link{font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.portal-footer .footer-link:hover{color:var(--accent)}.portal-footer .footer-divider{font-size:12px;color:var(--border-color)}.side-panel{position:absolute;top:24px;width:320px;max-height:calc(100% - 48px);display:flex;flex-direction:column;border-radius:24px;z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(var(--bg-surface-rgb),.85);border:1px solid var(--border-color);box-shadow:0 20px 40px #0006;transition:all .3s ease;overflow:hidden;pointer-events:auto}@media(max-width:1024px){.side-panel{width:300px}}@media(max-width:768px){.side-panel{width:280px;background:var(--bg-surface)}}.jobs-panel{left:24px}.drivers-panel{right:24px}.dashboard-tabs{display:none;padding:4px;gap:2px;position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:2500;background:rgba(var(--bg-surface-rgb),.7);-webkit-backdrop-filter:blur(25px) saturate(180%);backdrop-filter:blur(25px) saturate(180%);border:1px solid var(--border-color);border-radius:100px;box-shadow:0 10px 40px #0000004d}@media(max-width:768px){.dashboard-tabs{display:flex!important;flex-direction:row!important;position:fixed!important;bottom:24px!important;left:50%!important;top:auto!important;transform:translate(-50%)!important;margin:0!important;width:fit-content!important;height:48px!important;z-index:5000!important;box-shadow:0 8px 30px #00000080!important;background:rgba(var(--bg-surface-rgb),.9)!important;padding:4px!important}}.dashboard-tabs .btn-tab{background:transparent;border:none;padding:8px 20px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);white-space:nowrap;height:100%;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.dashboard-tabs .btn-tab{padding:0 16px;font-size:10px}}.dashboard-tabs .btn-tab:hover{color:var(--text-primary)}.dashboard-tabs .btn-tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 15px rgba(var(--accent-rgb),.4)}.panel-header{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.panel-header h2{font-size:14px;font-weight:600}.panel-header .header-actions{display:flex;align-items:center;gap:8px}.panel-header .btn-close-panel{display:none;background:#ffffff0d;border:1px solid var(--border-color);width:24px;height:24px;border-radius:6px;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}@media(max-width:768px){.panel-header .btn-close-panel{display:flex}}.panel-header .btn-close-panel:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--text-secondary)}.search-bar{padding:8px 16px}.search-bar input{width:100%;background:#ffffff0d;border:1px solid var(--border-color);padding:8px 12px;border-radius:8px;color:#fff;font-size:12px}.search-bar input:focus{outline:none;border-color:var(--accent)}.panel-list{flex:1;overflow-y:auto;padding:12px}.list-item{padding:10px 14px;border-radius:12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s ease;margin-bottom:4px;border:1px solid transparent}.list-item:hover{background:rgba(var(--bg-surface-lighter-rgb),.5);border-color:var(--border-color);transform:translate(2px)}.item-details{flex:1}.item-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.item-sub{font-size:.75rem;color:var(--text-secondary)}.item-id{font-size:10px;font-weight:700;color:var(--accent);background:#00d4ff1a;padding:2px 6px;border-radius:4px}.item-route{font-size:.85rem;font-weight:500}.item-status{font-size:.75rem;color:var(--text-secondary)}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.online{background:#00ff94;box-shadow:0 0 8px #00ff94}@media(max-width:768px){.dashboard-content{background:var(--bg-main)}.map-container{height:100%;width:100%;flex:1;position:relative;z-index:1}#map{height:100%!important;width:100%!important;display:block}.side-panel{position:fixed;inset:auto 0 0;margin:0;width:100%;height:auto;max-height:70vh;border-radius:24px 24px 0 0;z-index:4500;display:none;background:var(--bg-surface);box-shadow:0 -10px 40px #0006;pointer-events:auto}.side-panel.active{display:flex;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.floating-stats{display:none}}@media(max-width:640px){.side-panel{max-height:85vh}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quick-stats-container{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:auto;min-width:600px;padding:0;background:transparent!important;border:none!important;z-index:3000;pointer-events:none}@media(max-width:1024px){.quick-stats-container{position:relative;bottom:auto;left:auto;transform:none;width:100%;min-width:0;padding:12px 16px;background:var(--bg-surface)!important;pointer-events:auto}}.quick-stats{display:flex;justify-content:center;gap:20px;width:100%;pointer-events:auto}@media(max-width:1024px){.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}}.quick-stats .stat-card{flex:1;min-width:180px;padding:16px 24px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff!important;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 40px #00000026;transition:all .3s ease}@media(max-width:1024px){.quick-stats .stat-card{padding:8px 4px;min-width:0}}.quick-stats .stat-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 30px #c5a05926}.quick-stats .stat-card .stat-value{font-family:var(--font-heading);font-size:24px;font-weight:700;color:var(--accent)}@media(max-width:1024px){.quick-stats .stat-card .stat-value{font-size:16px}}.quick-stats .stat-card .stat-label{font-size:10px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1024px){.quick-stats .stat-card .stat-label{font-size:8px}}.badge{background:var(--bg-surface-lighter);padding:4px 10px;border-radius:20px;font-size:.75rem;color:var(--accent)}.jobs-table-container,.table-responsive,.table-responsive-wrapper,.portal-users-table-container{width:100%;overflow-x:auto;overflow-y:auto;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px #0000000d;height:fit-content;max-height:calc(100vh - 180px);position:relative;background:transparent;margin-bottom:0}.jobs-table-container::-webkit-scrollbar,.table-responsive::-webkit-scrollbar,.table-responsive-wrapper::-webkit-scrollbar,.portal-users-table-container::-webkit-scrollbar{height:12px;width:12px}.jobs-table-container::-webkit-scrollbar-track,.table-responsive::-webkit-scrollbar-track,.table-responsive-wrapper::-webkit-scrollbar-track,.portal-users-table-container::-webkit-scrollbar-track{background:transparent}.jobs-table-container::-webkit-scrollbar-thumb,.table-responsive::-webkit-scrollbar-thumb,.table-responsive-wrapper::-webkit-scrollbar-thumb,.portal-users-table-container::-webkit-scrollbar-thumb{background:var(--text-secondary);opacity:.3;border-radius:6px;border:3px solid transparent;background-clip:content-box}.jobs-table-container::-webkit-scrollbar-thumb:hover,.table-responsive::-webkit-scrollbar-thumb:hover,.table-responsive-wrapper::-webkit-scrollbar-thumb:hover,.portal-users-table-container::-webkit-scrollbar-thumb:hover{background:var(--accent);opacity:1}.data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px;text-align:left;background:transparent;position:relative}.data-table thead{position:sticky;top:0;z-index:20}.data-table thead tr{background:var(--bg-surface-lighter)!important}.data-table tbody tr{background:var(--bg-surface);transition:background .2s ease;border-bottom:1px solid var(--border-color)}.data-table tbody tr:hover{background:var(--bg-surface-lighter)}.data-table tbody tr:last-child td{border-bottom:none}.data-table th,.data-table td{padding:16px 20px;white-space:nowrap;vertical-align:middle}.jobs-table-container .data-table th[data-col="9"],.jobs-table-container .data-table td[data-col="9"]{width:120px;min-width:120px;max-width:120px}.jobs-table-container .data-table th[data-col="10"],.jobs-table-container .data-table td[data-col="10"]{width:140px;min-width:140px;max-width:140px}.jobs-table-container .data-table td[data-col="9"],.jobs-table-container .data-table td[data-col="10"]{overflow:hidden;text-overflow:ellipsis}.data-table th{background:var(--bg-surface-lighter);font-size:12px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;color:var(--text-primary);padding:16px 20px;position:sticky;top:0;z-index:10;border:1px solid rgba(255,255,255,.3)!important;box-shadow:0 1px 0 var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.data-table td input[type=text],.data-table td select{background:#fffc;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:4px 8px;font-size:13px;color:#000;height:28px}.data-table [data-theme=dark] td input[type=text],.data-table [data-theme=dark] td select{background:#0003;color:var(--text-primary);border-color:#ffffff1a}.data-table .table-input{width:120px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:6px;padding:4px 10px;font-size:13px;color:var(--text-primary);transition:all .2s ease}.data-table .table-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #46a2c926;background:var(--bg-surface)}.data-table .table-input::placeholder{color:var(--text-secondary);opacity:.5}.data-table .btn-table-action{padding:6px 16px;font-size:11px;font-weight:500;border-radius:8px;cursor:pointer;border:none;transition:all .2s ease;background:var(--grad-primary);color:#fff;text-transform:capitalize}.data-table .btn-table-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4aa0ca4d;filter:brightness(1.1)}.data-table .btn-accept{background:linear-gradient(135deg,#28a745,#218838);box-shadow:0 4px 12px #28a74533}.data-table .btn-accept:hover{box-shadow:0 6px 15px #28a7454d!important}.data-table .btn-reject{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 12px #dc354533}.data-table .btn-reject:hover{box-shadow:0 6px 15px #dc35454d!important}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}@media(max-width:768px){.table-toolbar{flex-direction:column;align-items:flex-start;gap:16px}}.table-toolbar .page-title{font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.column-dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;width:600px;max-width:calc(100vw - 32px);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:none;z-index:100;box-shadow:0 15px 35px #0000004d}@media(max-width:1024px){.column-dropdown-menu{width:450px}}@media(max-width:640px){.column-dropdown-menu{width:320px}}.column-dropdown-menu.active{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}@media(max-width:1024px){.column-dropdown-menu.active{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.column-dropdown-menu.active{grid-template-columns:1fr}}.column-dropdown-menu .column-item{display:flex;align-items:center;gap:10px}.column-dropdown-menu .column-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.column-dropdown-menu .column-item label{font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.column-dropdown-menu .column-item label:hover{color:var(--text-primary)}.hidden{display:none!important}.global-search-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.global-search-overlay.active{display:flex;opacity:1}.global-search-overlay.active .search-modal-container{transform:translateY(0) scale(1)}.search-modal-container.live-site-style{width:95%;max-width:1400px;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;color:#333}.search-modal-container.live-site-style .search-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #eee}.search-modal-container.live-site-style .search-modal-header .header-title{font-size:14px;font-weight:500;color:#666}.search-modal-container.live-site-style .search-modal-header .btn-close-search-modal{background:none;border:none;color:#999;cursor:pointer;padding:4px}.search-modal-container.live-site-style .search-modal-header .btn-close-search-modal:hover{color:#333}.search-modal-container.live-site-style .search-modal-body{padding:0;display:flex;flex-direction:column;background:#fff}.search-modal-container.live-site-style .search-modal-body .top-actions{display:flex;justify-content:flex-end;padding:10px 20px}.search-modal-container.live-site-style .search-modal-body .top-actions .btn-columns{background:none;border:none;display:flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer;font-weight:500}.search-modal-container.live-site-style .search-modal-body .search-bar-section{display:flex;justify-content:center;padding:20px}.search-modal-container.live-site-style .search-modal-body .search-bar-section .search-input-group{display:flex;width:100%;max-width:600px;height:44px;border:1px solid #ddd;border-radius:4px;overflow:hidden}.search-modal-container.live-site-style .search-modal-body .search-bar-section .search-input-group input{flex:1;border:none;padding:0 15px;font-size:16px;outline:none}.search-modal-container.live-site-style .search-modal-body .search-bar-section .search-input-group input::placeholder{color:#ccc}.search-modal-container.live-site-style .search-modal-body .search-bar-section .search-input-group .btn-search-trigger{width:44px;background:#343a40;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.search-modal-container.live-site-style .search-modal-body .search-bar-section .search-input-group .btn-search-trigger:hover{background:#23272b}.search-modal-container.live-site-style .search-modal-body .results-info{text-align:center;padding:10px}.search-modal-container.live-site-style .search-modal-body .results-info .results-count{font-size:24px;color:#333;font-weight:400}.search-modal-container.live-site-style .search-modal-body .search-tabs-section{display:flex;justify-content:center;padding:15px}.search-modal-container.live-site-style .search-modal-body .search-tabs-section .search-categories-nav{display:flex;gap:10px}.search-modal-container.live-site-style .search-modal-body .search-tabs-section .search-categories-nav .cat-tab{background:#e9ecef;border:1px solid #ced4da;padding:6px 15px;border-radius:4px;font-size:13px;color:#495057;cursor:pointer;transition:all .2s}.search-modal-container.live-site-style .search-modal-body .search-tabs-section .search-categories-nav .cat-tab.active{background:#002b1b;color:#fff;border-color:#002b1b}.search-modal-container.live-site-style .search-results-viewport{flex:1;overflow:auto;padding:0 20px 20px}.search-modal-container.live-site-style .live-portal-table{width:100%;border-collapse:collapse;font-size:12px}.search-modal-container.live-site-style .live-portal-table th,.search-modal-container.live-site-style .live-portal-table td{border:1px solid #333;padding:8px 10px;text-align:center;white-space:nowrap}.search-modal-container.live-site-style .live-portal-table th{background:#fff;color:#000;font-weight:700;vertical-align:middle}.search-modal-container.live-site-style .live-portal-table td{color:#333}.search-modal-container.live-site-style .live-portal-table .btn-columns{background:none;border:none;display:flex;align-items:center;gap:4px;font-size:11px;color:#333;cursor:pointer;margin:0 auto}.search-modal-container.live-site-style .search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.search-modal-container.live-site-style .search-empty-state .empty-icon{margin-bottom:15px;opacity:.2}.search-modal-container.live-site-style .search-empty-state h3{color:#333;font-weight:500}.login-container{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,rgba(0,212,255,.05),transparent 40%),radial-gradient(circle at bottom left,rgba(0,114,255,.05),transparent 40%)}.login-card{width:100%;max-width:420px;margin:20px;padding:48px;text-align:center;border-radius:24px;background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080}@media(max-width:768px){.login-card{padding:32px 24px}}.login-header{margin-bottom:32px}.login-logo-img{width:180px;height:auto;margin-bottom:24px;transition:all .2s ease}[data-theme=dark] .login-logo-img{background:#fff;padding:12px 24px;border-radius:8px;width:228px}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:8px;color:#fff}.login-subtitle{color:var(--text-secondary);font-size:.85rem}.login-footer{margin-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.login-footer .forgot-password{color:var(--accent);text-decoration:none;font-weight:500}.login-footer .forgot-password:hover{text-decoration:underline}.dashboard-map-page{flex:1;min-height:0;position:relative;overflow:hidden;padding:0;background:#d5dde0;isolation:isolate}.dashboard-map-page .map-container,.dashboard-map-page #map{position:absolute;inset:0;width:100%;height:100%}.dashboard-map-page #map,.dashboard-map-page .leaflet-container{background-color:#d5dde0!important}.dashboard-map-page .side-panel{top:24px;max-height:min(430px,100% - 96px)}.dashboard-map-page .jobs-panel{left:24px;max-height:min(386px,100% - 96px)}.dashboard-map-page .drivers-panel{right:24px;max-height:min(270px,100% - 96px)}.dashboard-map-page .panel-header{flex-shrink:0}.dashboard-map-page .panel-list{min-height:0}.dashboard-map-page .quick-stats-container{bottom:20px}@media(max-width:768px){.dashboard-map-page .map-container,.dashboard-map-page #map{position:absolute;height:100%}.dashboard-map-page .side-panel{max-height:70vh}}.map-container{width:100%;height:100%;position:relative;z-index:1}#map{width:100%;height:100%;background:var(--bg-main);position:relative;z-index:1}.leaflet-container{background:var(--bg-main)!important}.leaflet-control-zoom{border:none!important;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.leaflet-control-zoom a{background:transparent!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;margin-bottom:4px}.leaflet-control-zoom a:hover{background:#ffffff1a!important}.leaflet-control-attribution{display:none!important}.map-marker{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000004d}.map-marker.pickup{background:#ff4d4d}.map-marker.dropoff{background:var(--accent)}.page-content{flex:1;padding:32px 0 0;background:var(--bg-main);overflow-y:auto;display:flex;flex-direction:column}@media(max-width:480px){.page-content{padding:16px 0 0}}.container{width:100%;max-width:1440px;margin:0 auto;padding:0}@media(max-width:1280px){.container{padding:0}}.job-form .section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:12px}.job-form .section-header h3{font-size:1.125rem;font-weight:600;color:var(--accent)}.job-form .section-header #btnAutofillJob{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-weight:600;font-size:13px;background:rgba(var(--accent-rgb),.1);border:1px solid var(--accent);color:var(--accent);transition:all .2s ease}.job-form .section-header #btnAutofillJob:hover{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.job-form .section-header #btnAutofillJob svg{flex-shrink:0}.job-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:768px){.job-form .form-grid{grid-template-columns:1fr}}.input-group{display:flex;gap:12px}.input-group .form-input{flex:1}.row{display:flex;flex-wrap:wrap;margin-right:-12px;margin-left:-12px;width:calc(100% + 24px)}[class*=col-]{padding-right:12px;padding-left:12px;display:flex;flex-direction:column}.col-md-6{flex:0 0 50%;max-width:50%}@media(max-width:992px){.col-md-6{flex:0 0 100%;max-width:100%}}.col-lg-6{flex:0 0 50%;max-width:50%}@media(max-width:992px){.col-lg-6{flex:0 0 100%;max-width:100%}}.col-lg-12{flex:0 0 100%;max-width:100%}.unit-list-container{background:rgba(var(--bg-surface-rgb),.3);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;margin-top:24px}.unit-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:24px;margin-bottom:12px;border-bottom:1px dashed var(--border-color);position:relative}.unit-row-grid:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.unit-row-grid>.form-group{margin-bottom:0;min-width:0}.unit-row-grid .unit-checkbox-row{grid-column:span 2;margin-top:12px;display:flex;flex-direction:column;gap:8px}.unit-row-grid .btn-remove-row{position:absolute;top:0;right:0;width:24px;height:24px;border-radius:6px;background:#ff4d4d1a;color:#ff4d4d;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;margin-top:0}.unit-row-grid .btn-remove-row:hover{background:#ff4d4d;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ff4d4d33}.unit-row-grid .btn-remove-row svg{pointer-events:none}.form-grid-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid-compact .form-group{margin-bottom:0}@media(max-width:768px){.form-grid-compact{grid-template-columns:1fr}}.form-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.form-grid-5 .form-group{margin-bottom:0}@media(max-width:1024px){.form-grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.form-grid-5{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.form-grid-5{grid-template-columns:1fr}}.compact-section .form-group{margin-bottom:8px}.autofill-container{position:relative;min-height:0}.autofill-search-wrapper{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px #00000026;overflow:hidden;z-index:1000;transform-origin:top;animation:slideDown .3s cubic-bezier(.16,1,.3,1) forwards}.autofill-search-wrapper .search-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-surface-lighter);gap:16px}.autofill-search-wrapper .search-header .search-input-group{flex:1;display:flex;align-items:center;gap:12px;color:var(--text-secondary)}.autofill-search-wrapper .search-header .search-input-group input{flex:1;background:transparent;border:none;outline:none;font-size:16px;color:var(--text-primary);font-weight:500}.autofill-search-wrapper .search-header .search-input-group input::placeholder{color:var(--text-secondary);opacity:.6}.autofill-search-wrapper .search-header .btn-close-search{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.autofill-search-wrapper .search-header .btn-close-search:hover{background:#ff4d4d1a;color:#ff4d4d}.autofill-search-wrapper .search-results-container{max-height:400px;overflow-y:auto;overflow-x:hidden}.autofill-search-wrapper .search-results-container .results-header{display:grid;grid-template-columns:100px 1.5fr 2fr 2fr;gap:20px;padding:12px 24px;background:var(--bg-surface-lighter);border-bottom:1px solid var(--border-color);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:600;color:var(--text-secondary)}@media(max-width:768px){.autofill-search-wrapper .search-results-container .results-header{display:none}}.autofill-search-wrapper .search-results-list .job-result-item{display:grid;grid-template-columns:100px 1.5fr 2fr 2fr;gap:20px;padding:16px 24px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;align-items:center}@media(max-width:768px){.autofill-search-wrapper .search-results-list .job-result-item{grid-template-columns:1fr;gap:8px;padding:16px}}.autofill-search-wrapper .search-results-list .job-result-item:last-child{border-bottom:none}.autofill-search-wrapper .search-results-list .job-result-item:hover{background:var(--bg-surface-lighter);background:linear-gradient(90deg,rgba(70,162,201,.05) 0%,transparent 100%);transform:translate(4px)}.autofill-search-wrapper .search-results-list .job-result-item .res-id{font-weight:700;color:var(--accent);font-family:Satoshi,sans-serif}.autofill-search-wrapper .search-results-list .job-result-item .res-customer{font-weight:600;color:var(--text-primary)}.autofill-search-wrapper .search-results-list .job-result-item .res-location{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.autofill-search-wrapper .search-results-list .job-result-item .res-location svg{width:14px;height:14px;opacity:.7}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes formHighlight{0%{box-shadow:0 0 #46a2c966}50%{box-shadow:0 0 20px 10px #46a2c933}to{box-shadow:0 0 #46a2c900}}.form-highlight{animation:formHighlight 1s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-fade-out{animation:fadeOut .3s ease-in forwards}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.page-header{margin-bottom:24px}.page-header h1{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-header p.text-secondary{margin:0;font-size:14px}.page-header-icon{width:52px;height:52px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.25);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.page-header-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:4px}.page-header-breadcrumb .breadcrumb-item{color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.page-header-breadcrumb .breadcrumb-item:hover{color:var(--accent)}.page-header-breadcrumb .breadcrumb-item.active{color:var(--text-primary);font-weight:600;cursor:default}.page-header-breadcrumb .breadcrumb-item.active:hover{color:var(--text-primary)}.page-header-breadcrumb .breadcrumb-sep{color:var(--border-color);font-size:16px}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}@media(max-width:640px){.form-grid-two{grid-template-columns:1fr}}.required{color:#ff4d4d;margin-left:2px}.input-password-wrapper{position:relative}.input-password-wrapper .form-input{padding-right:48px}.btn-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s ease}.btn-password-toggle:hover{color:var(--accent)}.password-strength-bar{margin-top:10px;display:flex;align-items:center;gap:12px}.password-strength-bar .strength-track{flex:1;height:4px;background:var(--border-color);border-radius:99px;overflow:hidden}.password-strength-bar .strength-fill{height:100%;width:0%;border-radius:99px;transition:width .3s ease,background .3s ease}.password-strength-bar .strength-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;min-width:90px;text-align:right}.permission-toggles{margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.permission-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color)}.permission-item:last-child{border-bottom:none}.permission-info{display:flex;flex-direction:column;gap:2px}.permission-name{font-size:14px;font-weight:500;color:var(--text-primary)}.permission-desc{font-size:12px;color:var(--text-secondary)}.settings-option-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-color)}.settings-option-row:last-child{border-bottom:none}.settings-option-row .setting-name{font-size:14px;font-weight:500;color:var(--text-primary)}.settings-option-row .setting-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.toggle-switch{position:relative;display:inline-flex;width:44px;height:24px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch .toggle-slider{position:absolute;inset:0;background:var(--border-color);border-radius:99px;transition:background .25s ease}.toggle-switch .toggle-slider:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.user-success-banner{margin-top:20px;display:flex;align-items:flex-start;gap:16px;background:#00ff9414;border:1px solid rgba(0,255,148,.3);border-radius:12px;padding:20px 24px;color:#00ff94;animation:fade-in-up .4s ease}.user-success-banner strong{display:block;font-size:16px;margin-bottom:4px;color:#00ff94}.user-success-banner p{font-size:13px;color:var(--text-secondary);margin:0}.user-success-banner svg{flex-shrink:0;margin-top:2px}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.roles-list{display:flex;flex-direction:column;gap:0}.role-checkbox-item{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s ease;border-radius:8px;margin:0 -8px;padding:13px 8px}.role-checkbox-item:last-child{border-bottom:none}.role-checkbox-item:hover{background:#00d4ff0a}.role-check-wrap{position:relative;width:20px;height:20px;flex-shrink:0;margin-top:2px}.role-check-wrap input[type=checkbox]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;z-index:1}.role-checkmark{position:absolute;inset:0;width:20px;height:20px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:5px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.role-checkmark:after{content:"";display:block;width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);opacity:0;transition:opacity .15s ease}.role-check-wrap input:checked+.role-checkmark{background:var(--accent);border-color:var(--accent)}.role-check-wrap input:checked+.role-checkmark:after{opacity:1}.role-info{display:flex;flex-direction:column;gap:3px;flex:1}.role-name{font-size:14px;font-weight:500;color:var(--text-primary)}.role-desc{font-size:12px;color:var(--text-secondary)}.file-upload-wrapper{display:flex;align-items:center;gap:12px;border:1px solid var(--border-color);border-radius:10px;padding:10px 14px;background:var(--bg-surface);transition:border-color .2s ease}.file-upload-label{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;padding:7px 14px;border-radius:7px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s ease,transform .15s ease}.file-upload-label:hover{background:var(--accent-hover);transform:translateY(-1px)}.file-upload-hint{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.modal-overlay{display:none;position:fixed;inset:0;background:var(--modal-backdrop);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:10000;align-items:center;justify-content:center;padding:20px;box-shadow:inset 0 0 0 100vmax var(--modal-backdrop)}.modal-new-user-window{width:100%;max-width:900px;background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 25px 50px -12px #00000026;padding:50px 60px;position:relative;overflow-y:auto;max-height:95vh}.modal-new-user-header{text-align:center;margin-bottom:35px}.modal-new-user-header h2{font-size:28px;font-weight:400;color:#334155;margin:0}.modal-new-user-header .btn-close-modal{position:absolute;right:20px;top:20px;background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer}.modal-new-user-header .btn-close-modal:hover{color:#64748b}.modal-user-form{display:flex;flex-direction:column;gap:24px}.form-row-custom{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media(max-width:768px){.form-row-custom{grid-template-columns:1fr;gap:20px}}.form-group-custom{display:flex;flex-direction:column;gap:6px}.form-group-custom.flex-2{grid-column:span 1}.form-label-custom{font-size:13px;color:#334155;font-weight:400;margin-bottom:8px}.form-input-custom{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:5px;padding:12px 14px;color:#1e293b;font-size:14px;transition:all .2s}.form-input-custom:focus{border-color:#3b82f6;outline:none}select.form-input-custom{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.file-input-wrapper{position:relative}.file-input-hidden{position:absolute;opacity:0;width:0;height:0}.file-input-label{display:flex;align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;height:46px;cursor:pointer;overflow:hidden}.btn-choose-file{background:#f1f5f9;border-right:1px solid #cbd5e1;padding:0 15px;height:100%;display:flex;align-items:center;font-size:13px;color:#475569}.file-name-label{padding:0 15px;font-size:13px;color:#94a3b8}.roles-selection-box{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:30px;margin-top:15px;box-shadow:none}.roles-box-title{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 20px}.roles-list-custom{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;padding-top:10px}.role-item-custom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #f1f5f9}.role-item-custom span{font-weight:500;color:#334155;font-size:13px}.modal-form-actions-centered{display:flex;justify-content:center;margin-top:30px}.btn-add-user-submit{background:#3b82f6;color:#fff;border:none;border-radius:10px;padding:15px 50px;font-weight:700;font-size:15px;font-family:Outfit,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 15px -3px #3b82f64d,0 4px 6px -2px #3b82f633}.btn-add-user-submit:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 20px 25px -5px #3b82f666,0 10px 10px -5px #3b82f64d}.btn-add-user-submit:active{transform:translateY(0)}.dedicated-add-user-container{max-width:900px;margin:0 auto;width:100%}.mt-2{margin-top:10px!important}.fullscreen-details-overlay{position:fixed;top:16px;left:16px;width:calc(100vw - 32px);height:calc(100vh - 32px);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;box-shadow:0 10px 40px #0003,0 0 0 100vmax var(--modal-backdrop);border:1px solid var(--border-color);z-index:10000;transform:translateY(20px);opacity:0;pointer-events:none;visibility:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}@media(max-width:1280px){.fullscreen-details-overlay{top:0;left:0;width:100vw;height:100vh;border-radius:0;border:none}}.fullscreen-details-overlay.active{transform:translateY(0);opacity:1;pointer-events:auto;visibility:visible}.fullscreen-details-overlay .overlay-header{height:64px;padding:0 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}@media(max-width:768px){.fullscreen-details-overlay .overlay-header{padding:0 16px;height:56px}}.fullscreen-details-overlay .overlay-header .overlay-title{font-size:18px;font-weight:600;display:flex;gap:16px;align-items:center}@media(max-width:480px){.fullscreen-details-overlay .overlay-header .overlay-title{font-size:16px;gap:10px}}.fullscreen-details-overlay .overlay-tabs-bar{background:var(--bg-surface);display:flex;padding-top:8px;padding-left:24px;border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0}@media(max-width:768px){.fullscreen-details-overlay .overlay-tabs-bar{padding-left:16px}}.fullscreen-details-overlay .overlay-tabs-bar::-webkit-scrollbar{display:none}.fullscreen-details-overlay .overlay-tabs-bar{-ms-overflow-style:none;scrollbar-width:none}.fullscreen-details-overlay .overlay-tabs-bar .tab-item{padding:10px 16px;display:flex;align-items:center;gap:6px;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;border-bottom:none;margin-bottom:-1px;white-space:nowrap}.fullscreen-details-overlay .overlay-tabs-bar .tab-item svg{width:14px;height:14px}.fullscreen-details-overlay .overlay-tabs-bar .tab-item.active{color:var(--text-primary);background:var(--bg-main);border-color:var(--border-color);border-top:2px solid var(--text-primary);border-bottom:1px solid var(--bg-main)}.fullscreen-details-overlay .overlay-body{flex:1;display:flex;overflow:hidden}@media(max-width:1024px){.fullscreen-details-overlay .overlay-body{flex-direction:column;overflow-y:auto}}.fullscreen-details-overlay .overlay-body .map-container{width:400px;height:100%;border-right:1px solid var(--border-color)}@media(max-width:1280px){.fullscreen-details-overlay .overlay-body .map-container{width:320px}}@media(max-width:1024px){.fullscreen-details-overlay .overlay-body .map-container{width:100%;height:250px;border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0}}.fullscreen-details-overlay .overlay-body .details-scroll-content{flex:1;overflow-y:auto;padding:32px}@media(max-width:768px){.fullscreen-details-overlay .overlay-body .details-scroll-content{padding:20px}}.fullscreen-details-overlay .overlay-body .details-scroll-content .details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media(max-width:768px){.fullscreen-details-overlay .overlay-body .details-scroll-content .details-grid{grid-template-columns:1fr;gap:16px}}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:20px}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card h4{margin-bottom:16px;color:var(--text-primary);font-size:16px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card .field{margin-bottom:12px;font-size:14px}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card .field:last-child{margin-bottom:0}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card .field .label{font-weight:600;color:var(--text-primary);display:inline-block;margin-right:4px}.fullscreen-details-overlay .overlay-body .details-scroll-content .detail-card .field .value{color:var(--text-secondary)}.fullscreen-details-overlay .tab-pane-full{display:flex;height:100%;width:100%}.fullscreen-details-overlay .border-left-danger{border-left:4px solid #FF4D4D!important}.fullscreen-details-overlay .alert-danger-soft{color:#ff4d4d;background:#ff4d4d1a;padding:8px;border-radius:4px;font-weight:500}.fullscreen-details-overlay .appraisal-item-box{background:var(--bg-surface-lighter, #F2F2F2);border:1px solid var(--border-color);border-radius:4px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-size:14px;min-height:50px;box-shadow:0 1px 2px #00000005}.fullscreen-details-overlay .appraisal-item-box .label{font-weight:500;color:var(--text-secondary)}.fullscreen-details-overlay .appraisal-item-box .value{font-weight:600;color:var(--text-primary)}.fullscreen-details-overlay .appraisal-photo-box{background:var(--bg-surface-lighter, #F2F2F2);border:1px solid var(--border-color);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px #00000005}.fullscreen-details-overlay .appraisal-photo-box .label{font-weight:500;color:var(--text-secondary);font-size:14px}.fullscreen-details-overlay .appraisal-photo-box img{width:100%;border-radius:4px;border:1px solid var(--border-color);cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.fullscreen-details-overlay .appraisal-photo-box img:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.job-details-page .overlay-tabs-bar .tab-item{appearance:none;background:transparent;font-family:inherit}.job-details-page .overlay-tabs-bar .tab-item.active{background:var(--bg-surface);border-bottom-color:var(--bg-surface)}.job-details-page .job-details-tab-content,.job-details-page .tab-pane,.job-details-page .appraisal-view{background:var(--bg-surface)}.job-details-page .detail-card{background:var(--bg-surface)!important;border-color:var(--border-color)!important}.job-details-page .detail-card>h4{display:flex;align-items:center;gap:8px}.job-details-page .appraisal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.job-details-page .appraisal-header-title{min-width:0}.job-details-page .appraisal-header-title h3{color:var(--text-primary)}.job-details-page .appraisal-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.job-details-page .appraisal-header-actions .btn{white-space:nowrap;min-height:32px}.job-details-page .appraisal-items-columns,.job-details-page .appraisal-items-grid,.job-details-page .appraisal-summary-grid{display:grid;gap:16px}.job-details-page .appraisal-items-grid,.job-details-page .appraisal-items-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.job-details-page .appraisal-items-column{display:flex;flex-direction:column;gap:16px}.job-details-page .appraisal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.job-details-page .appraisal-summary-card{background:var(--bg-surface-lighter)!important;border:1px solid var(--border-color)!important;border-radius:4px!important;min-height:82px;display:flex;flex-direction:column;justify-content:center;padding:20px 22px!important}.job-details-page .appraisal-summary-card .appraisal-summary-label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px;font-weight:500;line-height:1.2;text-transform:uppercase}.job-details-page .appraisal-summary-card .appraisal-summary-value{display:block;font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.job-details-page .appraisal-summary-card .appraisal-summary-value.has-value{color:#006dff}.job-details-page .appraisal-summary-card .appraisal-summary-value.is-empty{color:var(--text-secondary);font-weight:500}.job-details-page .manual-appraisal-title{color:var(--text-secondary);font:400 1.15rem Roboto Slab,serif;letter-spacing:.5px}.job-details-page .appraisal-bottom-grid,.job-details-page .appraisal-final-grid,.job-details-page .waste-note-grid,.job-details-page .tools-split-grid,.job-details-page .settings-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.job-details-page .appraisal-notes-card{padding:20px;background:var(--bg-surface-lighter)!important}.job-details-page .appraisal-notes-card h5{color:var(--accent);display:flex;align-items:center;gap:8px;font-size:.85rem}.job-details-page .appraisal-notes-card p{margin:0;padding:16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;line-height:1.6;min-height:120px}.job-details-page .appraisal-photo-stage{min-height:250px;margin-top:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;padding:8px}.job-details-page .appraisal-photo-stage img{max-width:100%;max-height:350px;object-fit:contain;border-radius:4px}.job-details-page .media-url-fallback{color:var(--text-secondary);font-size:12px;line-height:1.45;overflow-wrap:anywhere;text-align:center}.job-details-page .waste-note-card>h4{margin:0 0 8px;border-bottom:0;padding-bottom:0;color:var(--text-primary);font-size:14px;line-height:1.35}.job-details-page .waste-note-card{background:var(--bg-surface-lighter)!important;border:1px solid var(--border-color)!important;border-radius:4px!important;box-shadow:none!important;margin-top:14px!important;padding:14px 18px 16px!important}.job-details-page .waste-note-grid{gap:0;margin-top:0}.job-details-page .waste-note-grid>div{padding:0 28px}.job-details-page .waste-note-grid>div:first-child{border-right:1px solid #e2e8f0;padding-left:0}.job-details-page .waste-note-grid>div:last-child{padding-right:0}.job-details-page .waste-note-grid h5{color:var(--accent);font-size:12px;line-height:1.25;margin:0 0 6px}.job-details-page .waste-note-grid .field{margin-bottom:5px;color:var(--text-primary);font-size:12px;line-height:1.35}.job-details-page .waste-note-grid .field .label,.job-details-page .waste-note-grid .field .value{color:var(--text-primary)}.job-details-page .waste-note-grid .field .label{font-weight:500;margin-right:4px}.job-details-page .appraisal-final-grid{align-items:stretch}.job-details-page .video-appraisal-card,.job-details-page .signature-card{background:var(--bg-surface-lighter)!important;border:1px solid var(--border-color)!important;border-radius:4px!important;min-height:150px;padding:18px 20px!important}.job-details-page .video-appraisal-card>h4,.job-details-page .signature-card>h4{margin:0 0 14px;border-bottom:0;padding-bottom:0;font-size:13px;font-weight:700;line-height:1.3}.job-details-page .video-appraisal-status{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:12px;font-weight:600;text-transform:lowercase}.job-details-page .signature-content{display:grid;grid-template-columns:1fr 180px;gap:20px;align-items:start}.job-details-page .signature-meta .field{margin-bottom:7px;font-size:12px;line-height:1.35}.job-details-page .signature-meta .field .label{color:var(--text-secondary);font-weight:600}.job-details-page .signature-meta .field .value{color:var(--text-primary);font-weight:500}.job-details-page .signature-preview{min-height:120px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:8px}.job-details-page .signature-preview img{max-width:100%;max-height:120px;object-fit:contain}.job-details-page .paperwork-note-panel{background:#fff;border:1px solid #c8c8c8;padding:24px;min-height:120px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;color:#000}.job-details-page .paperwork-note-panel h2{font:400 26px Helvetica Neue,Helvetica,Arial,sans-serif;color:#333;margin:0 0 12px}.job-details-page .paperwork-note-panel .paperwork-status{font:700 14px Helvetica Neue,Helvetica,Arial,sans-serif}.job-details-page .paperwork-download{background:#218838;color:#fff;padding:10px 16px;font-weight:600;display:flex;gap:8px;align-items:center}.job-details-page .paperwork-images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.job-details-page .paperwork-images-grid img{width:100%;max-height:320px;object-fit:contain;background:#fff;border:1px solid #c8c8c8;padding:8px}.job-details-page .invoice-view{padding-top:12px}.job-details-page .invoice-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.job-details-page .invoice-toolbar h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:800;line-height:1.2}.job-details-page .invoice-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.job-details-page .invoice-toggle{background:#e2b93b;color:#000;border-color:#e2b93b;font-weight:600;border-radius:8px;min-height:38px;padding:0 18px}.job-details-page .invoice-download{background:#b58b43;border-color:#b58b43;color:#fff;border-radius:8px;min-height:38px;padding:0 16px;display:inline-flex;align-items:center}.job-details-page .invoice-number-row{display:flex;align-items:center;gap:14px;margin-bottom:28px}.job-details-page .invoice-number-row label{margin:0;color:var(--text-secondary);font-size:15px;font-weight:800;line-height:1;text-transform:uppercase}.job-details-page .invoice-number-row input{width:180px;min-height:42px;border-radius:8px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-primary);font-size:14px;font-weight:500;padding:0 14px}.job-details-page .invoice-table-card{margin-bottom:24px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.job-details-page .invoice-table{width:100%;margin-bottom:0!important;border-collapse:separate;border-spacing:0}.job-details-page .invoice-table thead th{background:var(--bg-surface-lighter);border-bottom:0;color:var(--text-primary);font-size:12px;font-weight:800;letter-spacing:0;line-height:1.25;padding:18px 20px;text-transform:uppercase;white-space:nowrap}.job-details-page .invoice-table tbody td{border-top:1px solid var(--border-color);color:var(--text-primary);font-size:13px;line-height:1.35;padding:22px 20px;vertical-align:middle}.job-details-page .invoice-table tbody tr:first-child td{border-top:0}.job-details-page .invoice-table th:nth-child(6),.job-details-page .invoice-table td:nth-child(6){width:30%;white-space:normal}.job-details-page .invoice-table .badge,.job-details-page .invoice-table .invoice-pill{min-width:28px;min-height:18px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:800;line-height:1}.job-details-page .invoice-table .bg-secondary,.job-details-page .invoice-table .invoice-pill.muted{background:#e9eef4!important;color:#b58b43!important}.job-details-page .invoice-table .bg-primary,.job-details-page .invoice-table .invoice-pill.primary{background:#006dff!important;color:#fff!important}.job-details-page .invoice-status-alert{min-height:46px;padding:13px 18px;border:1px solid;border-radius:6px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.job-details-page .invoice-status-alert.ready{background:#00c8781a;border-color:#00c87833;color:#00c878}.job-details-page .invoice-status-alert.not-ready{background:#e2b93b1a;border-color:#e2b93b33;color:#b18c1d}.job-details-page .documents-view{padding-top:12px}.job-details-page .documents-view>h4{margin:0 0 22px;color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.2}.job-details-page .documents-upload-card{margin-bottom:44px;padding:22px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px}.job-details-page .documents-dropzone{min-height:102px;margin-bottom:22px;border:1px dashed var(--border-color);border-radius:6px;background:var(--bg-surface-lighter);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary)}.job-details-page .documents-dropzone svg{width:28px;height:28px;color:var(--text-secondary)}.job-details-page .documents-dropzone p{margin:0;font-size:14px;font-weight:500;line-height:1.2}.job-details-page .documents-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.job-details-page .documents-upload-row input[type=file]{min-height:40px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font-size:13px}.job-details-page .documents-upload-row .btn{min-width:108px;min-height:40px;border-radius:8px;background:#b58b43;border-color:#b58b43;color:#fff;font-weight:800;padding:0 18px;white-space:nowrap}.job-details-page .documents-empty{margin-top:16px;color:var(--text-secondary);font-size:14px;font-weight:500;text-align:center}.job-details-page .documents-table{width:100%}.job-details-page .message-pane{padding:0!important;height:100%}.job-details-page .messages-view{position:relative;display:flex;flex-direction:column;height:100%;min-height:650px;background:var(--bg-surface)}.job-details-page .chat-header{min-height:64px;padding:14px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between}.job-details-page .chat-header>.d-flex{gap:14px!important}.job-details-page .chat-header h5{margin:0;color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.15}.job-details-page .chat-header p{margin:2px 0 0;color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.2}.job-details-page .chat-avatar{position:relative;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:transparent;border:1.5px solid var(--accent);flex:0 0 auto}.job-details-page .chat-avatar:after{content:"";position:absolute;right:-1px;bottom:1px;width:8px;height:8px;background:#16a35b;border:2px solid var(--bg-surface);border-radius:50%}.job-details-page .chat-avatar.small{width:22px;height:22px;border-width:1px}.job-details-page .chat-avatar.small:after{display:none}.job-details-page .chat-call-button{position:absolute;top:23px;right:18px;width:24px;height:24px;border:0;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}.job-details-page .chat-stream{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:28px 18px 120px;background:var(--bg-surface)}.job-details-page .chat-date{display:flex;justify-content:center;margin:0 0 34px}.job-details-page .chat-date span{min-width:54px;color:var(--text-secondary);background:var(--bg-surface-lighter);border:1px solid #cdd7e3;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;line-height:1;text-align:center}.job-details-page .chat-empty{color:var(--text-secondary);font-size:13px;text-align:center}.job-details-page .chat-row{display:flex;align-items:flex-start;gap:10px;max-width:none;margin-bottom:44px}.job-details-page .chat-row>div:not(.chat-avatar){display:flex;flex-direction:column;max-width:min(720px,55vw)}.job-details-page .chat-row.operator{margin-left:auto;justify-content:flex-end;text-align:right}.job-details-page .chat-row.operator>div:not(.chat-avatar){align-items:flex-end}.job-details-page .chat-row.operator .chat-bubble{background:#c09a51;color:#fff;border-color:#c09a51;border-radius:8px}.job-details-page .chat-row.driver{margin-right:auto}.job-details-page .chat-row.driver .chat-bubble{background:var(--bg-surface);border-color:var(--border-color);border-radius:6px}.job-details-page .chat-bubble{padding:13px 16px;border:1px solid var(--border-color)}.job-details-page .chat-bubble p{margin:0;color:inherit;font-size:13px;font-weight:500;line-height:1.5}.job-details-page .chat-time{color:var(--text-secondary);display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;margin-top:9px}.job-details-page .chat-row.operator .chat-time{justify-content:flex-end}.job-details-page .chat-input-area{padding:14px 18px;border-top:1px solid var(--border-color);background:var(--bg-surface);flex:0 0 auto}.job-details-page .chat-input-area form{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:10px;align-items:center}.job-details-page .chat-input-area input{width:100%;min-height:36px;border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);font-size:13px;padding:0 16px}.job-details-page .chat-input-area button{width:34px;height:34px;border-radius:50%;padding:0;background:#b58b43;border-color:#b58b43;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.job-details-page .chat-read-mark{color:#16a35b;font-size:11px}.job-details-page .notifications-view{padding-top:8px}.job-details-page .notifications-header{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.job-details-page .notifications-header h4{margin:0;color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.15}.job-details-page .notifications-header p{margin:4px 0 0;color:var(--text-secondary);font-size:14px;font-weight:500;line-height:1.25}.job-details-page .notification-list{display:flex;flex-direction:column;gap:22px}.job-details-page .notification-item{padding:18px 16px 16px;background:var(--bg-surface)!important;border:1px solid var(--border-color)!important;border-radius:8px;box-shadow:0 10px 26px #0f172a09}.job-details-page .notification-topline{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:14px}.job-details-page .notification-avatar{width:28px;height:28px;border:1.5px solid var(--accent);border-radius:50%;color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.job-details-page .notification-copy{min-width:0}.job-details-page .notification-title{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.45}.job-details-page .notification-title strong,.job-details-page .notification-title b{font-weight:800}.job-details-page .notification-time{margin-top:5px;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.25}.job-details-page .notification-details{border:0;background:transparent;color:var(--text-primary);display:inline-flex;align-items:center;gap:5px;padding:1px 0;font-size:12px;font-weight:700;white-space:nowrap}.job-details-page .notification-meta{display:flex;flex-wrap:wrap;gap:8px 28px;min-height:30px;padding:7px 14px;border:1px solid var(--border-color);background:var(--bg-surface-lighter);border-radius:5px;color:var(--text-primary);font-size:12px;font-weight:600;align-items:center}.job-details-page .notification-meta strong{color:var(--text-secondary);font-weight:800;margin-right:4px}.job-details-page .tools-view{padding-top:8px}.job-details-page .tools-view>h4{margin:0 0 28px;color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.2}.job-details-page .tools-warning{min-height:42px;margin-bottom:22px;padding:0 16px;border:1px solid rgba(226,185,59,.45);border-radius:6px;background:#e2b93b14;color:#c39100;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.job-details-page .tools-download{min-height:46px;margin-bottom:20px;border-radius:8px;background:linear-gradient(90deg,#c3a156,#9c7735);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:800;text-decoration:none}.job-details-page .tools-download:hover{color:#fff}.job-details-page .tools-card{margin-bottom:18px;padding:20px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px}.job-details-page .tools-card h5{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:18px;font-weight:800;line-height:1.2;text-transform:uppercase}.job-details-page .tools-card label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:13px;font-weight:800}.job-details-page .tools-card textarea{width:100%;min-height:48px;margin-bottom:12px;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;resize:vertical}.job-details-page .tools-action-stack{display:flex;flex-direction:column;gap:7px}.job-details-page .tool-button{width:100%;min-height:36px;border-radius:8px;font-size:13px;font-weight:800;line-height:1}.job-details-page .tool-abort{background:#e2b93b;color:#000;border:0}.job-details-page .tool-cancel{background:#ff4d4d;color:#fff;border:0}.job-details-page .tool-remove{background:var(--bg-surface-lighter);color:var(--text-primary);border:1px solid var(--border-color)}.job-details-page .tool-delete{border:1px solid #FF4D4D;color:#ff4d4d;background:transparent}.job-details-page .admin-tools-card{min-height:170px}.job-details-page .admin-work-row{min-height:38px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.job-details-page .admin-work-row>span{color:var(--text-secondary);font-size:13px;font-weight:800}.job-details-page .admin-work-row>div{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.job-details-page .admin-chip{min-height:28px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-surface-lighter);color:var(--text-primary);padding:0 12px;font-size:11px;font-weight:800}.job-details-page .admin-chip.active{background:#b58b43;border-color:#b58b43;color:#fff}.job-details-page .settings-view{padding-top:8px}.job-details-page .settings-header{margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.job-details-page .settings-header h4{margin:0;color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.15}.job-details-page .settings-header p{margin:4px 0 0;color:var(--text-secondary);font-size:14px;font-weight:500}.job-details-page .settings-driver-card{min-height:86px;margin-bottom:20px;padding:20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface);display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:center}.job-details-page .settings-driver-card label{margin:0;color:var(--text-secondary);font-size:14px;font-weight:800}.job-details-page .settings-driver-card select{width:100%;min-height:38px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font-size:13px;padding:0 12px}.job-details-page .settings-card{margin-bottom:16px;padding:20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface)}.job-details-page .settings-card h5{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:20px;font-weight:800;line-height:1.2}.job-details-page .settings-date-row{margin-bottom:18px}.job-details-page .settings-date-row:last-child{margin-bottom:0}.job-details-page .settings-date-row>label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:13px;font-weight:800}.job-details-page .settings-date-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.job-details-page .settings-date-controls select{min-width:58px;height:32px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-surface);color:var(--text-primary);font-size:12px;padding:0 8px}.job-details-page .settings-date-controls span{color:var(--text-secondary);font-size:12px;font-weight:800;padding:0 3px}.job-details-page .settings-footer-actions{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.job-details-page .settings-secondary-action,.job-details-page .settings-primary-action{min-height:36px;border-radius:8px;font-size:12px;font-weight:800;padding:0 18px}.job-details-page .settings-secondary-action{border:1px solid var(--border-color);background:var(--bg-surface-lighter);color:var(--text-primary)}.job-details-page .settings-primary-action{border:1px solid #B58B43;background:#b58b43;color:#fff}.job-details-page .settings-extended-card{margin:18px 0;padding:24px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface)}.job-details-page .settings-extended-card h5{margin:0 0 4px;color:var(--text-primary);font-size:18px;font-weight:800;line-height:1.2}.job-details-page .extended-section{padding:16px 0 20px;border-bottom:1px solid var(--border-color)}.job-details-page .extended-section.extended-section-last{margin-top:22px;padding-top:22px;padding-bottom:0;border-top:1px solid var(--border-color);border-bottom:0}.job-details-page .extended-section h6{margin:0 0 14px;color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.job-details-page .extended-grid{display:grid;gap:14px 18px}.job-details-page .extended-customer-grid{grid-template-columns:1.5fr 1fr 1fr auto auto;align-items:end}.job-details-page .extended-unit-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end}.job-details-page .extended-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-details-page .extended-notes-grid .extended-field-wide{grid-column:auto}.job-details-page .extended-notes-grid textarea{min-height:96px}.job-details-page .extended-field{min-width:0;margin:0;display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:800}.job-details-page .extended-field span{line-height:1.25}.job-details-page .extended-field input,.job-details-page .extended-field select,.job-details-page .extended-field textarea{width:100%;min-height:34px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-surface);color:var(--text-primary);font-size:12px;font-weight:500;padding:0 10px;opacity:1}.job-details-page .extended-field select:disabled{opacity:1}.job-details-page .extended-field textarea{min-height:66px;padding-top:9px;resize:vertical}.job-details-page .extended-field-wide{grid-column:span 3}.job-details-page .settings-toggle-pair{display:inline-flex;min-height:34px;align-items:stretch}.job-details-page .settings-toggle-pair button{min-width:44px;border:0;background:#6f7a86;color:#fff;font-size:11px;font-weight:900;padding:0 12px}.job-details-page .settings-toggle-pair button:first-child{border-radius:4px 0 0 4px}.job-details-page .settings-toggle-pair button:last-child{border-radius:0 4px 4px 0}.job-details-page .settings-toggle-pair button.active-yes{background:#16b866}.job-details-page .settings-toggle-pair button.active-no{background:#d00000}.job-details-page .settings-check-field{min-height:34px;margin:0;display:flex;align-items:end;gap:9px;color:var(--text-secondary);font-size:13px;font-weight:800}.job-details-page .settings-check-field input{width:15px;height:15px;accent-color:#0f7d3d;margin:0 0 2px}.job-details-page .settings-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:24px}.job-details-page .settings-address-panel{min-width:0}.job-details-page .settings-address-panel:first-child{padding-right:12px;border-right:1px solid var(--border-color)}.job-details-page .settings-address-panel h6{margin:0 0 16px;color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.job-details-page .settings-address-panel .extended-field{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:8px}.job-details-page .settings-address-panel .extended-field span{color:var(--text-secondary)}.job-details-page .settings-address-divider{height:1px;margin:14px 0;background:var(--border-color)}.job-details-page .settings-recalculate-panel{padding:34px 0 6px}.job-details-page .settings-recalculate-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:42px}.job-details-page .settings-recalculate-option{margin:0;display:inline-flex;align-items:center;gap:9px;color:var(--text-secondary);font-size:18px;font-weight:800;line-height:1;white-space:nowrap}.job-details-page .settings-recalculate-option input{width:22px;height:22px;margin:0;border:1px solid var(--border-color);border-radius:4px;accent-color:#0d6efd}.job-details-page .settings-expanded-actions{display:flex;align-items:center;justify-content:center;gap:18px}.job-details-page .settings-expanded-actions button{min-height:46px;border:0;border-radius:10px;color:#fff;font-size:16px;font-weight:800;padding:0 38px}.job-details-page .settings-save-job{background:#0879ff}.job-details-page .settings-send-driver{background:#24a844}.job-details-page .appraisal-item-box{gap:16px}.job-details-page .appraisal-item-box .label{min-width:0}.job-details-page .appraisal-item-box .value{text-align:right;overflow-wrap:anywhere}.job-details-page .notification-item,.job-details-page .message-thread>div{background:var(--bg-surface)!important;border-color:var(--border-color)!important}@media(max-width:1024px){.job-details-page .overlay-body{overflow:hidden}.job-details-page .overlay-body .map-container{height:210px!important}}@media(max-width:768px){.job-details-page .tab-pane{padding:20px!important}.job-details-page .appraisal-summary-grid,.job-details-page .appraisal-bottom-grid,.job-details-page .appraisal-final-grid,.job-details-page .waste-note-grid,.job-details-page .tools-split-grid,.job-details-page .settings-split-grid,.job-details-page .extended-customer-grid,.job-details-page .extended-unit-grid,.job-details-page .extended-notes-grid,.job-details-page .settings-address-grid,.job-details-page .appraisal-items-grid,.job-details-page .appraisal-items-columns,.job-details-page .signature-content{grid-template-columns:1fr}.job-details-page .appraisal-header{align-items:flex-start;flex-direction:column}.job-details-page .appraisal-header-actions{justify-content:flex-start;flex-wrap:wrap}.job-details-page .invoice-toolbar{align-items:flex-start;flex-direction:column}.job-details-page .invoice-actions{justify-content:flex-start}.job-details-page .invoice-number-row{align-items:flex-start;flex-direction:column}.job-details-page .invoice-number-row input{width:100%}.job-details-page .documents-upload-row{grid-template-columns:1fr}.job-details-page .documents-upload-row .btn{width:100%}.job-details-page .notification-topline{grid-template-columns:30px minmax(0,1fr)}.job-details-page .notification-details{grid-column:2;justify-self:start}.job-details-page .admin-work-row{grid-template-columns:1fr;gap:8px}.job-details-page .admin-work-row>div{justify-content:flex-start}.job-details-page .settings-driver-card{grid-template-columns:1fr}.job-details-page .settings-driver-card select{max-width:100%}.job-details-page .settings-footer-actions{align-items:stretch;flex-direction:column}.job-details-page .settings-footer-actions button{width:100%}.job-details-page .settings-address-panel:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--border-color);padding-bottom:18px}.job-details-page .settings-address-panel .extended-field{grid-template-columns:1fr;gap:6px}.job-details-page .extended-field-wide{grid-column:auto}.job-details-page .settings-recalculate-row{align-items:flex-start;flex-direction:column;gap:16px}.job-details-page .settings-recalculate-option{font-size:14px;white-space:normal}.job-details-page .settings-expanded-actions{align-items:stretch;flex-direction:column}.job-details-page .settings-expanded-actions button{width:100%}.job-details-page .waste-note-grid>div:first-child{border-right:0;border-bottom:1px solid var(--border-color);padding:0 0 20px}}@media(max-width:480px){.job-details-page .overlay-header .btn-secondary{display:none}.job-details-page .overlay-body .map-container{height:160px!important}.job-details-page .tab-pane{padding:16px!important}.job-details-page .paperwork-note-panel{flex-direction:column}.job-details-page .paperwork-download{width:100%;justify-content:center}.job-details-page .chat-row{max-width:90%}}.image-lightbox-overlay{display:none;position:fixed;z-index:11000;left:0;top:0;width:100vw;height:100vh;overflow:hidden;background-color:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);justify-content:center;align-items:center;flex-direction:column;opacity:0;transition:opacity .3s ease}.image-lightbox-overlay .lightbox-content{margin:auto;display:block;max-width:90%;max-height:85%;border-radius:8px;box-shadow:0 10px 40px #0009;border:1px solid rgba(255,255,255,.15);transform:scale(.95);transition:transform .3s cubic-bezier(.16,1,.3,1)}.image-lightbox-overlay.active{display:flex;opacity:1}.image-lightbox-overlay.active .lightbox-content{transform:scale(1)}.image-lightbox-overlay .lightbox-close{position:absolute;top:24px;right:24px;color:#fff;font-size:32px;line-height:32px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;cursor:pointer;transition:all .2s ease}.image-lightbox-overlay .lightbox-close:hover{background:#fff3;transform:scale(1.1)}.image-lightbox-overlay #lightboxCaption{margin:16px auto 0;color:#fff;font-size:15px;font-weight:500}.date-select-sm{padding:4px 18px 4px 8px!important;font-size:12.5px!important;background-position:right 6px center!important;background-size:10px 10px!important;height:32px!important;line-height:1.2!important}.history-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:20000;opacity:0;transition:opacity .3s ease}.history-modal-overlay.active{opacity:1;display:flex}.history-modal-overlay.active .history-modal-container{transform:scale(1);opacity:1}.history-modal-overlay .history-modal-container{width:90%;max-width:650px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 40px #0003;overflow:hidden;transform:scale(.95);opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1)}.history-modal-overlay .history-modal-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--glass-bg)}.history-modal-overlay .history-modal-title{font-size:16px;font-weight:700;margin-bottom:0;color:var(--text-primary)}.history-modal-overlay .history-modal-close{font-size:24px;color:var(--text-secondary);cursor:pointer;line-height:1;transition:color .2s ease}.history-modal-overlay .history-modal-close:hover{color:var(--accent)}.history-modal-overlay .history-modal-body{padding:24px}.history-modal-overlay .history-table{border-collapse:collapse;width:100%}.history-modal-overlay .history-table th{font-weight:700;color:var(--text-secondary);background:#c5a0590d;border-bottom:2px solid var(--border-color);padding:10px 14px;text-align:left}.history-modal-overlay .history-table td{padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.history-modal-overlay .history-modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;background:var(--glass-bg)}.history-modal-overlay .history-modal-btn-ok{font-weight:600;font-size:13px;border-radius:8px;padding:8px 24px}.all-portal-users-page .user-avatar-sm{width:38px;height:38px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:12px;display:flex!important;align-items:center;justify-content:center;font-weight:800;color:var(--accent);text-transform:uppercase;font-size:14px}.badge{padding:5px 12px;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;display:inline-flex;align-items:center}.badge.active{background:#00c8781f;color:#00c878;border:1px solid rgba(0,200,120,.2)}.badge.pending{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.badge.locked{background:#ff4d4d1f;color:#ff4d4d;border:1px solid rgba(255,77,77,.2)}.all-portal-users-page .modal-overlay{display:none;position:fixed;inset:0;background:#0a0c104d;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:10000;align-items:center;justify-content:center;padding:24px}.all-portal-users-page .modal-premium-window{width:1000px;max-width:95vw;max-height:90vh;background:var(--bg-surface);border-radius:24px;box-shadow:0 40px 100px #00000080;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border-color)}@media(max-width:1280px){.all-portal-users-page .modal-premium-window{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:none}}.all-portal-users-page .modal-premium-body{display:flex;flex:1;overflow:hidden;min-height:0}@media(max-width:1024px){.all-portal-users-page .modal-premium-body{flex-direction:column;overflow-y:auto}}.all-portal-users-page .modal-premium-main{flex:1;padding:36px 40px;overflow-y:auto}@media(max-width:768px){.all-portal-users-page .modal-premium-main{padding:24px 20px}}.all-portal-users-page .modal-premium-sidebar{width:280px;background:var(--bg-surface-lighter);border-left:1px solid var(--border-color);padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:28px;flex-shrink:0}@media(max-width:1024px){.all-portal-users-page .modal-premium-sidebar{width:100%;border-left:none;border-top:1px solid var(--border-color);padding:24px}}.all-portal-users-page .modal-premium-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.all-portal-users-page .modal-premium-header h2{margin:0 0 6px;font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.all-portal-users-page .modal-premium-header p{margin:0;color:var(--text-secondary);font-size:13px}.all-portal-users-page .btn-premium-close{width:36px;height:36px;border-radius:10px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-left:16px}.all-portal-users-page .btn-premium-close:hover{background:#ff4d4d;color:#fff;border-color:#ff4d4d}.all-portal-users-page .form-section-premium{margin-bottom:28px}.all-portal-users-page .section-title-premium{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-primary)}.all-portal-users-page .dot-premium{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);flex-shrink:0}.all-portal-users-page .grid-premium{display:grid;grid-template-columns:1fr 1fr;gap:16px}.all-portal-users-page .field-premium.full{grid-column:span 2}.all-portal-users-page .roles-grid-premium{display:grid;grid-template-columns:1fr 1fr;gap:12px}.all-portal-users-page .role-card-premium{padding:16px 18px;background:var(--bg-surface-lighter);border:2px solid transparent;border-radius:16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s ease;position:relative}.all-portal-users-page .role-card-premium:hover{background:var(--bg-surface);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.all-portal-users-page .role-card-premium.active{border-color:var(--accent);background:var(--bg-surface)}.all-portal-users-page .role-icon-premium{font-size:22px}.all-portal-users-page .role-info-premium h5{margin:0 0 3px;font-size:14px;font-weight:700;color:var(--text-primary)}.all-portal-users-page .role-info-premium p{margin:0;font-size:11px;color:var(--text-secondary)}.all-portal-users-page .check-premium{position:absolute;top:10px;right:12px;opacity:0;color:var(--accent);font-weight:900;font-size:13px;transition:opacity .2s}.all-portal-users-page .role-card-premium.active .check-premium{opacity:1}.all-portal-users-page .modal-footer-premium{margin-top:32px;display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-color)}.all-portal-users-page .profile-upload-premium{text-align:center;width:100%}.all-portal-users-page .upload-circle-premium{width:110px;height:110px;border-radius:50%;border:2px dashed var(--border-color);margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:38px;color:var(--text-secondary);transition:.3s;cursor:pointer}.all-portal-users-page .upload-circle-premium:hover{border-color:var(--accent)}.all-portal-users-page .profile-upload-premium h5{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--text-primary)}.all-portal-users-page .profile-upload-premium p{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.all-portal-users-page .tip-box-premium{width:100%;padding:18px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px}.all-portal-users-page .tip-header-premium{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px}.all-portal-users-page .tip-box-premium p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.6}.user-detail-panel{background:var(--bg-surface);display:flex;flex-direction:column}.detail-panel-header{padding:16px 24px;background:var(--bg-surface-lighter);border-bottom:1px solid var(--border-color);font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.5px}.detail-panel-body{padding:24px;flex:1;overflow-y:auto}.panel-section-label{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.user-role-check{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:8px;background:var(--bg-surface-lighter);border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.user-role-check:hover{background:var(--bg-surface);color:var(--text-primary)}.user-role-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.activity-feed{display:flex;flex-direction:column;gap:24px}.activity-item{display:flex;gap:16px}.activity-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-surface-lighter);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent);flex-shrink:0}.activity-content{flex:1}.activity-meta{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.activity-time{float:right;font-family:monospace}.activity-user{font-weight:700;color:var(--text-primary)}.activity-text{font-size:13px;margin:0 0 10px;line-height:1.5}.activity-detail-card{padding:12px 16px;background:var(--bg-surface-lighter);border-radius:8px;font-size:12px;line-height:1.6;color:var(--text-primary)}.activity-detail-card span{font-weight:700;color:var(--text-secondary)}.accent-link{color:var(--accent);text-decoration:underline;cursor:pointer}.admin-control-block{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.admin-control-block:last-child{border-bottom:none}.admin-control-label{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.admin-control-meta{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.admin-control-meta em,.admin-control-meta span{font-weight:700;font-style:normal}.dashboard-content.portal-users-page{display:flex;flex-direction:column;padding:24px 24px 0;position:relative}.portal-users-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.toolbar-actions{display:flex;align-items:center;gap:12px}.btn-group-sm{display:flex;gap:8px}.btn-icon-label{display:flex;align-items:center;gap:8px}.portal-table-section{margin-top:10px}.btn-table-action{padding:10px 40px;font-weight:500}.fullscreen-details-overlay .overlay-header-actions{display:flex;align-items:center;gap:12px;padding-right:8px}.fullscreen-details-overlay .btn-close-overlay{background:var(--bg-surface-lighter);color:var(--text-primary);border:1px solid var(--border-color)}.fullscreen-details-overlay .overlay-body-container{display:flex;height:100%}@media(max-width:1024px){.fullscreen-details-overlay .overlay-body-container{flex-direction:column;overflow-y:auto}}.fullscreen-details-overlay .user-side-panel{width:320px;border-right:1px solid var(--border-color);flex-shrink:0}@media(max-width:1024px){.fullscreen-details-overlay .user-side-panel{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}}.fullscreen-details-overlay .user-side-panel.admin-panel{width:340px;border-right:none}@media(max-width:1024px){.fullscreen-details-overlay .user-side-panel.admin-panel{width:100%;border-top:1px solid var(--border-color);border-bottom:none}}.fullscreen-details-overlay .user-main-panel{flex:1;border-right:1px solid var(--border-color);min-width:0}@media(max-width:1024px){.fullscreen-details-overlay .user-main-panel{width:100%;border-right:none}}.fullscreen-details-overlay .role-settings-container{background:var(--bg-surface-lighter);padding:16px;border-radius:12px}.fullscreen-details-overlay .btn-save-roles{margin-top:12px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.fullscreen-details-overlay .activity-scroll-area{background:var(--bg-body)}.fullscreen-details-overlay .activity-detail-card .card-location-info{display:flex;justify-content:space-between}.fullscreen-details-overlay .activity-detail-card .card-location-info .location-dropoff{text-align:right}.fullscreen-details-overlay .activity-detail-card .card-footer{margin-top:10px;border-top:1px solid var(--border-color);padding-top:10px;opacity:.7}.fullscreen-details-overlay .admin-input-group{display:flex;gap:8px;margin-bottom:8px;background:var(--bg-surface);border:1px solid var(--border-color);padding:4px;border-radius:6px}.fullscreen-details-overlay .admin-input-group .input-prefix{background:var(--bg-surface-lighter);padding:4px 12px;font-size:11px;min-width:90px;display:flex;align-items:center;border-radius:4px;color:var(--text-secondary)}.fullscreen-details-overlay .admin-input-group input{border:none;flex:1;outline:none;font-size:13px;background:transparent;color:var(--text-primary);padding:4px 8px}.fullscreen-details-overlay .admin-input-group.email-group input{width:100%}.fullscreen-details-overlay .btn-admin-action{margin-top:4px}.btn-success-green{background:#28a745!important;border-color:#28a745!important;color:#fff!important}.btn-success-green:hover{background:#218838!important}.reports-page .reports-toolbar .toolbar-header{margin-bottom:24px}.reports-page .filter-bar{display:flex;align-items:flex-end;gap:20px;padding:24px;border-radius:16px;flex-wrap:wrap}.reports-page .filter-bar .filter-group{display:flex;flex-direction:column;gap:8px;min-width:200px}.reports-page .filter-bar .filter-group .filter-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.reports-page .filter-bar .filter-group .form-input{height:42px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:10px;padding:0 16px;font-size:14px;color:var(--text-primary);transition:all .2s ease}.reports-page .filter-bar .filter-group .form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #46a2c91a;background:var(--bg-surface)}.reports-page .filter-bar .filter-actions{display:flex;gap:12px;margin-left:auto}.reports-page .filter-bar .filter-actions .btn{height:42px;padding:0 20px;border-radius:10px;font-weight:600}.reports-page .results-stats .badge-info{background:#46a2c91a;color:var(--accent);padding:8px 16px;border-radius:8px;font-weight:500;font-size:13px}.reports-page .jobs-table-container{border-radius:16px;box-shadow:0 10px 30px #00000008;border:1px solid var(--border-color);margin-bottom:20px}.reports-page .accent-link{color:var(--accent);cursor:pointer;text-decoration:none}.reports-page .accent-link:hover{text-decoration:underline}@media(max-width:992px){.reports-page .filter-bar{flex-direction:column;align-items:stretch}.reports-page .filter-bar .filter-group{min-width:100%}.reports-page .filter-bar .filter-actions{margin-left:0;width:100%}.reports-page .filter-bar .filter-actions .btn{flex:1}}.driver-info-bar.glass{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#2a2a2a!important;color:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;border:none}.driver-info-bar.glass .driver-info-main{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.driver-info-bar.glass .driver-info-main .info-item{display:flex;align-items:center;gap:10px;font-size:14px}.driver-info-bar.glass .driver-info-main .info-item .info-label{color:#a0aec0;font-weight:500}.driver-info-bar.glass .driver-info-main .info-item .info-value{font-weight:600}.driver-info-bar.glass .driver-info-main .info-item svg{color:#46a2c9}.driver-info-bar.glass .driver-info-actions{display:flex;align-items:center;gap:12px}.driver-info-bar.glass .driver-info-actions .toggle-btn{padding:6px 16px;background:#e2e8f0;color:#4a5568;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer}.driver-info-bar.glass .driver-info-actions .toggle-btn.active{background:#3182ce;color:#fff}.data-table .move-controls{display:flex;gap:4px;justify-content:center}.data-table .move-controls .btn-move{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-weight:700;transition:all .2s}.data-table .move-controls .btn-move:hover{background:#e2e8f0;border-color:#cbd5e0}.data-table .table-input{width:100%;min-width:80px;height:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-surface-lighter);color:var(--text-primary)}.data-table .table-input:focus{outline:none;border-color:var(--accent);background:var(--bg-surface)}.data-table .cost-input{display:flex;align-items:center;gap:4px}.data-table .cost-input span{font-weight:600;color:var(--text-secondary)}.data-table .btn-full-details{white-space:nowrap;min-width:100px}.data-table .bg-yellow-soft{background-color:#fff3cd80!important}.details-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:24px}.border-left-accent{border-left:4px solid var(--accent)}.fullscreen-details-overlay .overlay-tabs-bar{overflow-x:auto;white-space:nowrap;justify-content:flex-start;padding:0 20px}.fullscreen-details-overlay .overlay-tabs-bar::-webkit-scrollbar{height:4px}.fullscreen-details-overlay .overlay-tabs-bar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.fullscreen-details-overlay .overlay-tabs-bar .tab-item{padding:12px 20px;font-size:13px;flex-shrink:0}.fullscreen-details-overlay .overlay-tabs-bar .tab-item svg{margin-right:8px;opacity:.7}.fullscreen-details-overlay .overlay-tabs-bar .tab-item.active svg{opacity:1}.fullscreen-details-overlay .tab-pane-full{display:flex;height:100%}.fullscreen-details-overlay .tab-pane-full .map-container{width:35%;height:100%;border-right:1px solid var(--border-color)}.fullscreen-details-overlay .tab-pane-full .details-scroll-content{flex:1;overflow-y:auto;background:#f8fafc}.reports-page .data-table tr,.schedules-page .data-table tr{background:transparent!important}.bg-light-soft{background:rgba(var(--bg-surface-lighter-rgb),.4)}.bg-accent-soft{background:#4ba0ca1a}.bg-success-soft{background:#22c55e1a}.bg-warning-soft{background:#f59e0b1a}.bg-danger-soft{background:#ef44441a}.bg-warning-soft-hover:hover{background:#f59e0b0d}.bg-danger-soft-hover:hover{background:#ef44440d}.bg-accent-soft-hover:hover{background:#4ba0ca0d}.bg-secondary-soft-hover:hover{background:#64748b0d}.border-dashed{border:2px dashed var(--border-color)}.hover-bg-accent-soft:hover{background:rgba(var(--accent-rgb),.08);border-color:var(--accent)}.transition-all{transition:all .3s ease}.icon-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.activity-timeline .timeline-line{background:var(--border-color)}.activity-timeline .activity-dot{border:2px solid var(--bg-surface)}.activity-timeline .activity-content{background:var(--bg-surface-lighter);border:1px solid var(--border-color)}.activity-timeline .activity-content.border-left-accent{border-left:4px solid var(--accent)}.activity-timeline .activity-content.border-left-success{border-left:4px solid #22C55E}@media(max-width:640px){.time-grid-modern .time-row{flex-direction:column;gap:16px}}.tool-card{background:var(--bg-surface);border:1px solid var(--border-color);transition:all .3s ease}.tool-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.alert-info-soft{background:#4ba0ca1a;color:var(--accent)}.text-accent{color:var(--accent)}.fw-bold{font-weight:700}.text-lg{font-size:1.125rem}.flex-1{flex:1}.pr-5{padding-right:3rem}.row{display:flex!important;flex-wrap:wrap!important;margin-right:-12px!important;margin-left:-12px!important;align-items:stretch!important}.g-4{margin-right:-16px!important;margin-left:-16px!important}.g-4>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.col-md-5{flex:0 0 41.666667%!important;max-width:41.666667%!important}.col-md-6{flex:0 0 50%!important;max-width:50%!important}.col-md-7{flex:0 0 58.333333%!important;max-width:58.333333%!important}@media(max-width:768px){.col-md-5,.col-md-6,.col-md-7{width:100%}}.settings-view h4{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.detail-card{padding:24px!important;height:100%;display:flex;flex-direction:column}.detail-card h4{border-bottom:none!important;padding-bottom:0!important;margin-bottom:0!important;font-size:1.1rem!important;white-space:nowrap}#notifyDriver{width:18px;height:18px;cursor:pointer;margin:0}.label-notify{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.border-left-accent{border-left:4px solid var(--accent)!important}.time-grid-modern .time-row{display:flex;gap:20px;margin-bottom:20px}@media(max-width:992px){.time-grid-modern .time-row{flex-direction:column;gap:16px}}.time-grid-modern .time-row .flex-1{flex:1;min-width:0}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.tab-pane{width:100%;height:100%;overflow-y:auto}.tab-pane.active{display:block!important}.settings-view-modern{max-width:1100px;margin:0 auto}.settings-view-modern .form-input{background:#f8fafc;border:1px solid #e2e8f0;font-weight:500;padding-right:32px!important}.settings-view-modern .form-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.timing-range-select{min-width:200px!important}.btn-dark{background:#1e293b;color:#fff;border:none}.btn-dark:hover{background:#0f172a;color:#fff}.btn-success{background:#22c55e;color:#fff;border:none}.btn-success:hover{background:#16a34a;color:#fff}.timing-group .form-label{font-size:.95rem;color:#334155}.timing-group .form-input{height:42px;padding:0 8px;font-size:14px}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.settings-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}@media(max-width:1024px){.settings-grid{display:flex;flex-direction:column}}.settings-grid .settings-col-left{grid-column:span 5;display:flex;flex-direction:column;gap:24px}.settings-grid .settings-col-right{grid-column:span 7;height:100%}.details-grid-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:992px){.details-grid-cards{grid-template-columns:1fr}}.detail-card-premium{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000008;transition:transform .2s ease,box-shadow .2s ease}.detail-card-premium:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.detail-card-premium .card-header-icon{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.detail-card-premium .card-header-icon svg{width:20px;height:20px;color:var(--accent)}.detail-card-premium .card-header-icon h4{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.detail-card-premium .card-header-icon.text-danger svg{color:#ef4444}.detail-card-premium .card-body-content .field{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.95rem}.detail-card-premium .card-body-content .field:last-child{margin-bottom:0}.detail-card-premium .card-body-content .field .label{color:var(--text-secondary);font-weight:500}.detail-card-premium .card-body-content .field .value{color:var(--text-primary);font-weight:600;text-align:right}.detail-card-premium.border-left-danger{border-left:4px solid #ef4444!important}#settingsFullView .form-section{position:relative}#settingsFullView .form-section .section-title-sm{font-size:1.15rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}#settingsFullView .form-section .section-title-sm:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-color) 0%,transparent 100%)}#settingsFullView .form-label.text-xs{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px;display:block;font-weight:700}#settingsFullView .form-input{border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s ease}#settingsFullView .form-input:focus{background:#fff!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.15)}#settingsFullView .bg-light-soft{background:rgba(var(--bg-surface-rgb),.04);border:1px solid var(--border-color)}#settingsFullView .form-check{padding-left:2rem}#settingsFullView .form-check .form-check-input{width:1.25rem;height:1.25rem;margin-left:-2rem;cursor:pointer}#settingsFullView .form-check .form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}#settingsFullView .form-check .form-check-label{cursor:pointer;font-weight:500;color:var(--text-secondary)}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.text-accent{color:var(--accent)!important}.add-quote-wizard{width:1000px;max-width:100%;margin:40px auto;padding:0 24px}@media(max-width:1280px){.add-quote-wizard{width:100%;margin:20px 0;padding:0 20px}}@media(max-width:480px){.add-quote-wizard{padding:0 12px}}.add-quote-wizard form#quoteWizardForm{width:100%;box-sizing:border-box}.wizard-stepper{display:flex;justify-content:space-between;margin-bottom:40px;position:relative;padding:0}.wizard-stepper:before{display:none}.step-indicator{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px}.step-indicator:after{content:"";position:absolute;top:21px;left:50%;width:100%;height:2px;background:var(--border-color);z-index:0;transition:all .4s cubic-bezier(.16,1,.3,1)}.step-indicator:last-child:after{display:none}.step-indicator .step-number{width:42px;height:42px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-secondary);transition:all .4s cubic-bezier(.16,1,.3,1);font-size:14px;position:relative;z-index:2}.step-indicator .step-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-align:center}@media(max-width:768px){.step-indicator .step-label{display:none}}.step-indicator.active .step-number{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 20px rgba(var(--accent-rgb),.4)}.step-indicator.active .step-label{color:var(--accent)}.step-indicator.completed .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.step-indicator.completed .step-label{color:var(--text-primary)}.step-indicator.completed:after{background:var(--accent)}.wizard-container{min-height:400px;display:none}.wizard-container.active{display:block;animation:slideInUp .5s cubic-bezier(.16,1,.3,1)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:16px}}.form-grid.full-width{grid-template-columns:1fr}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;background:#ffffff08;border:1px solid var(--border-color);padding:12px 16px;border-radius:12px;color:var(--text-primary);font-size:14px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:#ffffff0d;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.1)}.form-group textarea{min-height:100px;resize:vertical}.duration-switcher{display:flex;background:var(--bg-surface);padding:4px;border-radius:100px;margin-bottom:24px;width:fit-content;border:1px solid var(--border-color)}.duration-switcher .btn-duration{padding:8px 24px;border-radius:100px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.duration-switcher .btn-duration.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.input-with-button{display:flex;gap:12px}.input-with-button input{flex:1}.input-with-button .btn-find-address{background:var(--bg-surface-lighter);border:1px solid var(--border-color);color:var(--text-primary);padding:0 20px;border-radius:12px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.input-with-button .btn-find-address:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.unit-config-row{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:16px;align-items:center;margin-bottom:16px;padding:16px;background:#ffffff05;border-radius:16px;border:1px solid var(--border-color)}@media(max-width:1024px){.unit-config-row{grid-template-columns:1fr 1fr;gap:16px}}@media(max-width:768px){.unit-config-row{grid-template-columns:1fr;gap:12px}}.unit-config-row .btn-remove-unit{width:36px;height:36px;border-radius:10px;background:#ff4d4d1a;border:1px solid rgba(255,77,77,.2);color:#ff4d4d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.unit-config-row .btn-remove-unit:hover{background:#ff4d4d;color:#fff}.btn-add-unit{background:rgba(var(--accent-rgb),.1);color:var(--accent);border:1px dashed var(--accent);padding:12px;border-radius:12px;width:100%;cursor:pointer;font-weight:600;margin-top:8px;transition:all .2s ease}.btn-add-unit:hover{background:rgba(var(--accent-rgb),.2)}.wizard-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.price-summary .total-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.price-summary .total-value{font-size:24px;font-weight:700;color:var(--accent)}.wizard-actions{display:flex;gap:12px}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.planning-page{flex:1;min-height:0;display:flex;overflow:hidden;background:var(--bg-main)}.planning-layout{flex:1;min-height:0;display:grid;grid-template-columns:450px 1fr;grid-template-rows:1fr;grid-template-areas:"sidebar content";height:100%;overflow:hidden;background:var(--bg-main)}@media(max-width:1280px){.planning-layout{grid-template-columns:380px 1fr}}@media(max-width:1024px){.planning-layout{grid-template-columns:1fr;grid-template-areas:"sidebar" "content";grid-template-rows:350px 1fr}}@media(max-width:640px){.planning-layout{grid-template-rows:250px 1fr}}.planning-content{grid-area:content;display:flex;flex-direction:column;min-width:0;overflow:hidden;height:100%}.zone-selector-bar{display:flex;flex-shrink:0;gap:12px;padding:10px 22px;background:var(--bg-surface);border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.zone-selector-bar::-webkit-scrollbar{display:none}@media(max-width:768px){.zone-selector-bar{padding:10px 16px;gap:10px}}.zone-selector-bar .zone-card[data-zone="1"]{--zone-color: #1f497d;border-color:#1f497d99}.zone-selector-bar .zone-card[data-zone="1"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="1"] .job-count{color:#1f497de6}.zone-selector-bar .zone-card[data-zone="1"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #1f497d66}.zone-selector-bar .zone-card[data-zone="1"].active .zone-num,.zone-selector-bar .zone-card[data-zone="1"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="1"]:hover:not(.active){border-color:var(--zone-color);background:#1f497d1a}.zone-selector-bar .zone-card[data-zone="2"]{--zone-color: #ffd700;border-color:#ffd70099}.zone-selector-bar .zone-card[data-zone="2"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="2"] .job-count{color:#ffd700e6}.zone-selector-bar .zone-card[data-zone="2"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #ffd70066}.zone-selector-bar .zone-card[data-zone="2"].active .zone-num,.zone-selector-bar .zone-card[data-zone="2"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="2"]:hover:not(.active){border-color:var(--zone-color);background:#ffd7001a}.zone-selector-bar .zone-card[data-zone="3"]{--zone-color: #e46c0a;border-color:#e46c0a99}.zone-selector-bar .zone-card[data-zone="3"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="3"] .job-count{color:#e46c0ae6}.zone-selector-bar .zone-card[data-zone="3"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #e46c0a66}.zone-selector-bar .zone-card[data-zone="3"].active .zone-num,.zone-selector-bar .zone-card[data-zone="3"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="3"]:hover:not(.active){border-color:var(--zone-color);background:#e46c0a1a}.zone-selector-bar .zone-card[data-zone="4"]{--zone-color: #4f81bd;border-color:#4f81bd99}.zone-selector-bar .zone-card[data-zone="4"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="4"] .job-count{color:#4f81bde6}.zone-selector-bar .zone-card[data-zone="4"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #4f81bd66}.zone-selector-bar .zone-card[data-zone="4"].active .zone-num,.zone-selector-bar .zone-card[data-zone="4"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="4"]:hover:not(.active){border-color:var(--zone-color);background:#4f81bd1a}.zone-selector-bar .zone-card[data-zone="5"]{--zone-color: #4bacc6;border-color:#4bacc699}.zone-selector-bar .zone-card[data-zone="5"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="5"] .job-count{color:#4bacc6e6}.zone-selector-bar .zone-card[data-zone="5"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #4bacc666}.zone-selector-bar .zone-card[data-zone="5"].active .zone-num,.zone-selector-bar .zone-card[data-zone="5"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="5"]:hover:not(.active){border-color:var(--zone-color);background:#4bacc61a}.zone-selector-bar .zone-card[data-zone="6"]{--zone-color: #8064a2;border-color:#8064a299}.zone-selector-bar .zone-card[data-zone="6"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="6"] .job-count{color:#8064a2e6}.zone-selector-bar .zone-card[data-zone="6"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #8064a266}.zone-selector-bar .zone-card[data-zone="6"].active .zone-num,.zone-selector-bar .zone-card[data-zone="6"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="6"]:hover:not(.active){border-color:var(--zone-color);background:#8064a21a}.zone-selector-bar .zone-card[data-zone="7"]{--zone-color: #9bbb59;border-color:#9bbb5999}.zone-selector-bar .zone-card[data-zone="7"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="7"] .job-count{color:#9bbb59e6}.zone-selector-bar .zone-card[data-zone="7"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #9bbb5966}.zone-selector-bar .zone-card[data-zone="7"].active .zone-num,.zone-selector-bar .zone-card[data-zone="7"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="7"]:hover:not(.active){border-color:var(--zone-color);background:#9bbb591a}.zone-selector-bar .zone-card[data-zone="8"]{--zone-color: #c0504d;border-color:#c0504d99}.zone-selector-bar .zone-card[data-zone="8"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="8"] .job-count{color:#c0504de6}.zone-selector-bar .zone-card[data-zone="8"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #c0504d66}.zone-selector-bar .zone-card[data-zone="8"].active .zone-num,.zone-selector-bar .zone-card[data-zone="8"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="8"]:hover:not(.active){border-color:var(--zone-color);background:#c0504d1a}.zone-selector-bar .zone-card[data-zone="9"]{--zone-color: #f79646;border-color:#f7964699}.zone-selector-bar .zone-card[data-zone="9"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="9"] .job-count{color:#f79646e6}.zone-selector-bar .zone-card[data-zone="9"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #f7964666}.zone-selector-bar .zone-card[data-zone="9"].active .zone-num,.zone-selector-bar .zone-card[data-zone="9"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="9"]:hover:not(.active){border-color:var(--zone-color);background:#f796461a}.zone-selector-bar .zone-card[data-zone="10"]{--zone-color: #a5a5a5;border-color:#a5a5a599}.zone-selector-bar .zone-card[data-zone="10"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="10"] .job-count{color:#a5a5a5e6}.zone-selector-bar .zone-card[data-zone="10"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #a5a5a566}.zone-selector-bar .zone-card[data-zone="10"].active .zone-num,.zone-selector-bar .zone-card[data-zone="10"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="10"]:hover:not(.active){border-color:var(--zone-color);background:#a5a5a51a}.zone-selector-bar .zone-card[data-zone="11"]{--zone-color: #c4d6a0;border-color:#c4d6a099}.zone-selector-bar .zone-card[data-zone="11"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="11"] .job-count{color:#c4d6a0e6}.zone-selector-bar .zone-card[data-zone="11"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #c4d6a066}.zone-selector-bar .zone-card[data-zone="11"].active .zone-num,.zone-selector-bar .zone-card[data-zone="11"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="11"]:hover:not(.active){border-color:var(--zone-color);background:#c4d6a01a}.zone-selector-bar .zone-card[data-zone="12"]{--zone-color: #2e75b6;border-color:#2e75b699}.zone-selector-bar .zone-card[data-zone="12"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="12"] .job-count{color:#2e75b6e6}.zone-selector-bar .zone-card[data-zone="12"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #2e75b666}.zone-selector-bar .zone-card[data-zone="12"].active .zone-num,.zone-selector-bar .zone-card[data-zone="12"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="12"]:hover:not(.active){border-color:var(--zone-color);background:#2e75b61a}.zone-selector-bar .zone-card[data-zone="13"]{--zone-color: #943634;border-color:#94363499}.zone-selector-bar .zone-card[data-zone="13"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="13"] .job-count{color:#943634e6}.zone-selector-bar .zone-card[data-zone="13"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #94363466}.zone-selector-bar .zone-card[data-zone="13"].active .zone-num,.zone-selector-bar .zone-card[data-zone="13"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="13"]:hover:not(.active){border-color:var(--zone-color);background:#9436341a}.zone-selector-bar .zone-card[data-zone="14"]{--zone-color: #7030a0;border-color:#7030a099}.zone-selector-bar .zone-card[data-zone="14"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="14"] .job-count{color:#7030a0e6}.zone-selector-bar .zone-card[data-zone="14"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #7030a066}.zone-selector-bar .zone-card[data-zone="14"].active .zone-num,.zone-selector-bar .zone-card[data-zone="14"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="14"]:hover:not(.active){border-color:var(--zone-color);background:#7030a01a}.zone-selector-bar .zone-card[data-zone="15"]{--zone-color: #4d7c2c;border-color:#4d7c2c99}.zone-selector-bar .zone-card[data-zone="15"] .zone-num{color:var(--zone-color)}.zone-selector-bar .zone-card[data-zone="15"] .job-count{color:#4d7c2ce6}.zone-selector-bar .zone-card[data-zone="15"].active{background:var(--zone-color);border-color:var(--zone-color);box-shadow:0 4px 20px #4d7c2c66}.zone-selector-bar .zone-card[data-zone="15"].active .zone-num,.zone-selector-bar .zone-card[data-zone="15"].active .job-count{color:#fff}.zone-selector-bar .zone-card[data-zone="15"]:hover:not(.active){border-color:var(--zone-color);background:#4d7c2c1a}.zone-selector-bar .zone-card{min-width:80px;padding:8px 10px;background:#ffffff08;border:2px solid transparent;border-radius:12px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.zone-selector-bar .zone-card.disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.5)}.zone-selector-bar .zone-card.zone-card--other{--zone-color: var(--accent);border-color:var(--border-color);min-width:96px}.zone-selector-bar .zone-card.zone-card--other .zone-num{color:var(--accent);font-size:15px}.zone-selector-bar .zone-card.zone-card--other .job-count{color:var(--text-secondary)}.zone-selector-bar .zone-card.zone-card--other.active{background:var(--accent);border-color:var(--accent)}.zone-selector-bar .zone-card.zone-card--other.active .zone-num,.zone-selector-bar .zone-card.zone-card--other.active .job-count{color:#fff}.zone-selector-bar .zone-card .zone-num{font-size:17px;font-weight:800;display:block;margin-bottom:2px}.zone-selector-bar .zone-card .job-count{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.planning-zone-panels{display:flex;flex-direction:column;gap:20px;min-height:0}.planning-zone-panel{min-width:0}.planning-zone-panel__header,.planning-zone-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.planning-zone-panel__header{margin-bottom:10px}.planning-zone-panel__header h3{margin:0;font-size:15px;font-weight:700;color:var(--text-primary);text-transform:uppercase}.planning-zone-panel__header span{color:var(--text-secondary);font-size:12px;font-weight:600}.planning-zone-panel__footer{justify-content:flex-end;margin-top:10px}.planning-empty--standalone{border:1px dashed var(--border-color);border-radius:8px;padding:28px;background:var(--bg-surface)}.planning-sidebar{grid-area:sidebar;border-right:1px solid var(--border-color);background:var(--bg-surface);display:flex;flex-direction:column;padding:0;overflow:hidden}.planning-sidebar .planning-map-container{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:12px;height:100%;width:100%;overflow:hidden}.planning-sidebar .planning-map-container img{width:100%;height:100%;object-fit:contain;object-position:center top}.planning-page .jobs-table-container{flex:1;min-height:0;height:auto;max-height:none;overflow:auto;padding:20px;border:0;border-radius:0;box-shadow:none;background:var(--bg-main);scrollbar-gutter:stable}.planning-page .table-responsive-wrapper{max-height:none;height:auto;overflow-x:auto;overflow-y:visible;border-radius:10px}.table-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}@media(max-width:768px){.table-header-actions{flex-direction:column;align-items:stretch}.table-header-actions .right-actions{margin-left:0;display:flex;justify-content:flex-end}}.table-header-actions .right-actions{margin-left:auto}.column-selector{position:relative}.column-selector .btn-columns{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer}.column-selector .btn-columns:hover{background:var(--bg-surface-hover)}.column-selector .columns-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:250px;max-height:400px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);z-index:1000;padding:12px;display:none}.column-selector .columns-dropdown.active{display:block}.column-selector .columns-dropdown .column-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-primary)}.column-selector .columns-dropdown .column-item:hover{background:var(--bg-surface-hover)}.column-selector .columns-dropdown .column-item input[type=checkbox]{width:16px;height:16px;border-radius:4px;border:2px solid var(--border-color);appearance:none;cursor:pointer;position:relative;transition:all .2s}.column-selector .columns-dropdown .column-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.column-selector .columns-dropdown .column-item input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:10px}.planning-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0 4px}.planning-table th{padding:12px 16px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;background:var(--bg-surface);position:sticky;top:0;z-index:10;white-space:nowrap}.planning-table th.hidden{display:none}.planning-table td{padding:12px 16px;font-size:12px;color:var(--text-primary);background:#ffffff05;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);white-space:nowrap}.planning-table td:first-child{border-left:1px solid var(--border-color);border-top-left-radius:8px;border-bottom-left-radius:8px}.planning-table td:last-child{border-right:1px solid var(--border-color);border-top-right-radius:8px;border-bottom-right-radius:8px}.planning-table td.hidden{display:none}.planning-table td .btn-full-details{padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:6px}.job-id-link{font-weight:700;color:var(--accent);text-decoration:none}.job-id-link:hover{text-decoration:underline}.customer-cell .cust-name{font-weight:600;display:block}.customer-cell .cust-loc{font-size:11px;color:var(--text-secondary)}.inline-edit-input{background:transparent;border:1px solid transparent;color:var(--text-primary);width:80px;padding:4px 8px;border-radius:4px;font-size:12px}.inline-edit-input:hover{border-color:var(--border-color)}.inline-edit-input:focus{outline:none;border-color:var(--accent);background:#ffffff0d}.customers-tabs-container{margin-top:24px;padding:0;overflow:hidden}.customers-tabs-container .tabs-header{display:flex;gap:8px;padding:16px 24px;border-bottom:1px solid var(--border-color);background:#ffffff0d}.customers-tabs-container .tabs-header .tab-btn{background:none;border:none;padding:10px 20px;font-family:inherit;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;gap:10px}.customers-tabs-container .tabs-header .tab-btn:hover{background:#ffffff1a;color:var(--text-primary)}.customers-tabs-container .tabs-header .tab-btn.active{background:var(--accent);color:#fff}.customers-tabs-container .tabs-header .tab-btn.active .count-badge{background:#fff3;color:#fff}.customers-tabs-container .tabs-header .tab-btn .count-badge{padding:2px 8px;border-radius:20px;background:var(--border-color);font-size:11px;font-weight:700}.customers-tabs-container .tab-content{padding:24px;animation:fadeIn .3s ease}.customers-tabs-container .tab-content.active{display:block}.page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-end}.page-header .page-title{font-size:28px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.5px}.page-header .page-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.page-header .btn-add-header{background:#46a2c9;color:#fff;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #46a2c933}.page-header .btn-add-header:hover{background:#3a8ab0;transform:translateY(-1px);box-shadow:0 6px 16px #46a2c94d}.page-header .btn-add-header svg{stroke:#fff}.table-controls{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.table-controls .search-box{position:relative;width:300px}.table-controls .search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}.table-controls .search-box input{width:100%;padding:10px 10px 10px 40px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit}.table-controls .search-box input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.centered-content-wrapper{margin:0 auto;max-width:1100px;width:100%}.modern-form-layout{margin-top:32px;width:100%}.modern-form-layout .form-sections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media(max-width:1024px){.modern-form-layout .form-sections-grid{grid-template-columns:1fr}}.modern-form-layout .form-section{padding:0;overflow:hidden}.modern-form-layout .form-section .section-header{padding:16px 24px;background:#ffffff0d;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px;color:var(--accent)}.modern-form-layout .form-section .section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.modern-form-layout .form-section .section-content{padding:24px}.modern-form-layout .form-section .section-content .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:600px){.modern-form-layout .form-section .section-content .form-row{grid-template-columns:1fr}}.modern-form-layout .form-section .section-content .form-group{margin-bottom:20px}.modern-form-layout .form-section .section-content .form-group.full-width{grid-column:span 2}.modern-form-layout .form-section .section-content .form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.modern-form-layout .form-section .section-content .form-group input,.modern-form-layout .form-section .section-content .form-group select,.modern-form-layout .form-section .section-content .form-group textarea{width:100%;padding:10px 14px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;transition:all .2s ease}.modern-form-layout .form-section .section-content .form-group input:focus,.modern-form-layout .form-section .section-content .form-group select:focus,.modern-form-layout .form-section .section-content .form-group textarea:focus{outline:none;border-color:var(--accent);background:#ffffff0d;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.modern-form-layout .form-actions-footer{margin-top:40px;padding:24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:16px;background:#ffffff05;border-radius:12px}.sub-section-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin:20px 0 16px;text-transform:uppercase;letter-spacing:1px}.divider{height:1px;background:var(--border-color);margin:24px 0}.radio-toggle{display:flex;gap:20px;padding-top:8px}.radio-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-primary)!important;font-size:14px!important}.radio-toggle input[type=radio]{width:18px!important;height:18px!important;accent-color:var(--accent)}.add-customer-bar{display:none}.actions-table th.text-center,.actions-table td.text-center{text-align:center!important}.actions-table .btn-action-link,.actions-table .btn-expand-jobs,.actions-table .btn-expand-settings{margin:0 auto}.customer-info-cell{text-align:left}.customer-info-cell .company-name{font-weight:600;color:var(--text-primary);font-size:14px}.customer-info-cell .contact-name{font-size:12px;color:var(--text-secondary);margin-top:2px}.text-start{text-align:left!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.justify-content-center{justify-content:center}.expansion-row{background:#00000003}.expansion-row td{padding:0!important;border-bottom:none!important}.expansion-content{padding:0;overflow:hidden;border-bottom:2px solid var(--accent)}.expansion-data-table{width:100%;border-collapse:collapse;margin-bottom:32px}.expansion-data-table thead{background:#000}.expansion-data-table thead th{background:#1a1d21;color:#fff;font-weight:700;font-size:13px;padding:12px 20px;text-align:left;border:1px solid #FFFFFF!important;box-shadow:inset 0 0 0 .5px #fff;text-transform:uppercase;letter-spacing:.5px}.expansion-data-table tbody tr:hover{background:#fff!important}.expansion-data-table tbody td{padding:16px 20px!important;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color);background:var(--bg-surface)}.expansion-footer{padding:16px 24px;background:var(--bg-surface-lighter);display:flex;justify-content:space-between;align-items:center}.expansion-footer .footer-left{display:flex;gap:12px}.expansion-footer .footer-right{display:flex;align-items:center;gap:24px}.expansion-footer .footer-right .totals-info{text-align:right;font-size:13px;color:var(--text-secondary)}.expansion-footer .footer-right .totals-info strong{color:var(--text-primary)}.settings-form-wrapper{padding:24px;max-height:450px;overflow-y:auto}.settings-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.settings-form-grid .settings-col h4{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--accent);text-transform:uppercase}.settings-form-grid .settings-col .form-group{margin-bottom:20px}.settings-form-grid .settings-col .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.settings-form-grid .settings-col label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.settings-form-grid .settings-col input[type=text],.settings-form-grid .settings-col input[type=email],.settings-form-grid .settings-col input[type=number],.settings-form-grid .settings-col input[type=tel],.settings-form-grid .settings-col input[type=password],.settings-form-grid .settings-col select,.settings-form-grid .settings-col textarea{width:100%;padding:10px 14px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;transition:all .2s ease}.settings-form-grid .settings-col input[type=text]:focus,.settings-form-grid .settings-col input[type=email]:focus,.settings-form-grid .settings-col input[type=number]:focus,.settings-form-grid .settings-col input[type=tel]:focus,.settings-form-grid .settings-col input[type=password]:focus,.settings-form-grid .settings-col select:focus,.settings-form-grid .settings-col textarea:focus{outline:none;border-color:var(--accent);background:#ffffff0d;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.btn-expand-jobs{background:#e9ecef;border:1px solid #ced4da;border-radius:4px;padding:4px 8px;display:flex;align-items:center;gap:8px;font-size:13px;color:#495057;cursor:pointer}.btn-expand-jobs.has-jobs .count-badge{background:#28a745;color:#fff}.btn-expand-jobs .count-badge{padding:2px 6px;border-radius:4px;background:#6c757d;color:#fff;font-size:11px}.btn-action-link{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--accent);padding:0}.btn-action-link:hover{color:var(--accent-hover);text-decoration:underline}.btn-expand-settings{background:#fff;border:1px solid var(--border-color);padding:4px 10px;border-radius:4px;font-size:13px;display:flex;align-items:center;gap:6px;cursor:pointer}.customer-info-cell .company-name{font-weight:600;color:var(--text-primary)}.customer-info-cell .contact-name{font-size:12px;color:var(--text-secondary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown .3s ease-out forwards}.form-checkbox-group{display:flex;align-items:center;gap:10px;margin-top:10px}.form-checkbox-group label{font-size:14px;color:var(--text-secondary);cursor:pointer}.form-checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.dashboard-content-main.calendar-page{flex:1;display:flex;flex-direction:column;min-height:0}.dashboard-content-main.calendar-page .calendar-toolbar{flex-shrink:0}.dashboard-content-main.calendar-page .calendar-card{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.dashboard-content-main.calendar-page .calendar-card #calendar{flex:1;min-height:0;overflow:auto}.dashboard-content-main.calendar-page .calendar-card #calendar .fc{height:100%}.fc{font-family:var(--font-primary)!important}.fc .fc-header-toolbar{margin-bottom:24px!important;flex-wrap:wrap;gap:12px}.fc .fc-toolbar-title{font-size:1.75rem!important;font-weight:800!important;letter-spacing:-.5px;color:var(--text-primary)}.fc .fc-button-primary{background-color:var(--bg-surface-lighter)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;font-weight:700!important;text-transform:capitalize!important;padding:8px 16px!important;border-radius:8px!important;box-shadow:none!important;transition:all .2s ease!important}.fc .fc-button-primary:hover{background-color:var(--border-color)!important}.fc .fc-button-primary:focus{box-shadow:none!important}.fc .fc-button-active{background-color:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.fc .fc-theme-standard td,.fc .fc-theme-standard th{border:1px solid var(--border-color)!important}.fc .fc-col-header-cell{background:var(--bg-surface-lighter);padding:12px 0!important;border-bottom:2px solid var(--border-color)!important}.fc .fc-col-header-cell-cushion{color:#1a73e8!important;font-weight:700!important;font-size:.9rem!important;text-decoration:none!important}.fc .fc-daygrid-day-number{color:#1a73e8!important;font-weight:700!important;font-size:.9rem!important;text-decoration:none!important;padding:10px!important}.fc .fc-day-other{background-color:var(--bg-surface-lighter);opacity:.6}.fc .fc-day-other .fc-daygrid-day-number{color:var(--text-secondary)!important;opacity:.6}.fc .fc-day-today{background-color:#fef3c773!important}.fc .fc-daygrid-event-harness{margin-bottom:2px!important}.fc .fc-event{background-color:#e8f0fe!important;border:1px solid #d2e3fc!important;border-radius:4px!important;padding:3px 6px!important;cursor:pointer!important;box-shadow:0 1px 2px #0000000d!important;transition:all .15s ease!important}.fc .fc-event:hover{background-color:#d2e3fc!important;transform:translateY(-1px)}.fc .fc-custom-event{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:11px;line-height:1.4;color:#1967d2!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc .fc-event-driver{font-weight:700;flex-shrink:0}.fc .fc-event-note{font-weight:500;opacity:.9;overflow:hidden;text-overflow:ellipsis}.driver-note-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-backdrop);z-index:2000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.driver-note-modal{width:100%;max-width:600px;background:var(--bg-surface);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;animation:modalSlideIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-surface)}.modal-title-text{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close-modal-x{background:none;border:none;font-size:1.75rem;font-weight:300;color:var(--text-secondary);cursor:pointer;padding:0;line-height:.8;transition:color .2s ease}.btn-close-modal-x:hover{color:var(--text-primary)}.modal-body-content{padding:24px}.form-fields-container{background-color:var(--bg-surface-lighter);border:1px solid var(--border-color);border-radius:8px;padding:20px}.form-field-row{display:flex;align-items:center;margin-bottom:18px}.form-field-row:last-child{margin-bottom:0;align-items:flex-start}.form-row-label{width:100px;font-size:.925rem;font-weight:700;color:var(--text-primary);margin-bottom:0;flex-shrink:0}.form-row-input{flex-grow:1}.form-select-custom,.form-textarea-custom{width:100%;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;color:var(--text-primary);font-size:.9rem;outline:none;transition:all .2s ease}.form-select-custom:focus,.form-textarea-custom:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007bff26}.form-textarea-custom{resize:vertical;min-height:100px}.modal-footer-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-surface)}.btn-save-note{background-color:#007bff;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:700;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.btn-save-note:hover{background-color:#0069d9}.btn-delete-note{background-color:transparent;color:#dc3545;border:1px solid #dc3545;padding:10px 24px;border-radius:6px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-right:auto}.btn-delete-note:hover{background-color:#dc3545;color:#fff}[data-theme=dark] .fc .fc-event{background-color:#1967d233!important;border:1px solid rgba(25,103,210,.4)!important}[data-theme=dark] .fc .fc-custom-event{color:#8ab4f8!important}.dashboard-layout>main.calendar-page{display:flex;flex:1 1 auto!important;flex-direction:column;gap:18px;min-height:0!important;height:auto;overflow-x:hidden!important;overflow-y:auto!important;padding-bottom:32px!important;scrollbar-gutter:stable}.calendar-page-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.calendar-page-header h1{margin:0;color:var(--text-primary);font-size:28px;font-weight:800;letter-spacing:-.5px}.calendar-page-header p{margin:5px 0 0;color:var(--text-secondary)}.calendar-add-button{border:0;border-radius:8px;padding:11px 18px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.calendar-type-tabs{display:flex;gap:8px;flex-wrap:wrap}.calendar-type-tabs a{padding:9px 14px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;background:var(--bg-surface)}.calendar-type-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.calendar-card{flex:0 0 auto!important;min-height:790px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:22px;overflow-x:auto;overflow-y:visible}.calendar-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:20px}.calendar-controls h2{justify-self:start;margin:0;color:var(--text-primary);font-size:25px;font-weight:800}.calendar-navigation{display:flex;justify-self:end;gap:6px}.calendar-navigation button,.calendar-view-label{border:1px solid var(--border-color);border-radius:7px;background:var(--bg-surface-lighter);color:var(--text-primary);padding:7px 13px;font:inherit;font-weight:700}.calendar-navigation button{cursor:pointer}.calendar-view-label{justify-self:end;background:var(--accent);border-color:var(--accent);color:#fff}.calendar-grid{display:grid;flex:0 0 auto;grid-template-columns:repeat(7,minmax(120px,1fr));grid-template-rows:auto repeat(6,minmax(118px,auto));min-width:840px;min-height:750px;border-top:1px solid var(--border-color);border-left:1px solid var(--border-color)}.calendar-weekday{padding:12px;background:var(--bg-surface-lighter);color:#1a73e8;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center;font-size:13px;font-weight:800}.calendar-day{min-height:118px;padding:8px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-surface);overflow:hidden}.calendar-day.outside{opacity:.48;background:var(--bg-surface-lighter)}.calendar-day.today{background:#fef3c773}.calendar-day.selecting{background:#46a2c92e;box-shadow:inset 0 0 0 2px var(--accent);-webkit-user-select:none;user-select:none}.calendar-day-number{display:block;margin-left:auto;border:0;background:transparent;color:#1a73e8;font:inherit;font-weight:800;cursor:pointer}.calendar-day-events{display:flex;flex-direction:column;gap:4px;margin-top:5px}.calendar-event{width:100%;display:flex;align-items:center;gap:4px;overflow:hidden;padding:4px 6px;border:1px solid #d2e3fc;border-radius:4px;background:#e8f0fe;color:#1967d2;font:inherit;font-size:11px;text-align:left;cursor:pointer}.calendar-event.event{background:#ecfdf3;border-color:#bbf7d0;color:#15803d}.calendar-event.welfare{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.calendar-event strong{flex:0 0 auto}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-note-modal-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:#0f172a94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.driver-note-modal-overlay.active{display:flex}.driver-note-modal{width:min(620px,100%);overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-surface);box-shadow:0 24px 70px #0000003d}.modal-header-bar,.modal-footer-bar{display:flex;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid var(--border-color)}.modal-footer-bar{justify-content:flex-end;border-top:1px solid var(--border-color);border-bottom:0}.modal-title-text{margin:0;color:var(--text-primary);font-size:18px}.btn-close-modal-x{margin-left:auto;border:0;background:transparent;color:var(--text-secondary);font-size:28px;cursor:pointer}.modal-body-content{padding:22px}.form-fields-container{display:flex;flex-direction:column;gap:17px;padding:20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface-lighter)}.calendar-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calendar-form-field{display:flex;flex-direction:column;gap:7px;color:var(--text-primary);font-size:13px;font-weight:700}.calendar-form-field input,.calendar-form-field select,.calendar-form-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font:inherit}.calendar-form-field textarea{resize:vertical}.btn-save-note,.btn-delete-note,.calendar-cancel-button{border-radius:6px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer}.btn-save-note{border:0;background:#007bff;color:#fff}.btn-delete-note{margin-right:auto;border:1px solid #dc3545;background:transparent;color:#dc3545}.calendar-cancel-button{border:1px solid var(--border-color);background:var(--bg-surface-lighter);color:var(--text-primary)}.calendar-alert{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:7px;font-size:13px}.calendar-alert.success{background:#dcfce7;color:#166534}.calendar-alert.error{margin-bottom:14px;background:#fee2e2;color:#991b1b}.calendar-alert button{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}@media(max-width:900px){.calendar-card{overflow-x:auto}.calendar-page-header{align-items:stretch;flex-direction:column}}@media(max-width:600px){.calendar-controls{grid-template-columns:1fr}.calendar-controls h2,.calendar-navigation{justify-self:start}.calendar-view-label{display:none}.calendar-form-dates{grid-template-columns:1fr}}.customer-invoices-page{background:#f5f8fb;color:#111827;padding:18px 12px 52px}.customer-invoices-page .customer-invoices-shell{width:100%}.customer-invoices-page .customer-invoices-heading{margin-bottom:16px}.customer-invoices-page .customer-invoices-heading h1{margin:0 0 7px;color:#0f172a;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.2;font-weight:700;letter-spacing:0}.customer-invoices-page .customer-invoices-heading p{margin:0;color:#51657e;font-size:10px;line-height:1.45}.invoice-alert{margin:0 0 12px;padding:8px 10px;border-radius:4px;font-size:10px;line-height:1.35;font-weight:700}.invoice-alert-success{border:1px solid #86efac;background:#dcfce7;color:#166534}.invoice-alert-error{border:1px solid #fca5a5;background:#fee2e2;color:#991b1b}.invoices-container{display:flex;flex-direction:column;gap:14px}.invoice-group{overflow:visible}.invoice-group.is-empty{border:1px solid #d7e0ea;border-radius:6px;background:#fff;box-shadow:0 8px 18px #0f172a14}.invoice-group .group-header{padding:0 0 5px;border:0;background:transparent}.invoice-group h2{margin:0;color:#050505;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.25;font-weight:700;letter-spacing:0}.invoice-group .table-responsive{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #d7e0ea;border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a14}.invoice-group .invoice-data-table,.invoice-group .invoice-data-table.w-100{width:100%!important;min-width:1120px;margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed}.invoice-group .invoice-data-table th,.invoice-group .invoice-data-table td,.invoice-group .invoice-data-table.w-100 th,.invoice-group .invoice-data-table.w-100 td{border-right:0;vertical-align:middle;text-align:left;letter-spacing:0;white-space:nowrap}.invoice-group .invoice-data-table th,.invoice-group .invoice-data-table.w-100 th{height:29px;padding:9px 12px;border-bottom:1px solid #dbe2ea;background:#edf2f7;color:#55708f;font-size:8px;line-height:1;font-weight:700;text-transform:uppercase}.invoice-group .invoice-data-table td,.invoice-group .invoice-data-table.w-100 td{height:33px;padding:10px 12px;border-bottom:1px solid #e3e8ef;background:#fff;color:#00172e;font-size:9px;line-height:1.2;font-weight:500}.invoice-group .invoice-data-table th:nth-child(1),.invoice-group .invoice-data-table td:nth-child(1),.invoice-group .invoice-data-table.w-100 th:nth-child(1),.invoice-group .invoice-data-table.w-100 td:nth-child(1){width:54px}.invoice-group .invoice-data-table th:nth-child(2),.invoice-group .invoice-data-table td:nth-child(2),.invoice-group .invoice-data-table.w-100 th:nth-child(2),.invoice-group .invoice-data-table.w-100 td:nth-child(2){width:74px}.invoice-group .invoice-data-table th:nth-child(3),.invoice-group .invoice-data-table td:nth-child(3),.invoice-group .invoice-data-table th:nth-child(4),.invoice-group .invoice-data-table td:nth-child(4),.invoice-group .invoice-data-table.w-100 th:nth-child(3),.invoice-group .invoice-data-table.w-100 td:nth-child(3),.invoice-group .invoice-data-table.w-100 th:nth-child(4),.invoice-group .invoice-data-table.w-100 td:nth-child(4){width:92px}.invoice-group .invoice-data-table th:nth-child(5),.invoice-group .invoice-data-table td:nth-child(5),.invoice-group .invoice-data-table.w-100 th:nth-child(5),.invoice-group .invoice-data-table.w-100 td:nth-child(5){width:auto;white-space:normal}.invoice-group .invoice-data-table th:nth-child(6),.invoice-group .invoice-data-table td:nth-child(6),.invoice-group .invoice-data-table.w-100 th:nth-child(6),.invoice-group .invoice-data-table.w-100 td:nth-child(6){width:86px;text-align:right}.invoice-group .invoice-data-table th:nth-child(7),.invoice-group .invoice-data-table td:nth-child(7),.invoice-group .invoice-data-table.w-100 th:nth-child(7),.invoice-group .invoice-data-table.w-100 td:nth-child(7){width:66px;text-align:center}.invoice-group .invoice-data-table th:nth-child(8),.invoice-group .invoice-data-table td:nth-child(8),.invoice-group .invoice-data-table.w-100 th:nth-child(8),.invoice-group .invoice-data-table.w-100 td:nth-child(8){width:106px;text-align:right}.invoice-group .invoice-data-table tbody tr:last-child td,.invoice-group .invoice-data-table.w-100 tbody tr:last-child td{border-bottom:0}.empty-invoices{padding:20px;color:#51657e;font-size:12px;text-align:center}.invoice-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:14px;padding:3px 8px;border-radius:999px;background:#e8f3ff;color:#1d77b7;font-size:7px;line-height:1;font-weight:700;text-transform:uppercase}.invoice-page-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.invoice-page-actions button{min-width:48px;height:22px;border-radius:2px;border:1px solid transparent;padding:0 11px;font-size:8px;font-weight:700;line-height:1;cursor:pointer}.invoice-page-actions button:disabled{cursor:not-allowed;opacity:.65}.invoice-page-actions .invoice-action-primary{background:#2587ad;border-color:#2587ad;color:#fff}.invoice-page-actions .invoice-action-primary:hover{background:#1f7598}.invoice-page-actions .invoice-action-secondary{background:#f8fafc;border-color:#cbd5e1;color:#334155}.invoice-page-actions .invoice-action-secondary:hover{background:#eef2f7}.invoice-processing-message{margin-top:10px;color:#1d77b7;font-size:10px;font-weight:700}@media(max-width:768px){.customer-invoices-page{padding:14px 10px 40px}.invoice-group .invoice-data-table,.invoice-group .invoice-data-table.w-100{min-width:980px}}.portal-system-support-container{width:100%;max-width:1440px;margin:0 auto;padding:24px;color:var(--text-primary)}.portal-system-support-container .system-support-title-row{text-align:center;margin-bottom:18px}.portal-system-support-container .system-support-title-row h1{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin:0;font-size:32px;font-weight:800}.portal-system-support-container .system-support-title-row img{width:58px;height:58px;object-fit:contain}.portal-system-support-container .system-support-actions,.portal-system-support-container .system-support-button-strip,.portal-system-support-container .system-support-inline-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.portal-system-support-container .system-support-actions{justify-content:center;margin-bottom:22px}.portal-system-support-container .system-support-button-strip{margin-bottom:18px}.portal-system-support-container .system-support-button-strip.center{justify-content:center}.portal-system-support-container .btn-lg{min-height:46px;padding:10px 18px;border-radius:6px;font-size:15px;font-weight:700}.portal-system-support-container .btn-success{background:#198754;color:#fff}.portal-system-support-container .btn-warning,.portal-system-support-container .btn-outline-warning{background:#ffc107;color:#111827}.portal-system-support-container .btn-outline-warning{border:1px solid #d39e00}.portal-system-support-container .btn-dark{background:#212529;color:#fff}.portal-system-support-container .btn-danger{background:#dc3545;color:#fff}.portal-system-support-container .btn-info{background:#0dcaf0;color:#06212a}.portal-system-support-container .btn:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.portal-system-support-container .alert{width:100%;border-radius:6px;padding:12px 16px;margin-bottom:14px;border:1px solid transparent}.portal-system-support-container .alert-info{min-height:54px;background:#d9edf7;border-color:#bce8f1;color:#31708f}.portal-system-support-container .alert-success{background:#d1e7dd;border-color:#badbcc;color:#0f5132}.portal-system-support-container .alert-danger{background:#f8d7da;border-color:#f5c2c7;color:#842029}.portal-system-support-container .system-support-selected-job p{margin:0 0 6px}.portal-system-support-container .system-support-selected-job p:last-child{margin-bottom:0}.portal-system-support-container .system-support-selected-job a{color:#0d6efd;font-weight:700;word-break:break-all}.portal-system-support-container .system-support-task{margin-top:20px;padding:22px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px}.portal-system-support-container .system-support-task h1{margin:0 0 8px;font-size:26px;font-weight:800}.portal-system-support-container .system-support-task p{margin-top:0}.portal-system-support-container .system-support-image-tools{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,2fr);gap:24px;align-items:start;margin-bottom:22px}.portal-system-support-container .system-support-inline-controls .form-control{flex:1 1 180px;min-width:0}.portal-system-support-container .form-control{min-height:44px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface-lighter);color:var(--text-primary);font-size:15px}.portal-system-support-container .text-center,.portal-system-support-container .system-support-upload-panel{text-align:center}.portal-system-support-container .system-support-upload-button{display:inline-flex;margin-top:8px}.portal-system-support-container .system-support-radio-container{display:inline-flex;align-items:center;gap:8px;margin:0 18px 12px 0;font-weight:700;cursor:pointer}.portal-system-support-container .system-support-radio-container input{width:18px;height:18px}.portal-system-support-container .image-input{display:none}.portal-system-support-container .system-support-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-system-support-container .system-support-directory-listing-image-container{padding:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-main)}.portal-system-support-container .system-support-directory-listing-image-container p{margin-bottom:8px;font-size:12px;color:var(--text-secondary);word-break:break-all;text-align:left}.portal-system-support-container .system-support-directory-listing-image{width:100%;max-height:420px;object-fit:contain;background:#fff;border:1px solid var(--border-color);border-radius:6px}.portal-system-support-container .system-support-json-editor{min-height:560px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.45;white-space:pre}.portal-system-support-container .system-support-plate-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto}.portal-system-support-container .system-support-checkbox{display:inline-flex;align-items:center;gap:8px;margin:12px 0 18px;font-weight:700}.portal-system-support-container .system-support-driver-app-current-version-report-spinner-container{padding:40px 0;font-size:28px;font-weight:800;color:var(--accent)}.portal-system-support-container .system-support-driver-app-current-version-report-container{margin-top:18px;padding:18px;text-align:left;background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px}.portal-system-support-container .system-support-driver-app-current-version-report-container p{margin:0 0 8px;font-size:14px}@media(max-width:768px){.portal-system-support-container{padding:16px}.portal-system-support-container .system-support-image-tools,.portal-system-support-container .system-support-image-grid,.portal-system-support-container .system-support-plate-controls{grid-template-columns:1fr}.portal-system-support-container .system-support-title-row h1{font-size:24px}}.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.mb-4{margin-bottom:24px}.mb-3{margin-bottom:16px}.mt-4{margin-top:24px}.py-4{padding-top:24px;padding-bottom:24px}.p-4{padding:24px}.me-3{margin-right:16px}.d-flex{display:flex}.flex-column{flex-direction:column}.flex-grow-1{flex-grow:1}.w-100{width:100%}.ms-auto{margin-left:auto}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:24px}.text-secondary{color:var(--text-secondary)}.text-right{text-align:right}.text-red{color:#ff4d4d}.mb-0{margin-bottom:0!important}.form-check-label-custom{font-size:15px;cursor:pointer;white-space:nowrap}.form-check-label-sm{font-size:14px;cursor:pointer}.cursor-pointer{cursor:pointer}.jobs-table-container,.table-responsive,.table-responsive-wrapper,.portal-users-table-container,.report-table-shell{overflow-x:scroll;scrollbar-gutter:stable}.data-table,.data-table.w-100{width:max-content!important;min-width:100%}
