:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;margin:0;padding:0;font-weight:400}:root{--primary-color: #4CAF50;--primary-color-hover: #45a049;--danger-color: #f44336;--warning-color: #ff9800;--success-color: #4CAF50;--info-color: #2196F3}a{text-decoration:none;color:var(--primary-color);transition:color .3s}a:hover{color:var(--primary-color-hover)}button{cursor:pointer;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;transition:background-color .3s,transform .1s}button:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-color-hover)}input,select,button,.clickable{min-height:44px}.container{padding:1rem}.text-center{text-align:center}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}@media (min-width: 768px) and (orientation: landscape){.container{padding:1.5rem;max-width:1024px;margin:0 auto}}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}#app{height:100%;margin:0;padding:0;font-weight:400;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;min-height:100vh}main{flex:1;display:flex;flex-direction:column}nav{display:flex;justify-content:space-around;background-color:var(--color-background-soft);padding:.75rem 1rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a;z-index:10}nav a{display:flex;flex-direction:column;align-items:center;color:var(--color-text);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:4px;transition:all .3s ease}nav a.router-link-active{color:#4caf50;font-weight:700}.logout-btn{display:flex;flex-direction:column;align-items:center;color:var(--color-text);background:none;border:none;font-size:.9rem;padding:.5rem 1rem;border-radius:4px;transition:all .3s ease;cursor:pointer}.logout-btn:hover{color:#f44336;background-color:#f443361a}main{padding-bottom:60px}@media (min-width: 768px){nav{padding:1rem}nav a,.logout-btn{font-size:1rem}}.home-container[data-v-f0f4ccdb]{padding:1rem;text-align:center;max-width:1200px;margin:0 auto}.home-intro[data-v-f0f4ccdb]{margin-top:1rem;max-width:600px;margin-left:auto;margin-right:auto;color:var(--color-text)}.user-info[data-v-f0f4ccdb]{margin:2rem auto;padding:1.5rem;background-color:var(--color-background-soft);border-radius:8px;max-width:400px;text-align:left;border:1px solid var(--color-border)}.user-info-title[data-v-f0f4ccdb]{margin-bottom:1rem;color:var(--color-heading);text-align:center;font-size:1.2rem}.user-field[data-v-f0f4ccdb]{margin-bottom:.75rem;color:var(--color-text);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.user-field[data-v-f0f4ccdb]:last-child{margin-bottom:0;border-bottom:none}.user-field strong[data-v-f0f4ccdb]{color:var(--color-heading);display:inline-block;min-width:80px}.user-field.error[data-v-f0f4ccdb]{color:#ff6b6b;background-color:#ff6b6b1a;padding:.75rem;border-radius:4px;border:1px solid rgba(255,107,107,.3)}.admin-actions[data-v-f0f4ccdb]{margin-top:3rem}.admin-actions h3[data-v-f0f4ccdb]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.action-grid[data-v-f0f4ccdb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.action-card[data-v-f0f4ccdb]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:left;transition:transform .2s,box-shadow .2s}.action-card[data-v-f0f4ccdb]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-card h4[data-v-f0f4ccdb]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.action-card p[data-v-f0f4ccdb]{color:var(--color-text);margin-bottom:1rem;line-height:1.5}.action-button[data-v-f0f4ccdb]{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;width:100%}.action-button[data-v-f0f4ccdb]:hover{background-color:#c0392b}.camera-button[data-v-f0f4ccdb]{background-color:#27ae60!important}.camera-button[data-v-f0f4ccdb]:hover{background-color:#1e8449!important}.image-preview-overlay[data-v-f0f4ccdb]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.image-preview-modal[data-v-f0f4ccdb]{background-color:var(--color-background);border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.preview-header[data-v-f0f4ccdb]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}.preview-header h3[data-v-f0f4ccdb]{margin:0;color:var(--color-heading)}.close-button[data-v-f0f4ccdb]{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text);padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-button[data-v-f0f4ccdb]:hover{background-color:var(--color-background-soft)}.preview-content[data-v-f0f4ccdb]{padding:1rem}.preview-image[data-v-f0f4ccdb]{width:100%;max-height:300px;object-fit:contain;border-radius:4px;margin-bottom:1rem}.image-info[data-v-f0f4ccdb]{margin-bottom:1rem;padding:.75rem;background-color:var(--color-background-soft);border-radius:4px;border:1px solid var(--color-border)}.image-info p[data-v-f0f4ccdb]{margin:0;color:var(--color-text);font-size:.9rem}.location-selection[data-v-f0f4ccdb]{margin-bottom:1rem}.location-selection h4[data-v-f0f4ccdb]{margin-bottom:1rem;color:var(--color-heading)}.search-container[data-v-f0f4ccdb]{margin-bottom:1rem}.search-input[data-v-f0f4ccdb]{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:.9rem;transition:border-color .2s}.search-input[data-v-f0f4ccdb]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.search-input[data-v-f0f4ccdb]::placeholder{color:var(--color-text-secondary)}.location-count[data-v-f0f4ccdb]{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.5rem;text-align:center;padding:.5rem;background-color:var(--color-background-soft);border-radius:4px}.loading-text[data-v-f0f4ccdb],.error-text[data-v-f0f4ccdb],.no-locations[data-v-f0f4ccdb]{padding:1rem;text-align:center;color:var(--color-text);font-style:italic}.error-text[data-v-f0f4ccdb]{color:#ff6b6b;background-color:#ff6b6b1a;border-radius:4px;border:1px solid rgba(255,107,107,.3)}.location-list[data-v-f0f4ccdb]{max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:4px}.location-option[data-v-f0f4ccdb]{padding:.75rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s}.location-option[data-v-f0f4ccdb]:last-child{border-bottom:none}.location-option[data-v-f0f4ccdb]:hover{background-color:var(--color-background-soft)}.location-option.selected[data-v-f0f4ccdb]{background-color:#3498db;color:#fff}.location-name[data-v-f0f4ccdb]{font-weight:500;margin-bottom:.25rem}.location-address[data-v-f0f4ccdb]{font-size:.85rem;opacity:.8}.location-company[data-v-f0f4ccdb]{font-size:.8rem;color:#3498db;font-weight:500;margin-top:.25rem;padding:.2rem .5rem;background-color:#3498db1a;border-radius:12px;display:inline-block}.preview-actions[data-v-f0f4ccdb]{display:flex;gap:1rem;margin-top:1rem}.upload-button[data-v-f0f4ccdb]{background-color:#27ae60!important;flex:1}.upload-button[data-v-f0f4ccdb]:hover:not(:disabled){background-color:#1e8449!important}.upload-button[data-v-f0f4ccdb]:disabled{background-color:#bdc3c7!important;cursor:not-allowed}.cancel-button[data-v-f0f4ccdb]{background-color:#7f8c8d!important;flex:1}.cancel-button[data-v-f0f4ccdb]:hover{background-color:#566573!important}@media (max-width: 768px){.action-grid[data-v-f0f4ccdb]{grid-template-columns:1fr}.home-container[data-v-f0f4ccdb]{padding:.5rem}.image-preview-modal[data-v-f0f4ccdb]{margin:.5rem;max-height:95vh}.preview-actions[data-v-f0f4ccdb]{flex-direction:column}}.home-container[data-v-8ab08533]{padding:1rem;text-align:center;max-width:1200px;margin:0 auto}.home-intro[data-v-8ab08533]{margin-top:1rem;max-width:600px;margin-left:auto;margin-right:auto;color:var(--color-text)}.user-info[data-v-8ab08533]{margin:2rem auto;padding:1.5rem;background-color:var(--color-background-soft);border-radius:8px;max-width:400px;text-align:left;border:1px solid var(--color-border)}.user-info-title[data-v-8ab08533]{margin-bottom:1rem;color:var(--color-heading);text-align:center;font-size:1.2rem}.user-field[data-v-8ab08533]{margin-bottom:.75rem;color:var(--color-text);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.user-field[data-v-8ab08533]:last-child{margin-bottom:0;border-bottom:none}.user-field strong[data-v-8ab08533]{color:var(--color-heading);display:inline-block;min-width:80px}.user-field.error[data-v-8ab08533]{color:#ff6b6b;background-color:#ff6b6b1a;padding:.75rem;border-radius:4px;border:1px solid rgba(255,107,107,.3)}.admin-actions[data-v-8ab08533]{margin-top:3rem}.admin-actions h3[data-v-8ab08533]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.action-grid[data-v-8ab08533]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.action-card[data-v-8ab08533]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:left;transition:transform .2s,box-shadow .2s}.action-card[data-v-8ab08533]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-card h4[data-v-8ab08533]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.action-card p[data-v-8ab08533]{color:var(--color-text);margin-bottom:1rem;line-height:1.5}.action-button[data-v-8ab08533]{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;width:100%}.action-button[data-v-8ab08533]:hover{background-color:#2980b9}.action-button.disabled[data-v-8ab08533]{background-color:#bdc3c7;cursor:not-allowed}.action-button.disabled[data-v-8ab08533]:hover{background-color:#bdc3c7}.not-available[data-v-8ab08533]{color:#7f8c8d;font-size:.8rem;margin-top:.5rem;display:block}@media (max-width: 768px){.action-grid[data-v-8ab08533]{grid-template-columns:1fr}.home-container[data-v-8ab08533]{padding:.5rem}}.home-container[data-v-069ca48d]{padding:1rem;text-align:center;max-width:1200px;margin:0 auto}.home-intro[data-v-069ca48d]{margin-top:1rem;max-width:600px;margin-left:auto;margin-right:auto;color:var(--color-text)}.user-info[data-v-069ca48d]{margin:2rem auto;padding:1.5rem;background-color:var(--color-background-soft);border-radius:8px;max-width:400px;text-align:left;border:1px solid var(--color-border)}.user-info-title[data-v-069ca48d]{margin-bottom:1rem;color:var(--color-heading);text-align:center;font-size:1.2rem}.user-field[data-v-069ca48d]{margin-bottom:.75rem;color:var(--color-text);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.user-field[data-v-069ca48d]:last-child{margin-bottom:0;border-bottom:none}.user-field strong[data-v-069ca48d]{color:var(--color-heading);display:inline-block;min-width:80px}.user-field.error[data-v-069ca48d]{color:#ff6b6b;background-color:#ff6b6b1a;padding:.75rem;border-radius:4px;border:1px solid rgba(255,107,107,.3)}.controller-actions[data-v-069ca48d]{margin-top:3rem}.controller-actions h3[data-v-069ca48d]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.action-grid[data-v-069ca48d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.action-card[data-v-069ca48d]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:left;transition:transform .2s,box-shadow .2s}.action-card[data-v-069ca48d]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-card h4[data-v-069ca48d]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.action-card p[data-v-069ca48d]{color:var(--color-text);margin-bottom:1rem;line-height:1.5}.action-button[data-v-069ca48d]{background-color:#f39c12;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;width:100%}.action-button[data-v-069ca48d]:hover{background-color:#e67e22}.quick-stats[data-v-069ca48d]{margin-top:3rem}.quick-stats h3[data-v-069ca48d]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.stats-grid[data-v-069ca48d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.stat-card[data-v-069ca48d]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:center}.stat-number[data-v-069ca48d]{font-size:2.5rem;font-weight:700;color:#f39c12;margin-bottom:.5rem}.stat-label[data-v-069ca48d]{color:var(--color-text);font-size:.9rem}@media (max-width: 768px){.action-grid[data-v-069ca48d]{grid-template-columns:1fr}.stats-grid[data-v-069ca48d]{grid-template-columns:repeat(2,1fr)}.home-container[data-v-069ca48d]{padding:.5rem}}.camera-button[data-v-069ca48d]{background-color:#27ae60}.camera-button[data-v-069ca48d]:hover{background-color:#219a52}.image-preview-overlay[data-v-069ca48d]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.image-preview-modal[data-v-069ca48d]{background-color:var(--color-background);border-radius:12px;padding:0;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #00000080}.preview-header[data-v-069ca48d]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border)}.preview-header h3[data-v-069ca48d]{margin:0;color:var(--color-heading)}.close-button[data-v-069ca48d]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-button[data-v-069ca48d]:hover{color:#ff6b6b}.preview-content[data-v-069ca48d]{padding:1.5rem;text-align:center}.preview-image[data-v-069ca48d]{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 4px 8px #0003}.image-info[data-v-069ca48d]{margin:1rem 0;color:var(--color-text);font-size:.9rem}.location-selection[data-v-069ca48d]{margin:1.5rem 0;text-align:left}.location-selection h4[data-v-069ca48d]{color:var(--color-heading);margin-bottom:1rem;text-align:center}.loading-text[data-v-069ca48d],.error-text[data-v-069ca48d],.no-locations[data-v-069ca48d]{text-align:center;padding:1rem;font-style:italic;color:var(--color-text)}.error-text[data-v-069ca48d]{color:#ff6b6b}.location-list[data-v-069ca48d]{max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:6px}.location-option[data-v-069ca48d]{padding:.75rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s}.location-option[data-v-069ca48d]:last-child{border-bottom:none}.location-option[data-v-069ca48d]:hover{background-color:var(--color-background-soft)}.location-option.selected[data-v-069ca48d]{background-color:#27ae60;color:#fff}.location-option.selected[data-v-069ca48d]:hover{background-color:#219a52}.location-name[data-v-069ca48d]{font-weight:500;margin-bottom:.25rem}.location-address[data-v-069ca48d]{font-size:.85rem;opacity:.8}.preview-actions[data-v-069ca48d]{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.preview-actions .action-button[data-v-069ca48d]{min-width:120px}.upload-button[data-v-069ca48d]{background-color:#27ae60}.upload-button[data-v-069ca48d]:hover:not(:disabled){background-color:#219a52}.upload-button[data-v-069ca48d]:disabled{background-color:#95a5a6;cursor:not-allowed}.cancel-button[data-v-069ca48d]{background-color:#95a5a6}.cancel-button[data-v-069ca48d]:hover{background-color:#7f8c8d}@media (max-width: 768px){.image-preview-modal[data-v-069ca48d]{max-width:95vw;max-height:95vh}.preview-actions[data-v-069ca48d]{flex-direction:column}.preview-actions .action-button[data-v-069ca48d]{width:100%}}.home-container[data-v-598f27c1]{padding:1rem;text-align:center;max-width:1200px;margin:0 auto}.home-intro[data-v-598f27c1]{margin-top:1rem;max-width:600px;margin-left:auto;margin-right:auto;color:var(--color-text)}.user-info[data-v-598f27c1]{margin:2rem auto;padding:1.5rem;background-color:var(--color-background-soft);border-radius:8px;max-width:400px;text-align:left;border:1px solid var(--color-border)}.user-info-title[data-v-598f27c1]{margin-bottom:1rem;color:var(--color-heading);text-align:center;font-size:1.2rem}.user-field[data-v-598f27c1]{margin-bottom:.75rem;color:var(--color-text);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.user-field[data-v-598f27c1]:last-child{margin-bottom:0;border-bottom:none}.user-field strong[data-v-598f27c1]{color:var(--color-heading);display:inline-block;min-width:80px}.user-field.error[data-v-598f27c1]{color:#ff6b6b;background-color:#ff6b6b1a;padding:.75rem;border-radius:4px;border:1px solid rgba(255,107,107,.3)}.assigned-routes[data-v-598f27c1]{margin-top:3rem}.assigned-routes h3[data-v-598f27c1]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.5rem}.routes-grid[data-v-598f27c1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:1.5rem;margin-top:1.5rem}.route-card[data-v-598f27c1]{background-color:var(--color-background-soft);border:2px solid #4CAF50;border-radius:8px;padding:1.5rem;text-align:left;max-width:600px;margin:0 auto}.route-info h4[data-v-598f27c1]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.2rem}.route-status[data-v-598f27c1]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;margin-bottom:1rem}.route-status.active[data-v-598f27c1]{background-color:#4caf50;color:#fff}.route-status.scheduled[data-v-598f27c1]{background-color:#f39c12;color:#fff}.route-status.completed[data-v-598f27c1]{background-color:#95a5a6;color:#fff}.route-details[data-v-598f27c1]{margin-bottom:1.5rem}.detail-item[data-v-598f27c1]{margin-bottom:.5rem;color:var(--color-text)}.detail-item strong[data-v-598f27c1]{color:var(--color-heading)}.route-actions[data-v-598f27c1]{display:flex;gap:1rem;flex-wrap:wrap}.primary-button[data-v-598f27c1]{background-color:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;flex:1;min-width:150px}.primary-button[data-v-598f27c1]:hover{background-color:#45a049}.secondary-button[data-v-598f27c1]{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;flex:1;min-width:150px}.secondary-button[data-v-598f27c1]:hover{background-color:var(--color-background-mute)}.driver-actions[data-v-598f27c1]{margin-top:3rem}.driver-actions h3[data-v-598f27c1]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.action-grid[data-v-598f27c1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.action-card[data-v-598f27c1]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:left;transition:transform .2s,box-shadow .2s}.action-card[data-v-598f27c1]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-card h4[data-v-598f27c1]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.action-card p[data-v-598f27c1]{color:var(--color-text);margin-bottom:1rem;line-height:1.5}.action-button[data-v-598f27c1]{background-color:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;width:100%}.action-button[data-v-598f27c1]:hover{background-color:#45a049}.daily-summary[data-v-598f27c1]{margin-top:3rem}.daily-summary h3[data-v-598f27c1]{color:var(--color-heading);margin-bottom:2rem;font-size:1.5rem}.summary-grid[data-v-598f27c1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.5rem}.summary-card[data-v-598f27c1]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:center}.summary-number[data-v-598f27c1]{font-size:2rem;font-weight:700;color:#4caf50;margin-bottom:.5rem}.summary-label[data-v-598f27c1]{color:var(--color-text);font-size:.9rem}@media (max-width: 768px){.action-grid[data-v-598f27c1]{grid-template-columns:1fr}.summary-grid[data-v-598f27c1]{grid-template-columns:repeat(2,1fr)}.routes-grid[data-v-598f27c1]{grid-template-columns:1fr}.route-actions[data-v-598f27c1]{flex-direction:column}.home-container[data-v-598f27c1]{padding:.5rem}}.home-container[data-v-5ca8ef17]{min-height:100vh;display:flex;flex-direction:column}.loading-container[data-v-5ca8ef17],.error-container[data-v-5ca8ef17],.unknown-role-container[data-v-5ca8ef17]{padding:2rem;text-align:center;max-width:600px;margin:2rem auto}.loading-container h1[data-v-5ca8ef17],.error-container h1[data-v-5ca8ef17],.unknown-role-container h1[data-v-5ca8ef17]{color:var(--color-heading);margin-bottom:1rem}.loading-container p[data-v-5ca8ef17],.unknown-role-container .role-info[data-v-5ca8ef17],.unknown-role-container .contact-info[data-v-5ca8ef17]{color:var(--color-text);margin-bottom:1rem;line-height:1.6}.error-container[data-v-5ca8ef17]{background-color:var(--color-background-soft);border:1px solid #ff6b6b;border-radius:8px}.error-message[data-v-5ca8ef17]{background-color:#ff6b6b1a;color:#ff6b6b;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.retry-button[data-v-5ca8ef17]{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.retry-button[data-v-5ca8ef17]:hover{background-color:var(--primary-color-hover)}.unknown-role-container[data-v-5ca8ef17]{background-color:var(--color-background-soft);border:1px solid var(--warning-color);border-radius:8px}.user-info-fallback[data-v-5ca8ef17]{margin-top:2rem;padding:1.5rem;background-color:var(--color-background-mute);border-radius:8px;text-align:left}.user-info-fallback h3[data-v-5ca8ef17]{color:var(--color-heading);margin-bottom:1rem;text-align:center}.user-field[data-v-5ca8ef17]{margin-bottom:.75rem;color:var(--color-text);padding:.5rem 0;border-bottom:1px solid var(--color-border)}.user-field[data-v-5ca8ef17]:last-child{margin-bottom:0;border-bottom:none}.user-field strong[data-v-5ca8ef17]{color:var(--color-heading);display:inline-block;min-width:100px}@media (max-width: 768px){.loading-container[data-v-5ca8ef17],.error-container[data-v-5ca8ef17],.unknown-role-container[data-v-5ca8ef17]{margin:1rem;padding:1rem}}.sign-in-container[data-v-5d28497a]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:1rem}.logo[data-v-5d28497a]{max-height:15rem;margin-top:1rem}.app-title[data-v-5d28497a]{font-size:2.5rem;margin-bottom:2rem;color:var(--color-heading)}.sign-in-form[data-v-5d28497a]{width:100%;max-width:400px;padding:1.5rem;border-radius:8px;background-color:var(--color-background-soft);box-shadow:0 4px 6px #0000001a}.error-message[data-v-5d28497a]{width:100%;padding:.75rem;margin-bottom:1rem;background-color:#ffebee;color:#d32f2f;border-radius:4px;text-align:center}.form-group[data-v-5d28497a]{margin-bottom:1.5rem}label[data-v-5d28497a]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-heading)}input[data-v-5d28497a]{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background-mute);color:var(--color-text)}.password-input-wrapper[data-v-5d28497a]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-5d28497a]{padding-right:3rem}.password-toggle-button[data-v-5d28497a]{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--color-text);transition:background-color .2s}.password-toggle-button[data-v-5d28497a]:hover:not(:disabled){background-color:var(--color-background-mute)}.password-toggle-button[data-v-5d28497a]:disabled{cursor:not-allowed;opacity:.5}input[data-v-5d28497a]:focus{outline:none;border-color:var(--color-border-hover)}.sign-in-button[data-v-5d28497a]{width:100%;padding:.75rem;font-size:1rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.sign-in-button[data-v-5d28497a]:hover{background-color:#45a049}.sign-in-button[data-v-5d28497a]:disabled{background-color:#ccc;cursor:not-allowed}@media (min-width: 768px){.sign-in-form[data-v-5d28497a]{padding:2rem}}.user-management-container[data-v-4ad5e179]{padding:1rem;max-width:1400px;margin:0 auto}.page-intro[data-v-4ad5e179]{color:var(--color-text);margin-bottom:2rem;text-align:center;font-size:1rem;line-height:1.5}.add-user-section[data-v-4ad5e179]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.add-user-section h3[data-v-4ad5e179]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.25rem}.user-form[data-v-4ad5e179]{max-width:800px}.form-row[data-v-4ad5e179]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-4ad5e179]{display:flex;flex-direction:column}.form-group label[data-v-4ad5e179]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-group input[data-v-4ad5e179],.form-group select[data-v-4ad5e179]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:1rem}.form-group input[data-v-4ad5e179]:focus,.form-group select[data-v-4ad5e179]:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.form-group input.invalid[data-v-4ad5e179]{border-color:#e74c3c;background-color:#e74c3c0d}.password-requirements[data-v-4ad5e179]{margin-top:.5rem;padding:.75rem;background-color:#e74c3c0d;border:1px solid rgba(231,76,60,.2);border-radius:4px;font-size:.875rem}.validation-header[data-v-4ad5e179]{margin:0 0 .5rem;font-weight:500;color:#e74c3c}.validation-list[data-v-4ad5e179]{margin:0;padding:0;list-style:none}.validation-list li[data-v-4ad5e179]{margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.validation-list li.valid[data-v-4ad5e179]{color:#27ae60}.validation-list li.invalid[data-v-4ad5e179]{color:#e74c3c}.create-button[data-v-4ad5e179]{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;transition:background-color .3s;width:auto}.create-button[data-v-4ad5e179]:hover:not(:disabled){background-color:#c0392b}.create-button[data-v-4ad5e179]:disabled{background-color:#bdc3c7;cursor:not-allowed}.cancel-button[data-v-4ad5e179]{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;margin-left:1rem;transition:background-color .3s;width:auto}.cancel-button[data-v-4ad5e179]:hover{background-color:#7f8c8d}.users-list-section[data-v-4ad5e179]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.users-list-section h3[data-v-4ad5e179]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.25rem}.list-controls[data-v-4ad5e179]{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input[data-v-4ad5e179],.role-filter[data-v-4ad5e179],.company-filter[data-v-4ad5e179]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:1rem}.search-input[data-v-4ad5e179]{flex:1;min-width:250px}.role-filter[data-v-4ad5e179],.company-filter[data-v-4ad5e179]{min-width:150px}.loading[data-v-4ad5e179]{text-align:center;padding:2rem;color:var(--color-text)}.error-message[data-v-4ad5e179]{color:#e74c3c;background-color:#e74c3c1a;padding:1rem;border-radius:4px;border:1px solid rgba(231,76,60,.3)}.users-table[data-v-4ad5e179]{overflow-x:auto}.desktop-table[data-v-4ad5e179]{width:100%;border-collapse:collapse;background-color:var(--color-background);border-radius:4px;overflow:hidden}.desktop-table th[data-v-4ad5e179],.desktop-table td[data-v-4ad5e179]{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.desktop-table th[data-v-4ad5e179]{background-color:var(--color-background-soft);color:var(--color-heading);font-weight:600}.desktop-table td[data-v-4ad5e179]{color:var(--color-text)}.mobile-cards[data-v-4ad5e179]{display:none}.user-card[data-v-4ad5e179]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;overflow:hidden}.user-card-header[data-v-4ad5e179]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border)}.user-card-header h4[data-v-4ad5e179]{margin:0;color:var(--color-heading);font-size:1.1rem}.user-card-content[data-v-4ad5e179]{padding:1rem}.user-info[data-v-4ad5e179]{margin-bottom:1rem}.info-item[data-v-4ad5e179]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.info-item .label[data-v-4ad5e179]{font-weight:500;color:var(--color-heading);font-size:.9rem}.info-item .value[data-v-4ad5e179]{color:var(--color-text);word-break:break-word}.user-actions[data-v-4ad5e179]{display:flex;gap:.5rem;flex-wrap:wrap}.role-badge[data-v-4ad5e179]{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;white-space:nowrap}.role-badge.superadmin[data-v-4ad5e179]{background-color:#9b59b6;color:#fff}.role-badge.admin[data-v-4ad5e179]{background-color:#3498db;color:#fff}.role-badge.controller[data-v-4ad5e179]{background-color:#f39c12;color:#fff}.role-badge.driver[data-v-4ad5e179]{background-color:#27ae60;color:#fff}.role-badge.unknown[data-v-4ad5e179]{background-color:#95a5a6;color:#fff}.actions[data-v-4ad5e179]{display:flex;gap:.5rem;flex-wrap:wrap}.edit-button[data-v-4ad5e179],.delete-button[data-v-4ad5e179]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .3s;white-space:nowrap;flex:1;min-width:fit-content}.edit-button[data-v-4ad5e179]{background-color:#3498db;color:#fff}.edit-button[data-v-4ad5e179]:hover{background-color:#2980b9}.delete-button[data-v-4ad5e179]{background-color:#e74c3c;color:#fff}.delete-button[data-v-4ad5e179]:hover{background-color:#c0392b}@media (max-width: 1024px){.user-management-container[data-v-4ad5e179]{padding:.75rem}.add-user-section[data-v-4ad5e179],.users-list-section[data-v-4ad5e179]{padding:1.25rem}}@media (max-width: 768px){.user-management-container[data-v-4ad5e179]{padding:.5rem}.page-intro[data-v-4ad5e179]{font-size:.9rem;margin-bottom:1.5rem}.add-user-section[data-v-4ad5e179],.users-list-section[data-v-4ad5e179]{padding:1rem;margin-bottom:1.5rem}.add-user-section h3[data-v-4ad5e179],.users-list-section h3[data-v-4ad5e179]{font-size:1.125rem;margin-bottom:1rem}.form-row[data-v-4ad5e179]{grid-template-columns:1fr;gap:.75rem}.list-controls[data-v-4ad5e179]{flex-direction:column;gap:.75rem}.search-input[data-v-4ad5e179]{min-width:auto}.desktop-table[data-v-4ad5e179]{display:none}.mobile-cards[data-v-4ad5e179]{display:block}.create-button[data-v-4ad5e179]{width:100%;margin-top:.75rem}.user-actions[data-v-4ad5e179]{gap:.4rem}.edit-button[data-v-4ad5e179],.delete-button[data-v-4ad5e179]{flex:1;font-size:.8rem;padding:.6rem .5rem}.cancel-button[data-v-4ad5e179]{width:100%;margin-left:0;margin-top:.5rem}}@media (max-width: 480px){.user-management-container[data-v-4ad5e179]{padding:.25rem}.add-user-section[data-v-4ad5e179],.users-list-section[data-v-4ad5e179]{padding:.75rem;border-radius:6px}.user-card-header[data-v-4ad5e179]{flex-direction:column;align-items:flex-start;gap:.5rem}.user-card-header h4[data-v-4ad5e179]{font-size:1rem}.info-item[data-v-4ad5e179]{flex-direction:column;align-items:flex-start;gap:.25rem}.user-actions[data-v-4ad5e179]{flex-direction:column;gap:.5rem}.edit-button[data-v-4ad5e179],.delete-button[data-v-4ad5e179]{width:100%;flex:none}.role-badge[data-v-4ad5e179]{font-size:.8rem;padding:.2rem .6rem}}.company-management-container[data-v-347083b0]{padding:1rem;max-width:1400px;margin:0 auto}.page-intro[data-v-347083b0]{color:var(--color-text);margin-bottom:2rem;text-align:center}.add-company-section[data-v-347083b0]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem;margin-bottom:3rem}.add-company-section h3[data-v-347083b0]{color:var(--color-heading);margin-bottom:1.5rem}.company-form[data-v-347083b0]{max-width:800px}.form-row[data-v-347083b0]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-347083b0]{display:flex;flex-direction:column}.form-group label[data-v-347083b0]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500}.form-group input[data-v-347083b0],.form-group select[data-v-347083b0]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:1rem}.form-group input[data-v-347083b0]:focus,.form-group select[data-v-347083b0]:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.create-button[data-v-347083b0]{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;transition:background-color .3s}.create-button[data-v-347083b0]:hover:not(:disabled){background-color:#c0392b}.create-button[data-v-347083b0]:disabled{background-color:#bdc3c7;cursor:not-allowed}.companies-list-section[data-v-347083b0]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.companies-list-section h3[data-v-347083b0]{color:var(--color-heading);margin-bottom:1.5rem}.list-controls[data-v-347083b0]{margin-bottom:1.5rem}.search-input[data-v-347083b0]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);width:100%;max-width:400px}.loading[data-v-347083b0]{text-align:center;padding:2rem;color:var(--color-text)}.error-message[data-v-347083b0]{color:#e74c3c;background-color:#e74c3c1a;padding:1rem;border-radius:4px;border:1px solid rgba(231,76,60,.3)}.companies-grid[data-v-347083b0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.company-card[data-v-347083b0]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.company-card[data-v-347083b0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.company-header[data-v-347083b0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.company-header h4[data-v-347083b0]{color:var(--color-heading);margin:0;font-size:1.2rem}.company-actions[data-v-347083b0]{display:flex;gap:.5rem}.edit-button[data-v-347083b0],.delete-button[data-v-347083b0]{padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.edit-button[data-v-347083b0]{background-color:#3498db;color:#fff}.edit-button[data-v-347083b0]:hover{background-color:#2980b9}.delete-button[data-v-347083b0]{background-color:#e74c3c;color:#fff}.delete-button[data-v-347083b0]:hover{background-color:#c0392b}.company-details[data-v-347083b0]{margin-bottom:1rem}.detail-item[data-v-347083b0]{margin-bottom:.5rem;color:var(--color-text);font-size:.9rem}.detail-item strong[data-v-347083b0]{color:var(--color-heading)}.company-stats[data-v-347083b0]{display:flex;gap:2rem;margin-bottom:1rem;padding:1rem;background-color:var(--color-background-soft);border-radius:4px}.stat-item[data-v-347083b0]{text-align:center}.stat-number[data-v-347083b0]{display:block;font-size:1.5rem;font-weight:700;color:var(--color-heading)}.stat-label[data-v-347083b0]{font-size:.875rem;color:var(--color-text)}.company-footer[data-v-347083b0]{text-align:center}.view-details-button[data-v-347083b0]{background-color:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s;width:100%}.view-details-button[data-v-347083b0]:hover{background-color:#229954}@media (max-width: 768px){.form-row[data-v-347083b0],.companies-grid[data-v-347083b0]{grid-template-columns:1fr}.company-stats[data-v-347083b0]{justify-content:space-around}}.modal-overlay[data-v-347083b0]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-347083b0]{background-color:var(--color-background);border-radius:8px;padding:0;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header[data-v-347083b0]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-347083b0]{margin:0;color:var(--color-heading)}.close-button[data-v-347083b0]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .3s}.close-button[data-v-347083b0]:hover{background-color:var(--color-background-soft)}.modal-content .company-form[data-v-347083b0]{padding:2rem}.modal-actions[data-v-347083b0]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.cancel-button[data-v-347083b0]{background-color:var(--color-background-soft);color:var(--color-text);border:1px solid var(--color-border);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.cancel-button[data-v-347083b0]:hover{background-color:var(--color-border)}.update-button[data-v-347083b0]{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.update-button[data-v-347083b0]:hover:not(:disabled){background-color:#c0392b}.update-button[data-v-347083b0]:disabled{background-color:#bdc3c7;cursor:not-allowed}@media (max-width: 768px){.modal-content[data-v-347083b0]{width:95%;margin:1rem}.modal-header[data-v-347083b0],.modal-content .company-form[data-v-347083b0]{padding:1rem}.modal-actions[data-v-347083b0]{flex-direction:column}.cancel-button[data-v-347083b0],.update-button[data-v-347083b0]{width:100%}}.route-management-container[data-v-14583bc2]{padding:1rem;max-width:1600px;margin:0 auto}.page-intro[data-v-14583bc2]{color:var(--color-text);margin-bottom:2rem;text-align:center;font-size:1rem;line-height:1.5}.add-route-section[data-v-14583bc2]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem;margin-bottom:3rem}.add-route-section h3[data-v-14583bc2]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.25rem}.route-form[data-v-14583bc2]{max-width:1000px}.form-row[data-v-14583bc2]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-14583bc2]{display:flex;flex-direction:column}.form-group label[data-v-14583bc2]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500;font-size:.95rem}.form-group input[data-v-14583bc2],.form-group select[data-v-14583bc2],.form-group textarea[data-v-14583bc2]{padding:.875rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-background);color:var(--color-text);font-size:1rem;font-family:inherit;min-height:44px}.form-group input[data-v-14583bc2]:focus,.form-group select[data-v-14583bc2]:focus,.form-group textarea[data-v-14583bc2]:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c33}.location-selection[data-v-14583bc2]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.location-panel[data-v-14583bc2]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.location-panel h4[data-v-14583bc2]{margin:0 0 1rem;color:var(--color-heading);font-size:1rem}.location-list[data-v-14583bc2]{max-height:300px;overflow-y:auto}.location-item[data-v-14583bc2]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.location-item[data-v-14583bc2]:last-child{margin-bottom:0}.location-item[data-v-14583bc2]:hover{background-color:var(--color-background-soft);transform:translateY(-1px)}.location-item.selected[data-v-14583bc2]{background-color:#e74c3c;color:#fff;border-color:#c0392b}.location-name[data-v-14583bc2]{font-weight:600;margin-bottom:.25rem}.location-address[data-v-14583bc2]{font-size:.9rem;opacity:.9}.location-item.selected .location-address[data-v-14583bc2]{opacity:.8}.create-button[data-v-14583bc2]{background-color:#e74c3c;color:#fff;border:none;padding:1rem 2rem;border-radius:6px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;transition:all .3s ease;min-height:48px;width:100%}.create-button[data-v-14583bc2]:hover:not(:disabled){background-color:#c0392b;transform:translateY(-1px)}.create-button[data-v-14583bc2]:disabled{background-color:#bdc3c7;cursor:not-allowed;transform:none}.routes-section[data-v-14583bc2]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.section-header[data-v-14583bc2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h3[data-v-14583bc2]{color:var(--color-heading);margin:0;font-size:1.25rem}.section-actions[data-v-14583bc2]{display:flex;gap:1rem;flex-wrap:wrap}.status-filter[data-v-14583bc2],.date-filter[data-v-14583bc2]{padding:.625rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-background);color:var(--color-text);font-size:.95rem;min-height:44px}.quick-stats[data-v-14583bc2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-14583bc2]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;text-align:center;position:relative;transition:transform .2s ease}.stat-card[data-v-14583bc2]:hover{transform:translateY(-2px)}.stat-number[data-v-14583bc2]{font-size:2rem;font-weight:700;color:var(--color-heading);display:block}.stat-label[data-v-14583bc2]{color:var(--color-text);font-size:.875rem;margin-top:.5rem}.stat-indicator[data-v-14583bc2]{position:absolute;top:12px;right:12px;width:12px;height:12px;border-radius:50%}.stat-indicator.active[data-v-14583bc2]{background-color:#27ae60}.stat-indicator.scheduled[data-v-14583bc2]{background-color:#3498db}.stat-indicator.completed[data-v-14583bc2]{background-color:#95a5a6}.stat-indicator.delayed[data-v-14583bc2]{background-color:#e74c3c}.loading[data-v-14583bc2]{text-align:center;padding:3rem 2rem;color:var(--color-text);font-size:1.1rem}.error-message[data-v-14583bc2]{color:#e74c3c;background-color:#e74c3c1a;padding:1.25rem;border-radius:6px;border:1px solid rgba(231,76,60,.3);font-size:1rem}.routes-container[data-v-14583bc2]{display:flex;flex-direction:column}.routes-table-container[data-v-14583bc2]{overflow-x:auto;border-radius:8px}.routes-table[data-v-14583bc2]{width:100%;border-collapse:collapse;background-color:var(--color-background);border-radius:8px;overflow:hidden}.routes-table th[data-v-14583bc2],.routes-table td[data-v-14583bc2]{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.routes-table th[data-v-14583bc2]{background-color:var(--color-background-soft);color:var(--color-heading);font-weight:600;font-size:.9rem}.route-row[data-v-14583bc2]:hover{background-color:var(--color-background-soft)}.route-id[data-v-14583bc2]{font-weight:700;color:var(--color-heading)}.route-info[data-v-14583bc2]{font-size:.875rem}.route-name[data-v-14583bc2],.route-locations[data-v-14583bc2]{margin-bottom:.25rem}.route-drivers[data-v-14583bc2]{font-size:.875rem;color:var(--color-text);margin-top:.25rem}.status-badge[data-v-14583bc2]{padding:.375rem .875rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.scheduled[data-v-14583bc2]{background-color:#3498db;color:#fff}.status-badge.in_progress[data-v-14583bc2]{background-color:#f39c12;color:#fff}.status-badge.completed[data-v-14583bc2]{background-color:#27ae60;color:#fff}.status-badge.cancelled[data-v-14583bc2]{background-color:#e74c3c;color:#fff}.actions[data-v-14583bc2]{display:flex;gap:.5rem}.view-button[data-v-14583bc2],.edit-button[data-v-14583bc2],.delete-button[data-v-14583bc2]{padding:.625rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;min-width:36px;min-height:36px}.view-button[data-v-14583bc2]{background-color:#3498db}.edit-button[data-v-14583bc2]{background-color:#f39c12}.delete-button[data-v-14583bc2]{background-color:#e74c3c}.view-button[data-v-14583bc2]:hover,.edit-button[data-v-14583bc2]:hover,.delete-button[data-v-14583bc2]:hover{opacity:.8;transform:translateY(-1px)}.routes-cards[data-v-14583bc2]{display:none}.route-card[data-v-14583bc2]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.route-card[data-v-14583bc2]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-header[data-v-14583bc2]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border)}.route-id-mobile[data-v-14583bc2]{font-weight:700;font-size:1.1rem;color:var(--color-heading)}.card-content[data-v-14583bc2]{padding:1.25rem}.route-info[data-v-14583bc2]{margin-bottom:1rem}.info-row[data-v-14583bc2]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(var(--color-border),.3)}.info-row[data-v-14583bc2]:last-child{border-bottom:none;margin-bottom:0}.label[data-v-14583bc2]{font-weight:600;color:var(--color-heading);flex-shrink:0;margin-right:1rem;font-size:.9rem}.value[data-v-14583bc2]{color:var(--color-text);text-align:right;word-break:break-word;font-size:.9rem}.card-actions[data-v-14583bc2]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1.25rem;background-color:var(--color-background-soft);border-top:1px solid var(--color-border)}.action-button[data-v-14583bc2]{padding:.875rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-button.view[data-v-14583bc2]{background-color:#3498db;color:#fff}.action-button.edit[data-v-14583bc2]{background-color:#f39c12;color:#fff}.action-button.delete[data-v-14583bc2]{background-color:#e74c3c;color:#fff}.action-button[data-v-14583bc2]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.action-button[data-v-14583bc2]:active{transform:translateY(0)}.desktop-only[data-v-14583bc2]{display:block}.mobile-only[data-v-14583bc2]{display:none}@media (max-width: 1024px){.routes-table th[data-v-14583bc2],.routes-table td[data-v-14583bc2]{padding:.75rem .5rem;font-size:.85rem}.actions[data-v-14583bc2]{gap:.25rem}.view-button[data-v-14583bc2],.edit-button[data-v-14583bc2],.delete-button[data-v-14583bc2]{padding:.5rem;min-width:32px;min-height:32px;font-size:.9rem}}@media (max-width: 768px){.route-management-container[data-v-14583bc2]{padding:.75rem}.page-intro[data-v-14583bc2]{font-size:.9rem;margin-bottom:1.5rem}.add-route-section[data-v-14583bc2],.routes-section[data-v-14583bc2]{padding:1.5rem;margin-bottom:2rem}.add-route-section h3[data-v-14583bc2],.section-header h3[data-v-14583bc2]{font-size:1.1rem}.form-row[data-v-14583bc2]{grid-template-columns:1fr;gap:1rem}.create-button[data-v-14583bc2]{font-size:1rem;padding:.875rem 1.5rem}.section-header[data-v-14583bc2]{flex-direction:column;align-items:stretch;gap:1rem}.section-actions[data-v-14583bc2]{justify-content:space-between;flex-wrap:nowrap}.status-filter[data-v-14583bc2],.date-filter[data-v-14583bc2]{flex:1;min-width:0}.quick-stats[data-v-14583bc2]{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card[data-v-14583bc2]{padding:1rem}.stat-number[data-v-14583bc2]{font-size:1.5rem}.stat-label[data-v-14583bc2]{font-size:.8rem}.desktop-only[data-v-14583bc2]{display:none}.mobile-only[data-v-14583bc2]{display:block}.location-selection[data-v-14583bc2]{grid-template-columns:1fr}}@media (max-width: 480px){.route-management-container[data-v-14583bc2]{padding:.5rem}.add-route-section[data-v-14583bc2],.routes-section[data-v-14583bc2]{padding:1rem;border-radius:6px}.quick-stats[data-v-14583bc2]{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card[data-v-14583bc2]{padding:.75rem}.card-header[data-v-14583bc2],.card-content[data-v-14583bc2],.card-actions[data-v-14583bc2]{padding:1rem}.card-actions[data-v-14583bc2]{grid-template-columns:1fr;gap:.5rem}.action-button[data-v-14583bc2]{padding:1rem;font-size:.95rem}.info-row[data-v-14583bc2]{flex-direction:column;align-items:stretch;gap:.25rem}.label[data-v-14583bc2]{margin-right:0;margin-bottom:.25rem}.value[data-v-14583bc2]{text-align:left;font-weight:500}}.drivers-section[data-v-14583bc2]{margin:2rem 0}.drivers-section h3[data-v-14583bc2]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.driver-management[data-v-14583bc2]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.driver-panel[data-v-14583bc2]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.driver-panel h4[data-v-14583bc2]{margin:0 0 1rem;color:var(--color-heading);font-size:1rem}.driver-list[data-v-14583bc2]{max-height:250px;overflow-y:auto}.driver-item[data-v-14583bc2]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--color-border);border-radius:6px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease;background-color:var(--color-background)}.driver-item[data-v-14583bc2]:last-child{margin-bottom:0}.driver-item[data-v-14583bc2]:hover{background-color:var(--color-background-soft);transform:translateY(-1px)}.driver-item.selected[data-v-14583bc2]{background-color:#e74c3c;color:#fff;border-color:#c0392b}.driver-item.selected[data-v-14583bc2]:hover{background-color:#c0392b}.driver-info[data-v-14583bc2]{flex:1}.driver-name[data-v-14583bc2]{font-weight:600;margin-bottom:.25rem}.driver-email[data-v-14583bc2]{font-size:.9rem;opacity:.9}.driver-item.selected .driver-email[data-v-14583bc2]{opacity:.8}.add-driver-button[data-v-14583bc2],.remove-driver-button[data-v-14583bc2]{background-color:#27ae60;color:#fff;border:none;width:2rem;height:2rem;border-radius:50%;cursor:pointer;font-size:1.2rem;font-weight:700;transition:background-color .2s;flex-shrink:0;margin-left:1rem}.remove-driver-button[data-v-14583bc2]{background-color:#e74c3c}.add-driver-button[data-v-14583bc2]:hover{background-color:#229954}.remove-driver-button[data-v-14583bc2]:hover{background-color:#c0392b}.no-drivers[data-v-14583bc2]{text-align:center;padding:2rem 1rem;color:var(--color-text);opacity:.7;background-color:var(--color-background-soft);border-radius:6px;font-size:.9rem}@media (max-width: 768px){.driver-management[data-v-14583bc2]{grid-template-columns:1fr;gap:1rem}.driver-item[data-v-14583bc2]{padding:.75rem}.driver-name[data-v-14583bc2]{font-size:.9rem}.driver-email[data-v-14583bc2]{font-size:.8rem}.add-driver-button[data-v-14583bc2],.remove-driver-button[data-v-14583bc2]{width:1.75rem;height:1.75rem;font-size:1rem}}.modal-overlay[data-v-14583bc2]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-14583bc2]{background-color:var(--color-background);border-radius:12px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000004d}.modal-header[data-v-14583bc2]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background-color:var(--color-background-soft)}.modal-header h2[data-v-14583bc2]{color:var(--color-heading);margin:0;font-size:1.25rem}.close-button[data-v-14583bc2]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:.25rem;border-radius:50%;transition:background-color .2s}.close-button[data-v-14583bc2]:hover{background-color:var(--color-border)}.modal-body[data-v-14583bc2]{padding:2rem;overflow-y:auto;flex:1}.stops-section[data-v-14583bc2]{margin:2rem 0}.stops-section h3[data-v-14583bc2]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.1rem}.section-help[data-v-14583bc2]{color:var(--color-text);font-size:.9rem;margin-bottom:1rem;opacity:.8}.stops-list[data-v-14583bc2]{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.stop-item[data-v-14583bc2]{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border);background-color:var(--color-background);cursor:grab;transition:all .2s ease}.stop-item[data-v-14583bc2]:last-child{border-bottom:none}.stop-item[data-v-14583bc2]:hover{background-color:var(--color-background-soft)}.stop-item[data-v-14583bc2]:active{cursor:grabbing}.stop-order[data-v-14583bc2]{background-color:#f39c12;color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin-right:1rem;flex-shrink:0}.stop-info[data-v-14583bc2]{flex:1;margin-right:1rem}.stop-name[data-v-14583bc2]{font-weight:600;color:var(--color-heading);margin-bottom:.25rem}.stop-address[data-v-14583bc2]{font-size:.9rem;color:var(--color-text);opacity:.8}.stop-actions[data-v-14583bc2]{display:flex;gap:.5rem;flex-shrink:0}.move-button[data-v-14583bc2],.remove-button[data-v-14583bc2]{padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:700;transition:all .2s;min-width:2rem;height:2rem}.move-button.up[data-v-14583bc2],.move-button.down[data-v-14583bc2]{background-color:#3498db;color:#fff}.move-button.up[data-v-14583bc2]:hover,.move-button.down[data-v-14583bc2]:hover{background-color:#2980b9}.move-button[data-v-14583bc2]:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.5}.remove-button[data-v-14583bc2]{background-color:#e74c3c;color:#fff}.remove-button[data-v-14583bc2]:hover{background-color:#c0392b}.no-stops[data-v-14583bc2]{text-align:center;padding:2rem;color:var(--color-text);opacity:.7;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-background-soft)}.add-stops-section[data-v-14583bc2]{margin:2rem 0}.add-stops-section h3[data-v-14583bc2]{color:var(--color-heading);margin-bottom:1rem;font-size:1.1rem}.available-locations[data-v-14583bc2]{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;margin-top:1rem}.location-option[data-v-14583bc2]{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s}.location-option[data-v-14583bc2]:last-child{border-bottom:none}.location-option[data-v-14583bc2]:hover{background-color:var(--color-background-soft)}.location-option .location-name[data-v-14583bc2]{font-weight:600;color:var(--color-heading);margin-bottom:.25rem}.location-option .location-address[data-v-14583bc2]{font-size:.9rem;color:var(--color-text);opacity:.8}.add-location-button[data-v-14583bc2]{background-color:#27ae60;color:#fff;border:none;width:2rem;height:2rem;border-radius:50%;cursor:pointer;font-size:1.2rem;font-weight:700;margin-left:auto;transition:background-color .2s;flex-shrink:0}.add-location-button[data-v-14583bc2]:hover{background-color:#229954}.modal-footer[data-v-14583bc2]{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--color-border);background-color:var(--color-background-soft)}.cancel-button[data-v-14583bc2],.save-button[data-v-14583bc2]{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.cancel-button[data-v-14583bc2]{background-color:#95a5a6;color:#fff}.cancel-button[data-v-14583bc2]:hover{background-color:#7f8c8d}.save-button[data-v-14583bc2]{background-color:#e74c3c;color:#fff}.save-button[data-v-14583bc2]:hover:not(:disabled){background-color:#c0392b}.save-button[data-v-14583bc2]:disabled{background-color:#bdc3c7;cursor:not-allowed}@media (max-width: 768px){.modal-content[data-v-14583bc2]{margin:.5rem;max-height:95vh}.modal-header[data-v-14583bc2],.modal-footer[data-v-14583bc2],.modal-body[data-v-14583bc2]{padding:1rem}.stop-item[data-v-14583bc2]{padding:.75rem}.stop-actions[data-v-14583bc2]{flex-direction:column;gap:.25rem}.move-button[data-v-14583bc2],.remove-button[data-v-14583bc2]{font-size:.8rem;min-width:1.5rem;height:1.5rem}.modal-footer[data-v-14583bc2]{flex-direction:column}.cancel-button[data-v-14583bc2],.save-button[data-v-14583bc2]{width:100%}}.driver-reports-container[data-v-7d55ccea]{padding:1rem;max-width:1400px;margin:0 auto}.page-intro[data-v-7d55ccea]{color:var(--color-text);margin-bottom:2rem;text-align:center}.filter-section[data-v-7d55ccea]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.filter-controls[data-v-7d55ccea]{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.filter-group[data-v-7d55ccea]{display:flex;flex-direction:column}.filter-group label[data-v-7d55ccea]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500;font-size:.9rem}.filter-group select[data-v-7d55ccea],.filter-group input[data-v-7d55ccea]{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text)}.generate-button[data-v-7d55ccea]{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.generate-button[data-v-7d55ccea]:hover:not(:disabled){background-color:#c0392b}.generate-button[data-v-7d55ccea]:disabled{background-color:#bdc3c7;cursor:not-allowed}.summary-section[data-v-7d55ccea],.trips-section[data-v-7d55ccea],.performance-section[data-v-7d55ccea],.export-section[data-v-7d55ccea]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem;margin-bottom:2rem}.summary-section h3[data-v-7d55ccea],.trips-section h3[data-v-7d55ccea],.performance-section h3[data-v-7d55ccea],.export-section h3[data-v-7d55ccea]{color:var(--color-heading);margin-bottom:1.5rem}.stats-grid[data-v-7d55ccea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.stat-card[data-v-7d55ccea]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;display:flex;align-items:center;gap:1rem}.stat-icon[data-v-7d55ccea]{font-size:2rem}.stat-content[data-v-7d55ccea]{flex:1}.stat-number[data-v-7d55ccea]{font-size:1.5rem;font-weight:700;color:var(--color-heading)}.stat-label[data-v-7d55ccea]{color:var(--color-text);font-size:.9rem;margin-top:.25rem}.loading[data-v-7d55ccea]{text-align:center;padding:2rem;color:var(--color-text)}.error-message[data-v-7d55ccea]{color:#e74c3c;background-color:#e74c3c1a;padding:1rem;border-radius:4px;border:1px solid rgba(231,76,60,.3)}.trips-table-container[data-v-7d55ccea]{overflow-x:auto}.trips-table[data-v-7d55ccea]{width:100%;border-collapse:collapse;background-color:var(--color-background);border-radius:4px;overflow:hidden}.trips-table th[data-v-7d55ccea],.trips-table td[data-v-7d55ccea]{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.trips-table th[data-v-7d55ccea]{background-color:var(--color-background-soft);color:var(--color-heading);font-weight:600}.trip-row[data-v-7d55ccea]:hover{background-color:var(--color-background-soft)}.route-info[data-v-7d55ccea]{font-size:.875rem}.route-from[data-v-7d55ccea],.route-to[data-v-7d55ccea]{margin-bottom:.25rem}.status-badge[data-v-7d55ccea]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.completed[data-v-7d55ccea]{background-color:#27ae60;color:#fff}.status-badge.in_progress[data-v-7d55ccea]{background-color:#f39c12;color:#fff}.status-badge.delayed[data-v-7d55ccea]{background-color:#e74c3c;color:#fff}.actions[data-v-7d55ccea]{display:flex;gap:.5rem}.view-button[data-v-7d55ccea],.note-button[data-v-7d55ccea],.image-button[data-v-7d55ccea]{padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.view-button[data-v-7d55ccea]{background-color:#3498db}.note-button[data-v-7d55ccea]{background-color:#f39c12}.image-button[data-v-7d55ccea]{background-color:#27ae60}.view-button[data-v-7d55ccea]:hover,.note-button[data-v-7d55ccea]:hover,.image-button[data-v-7d55ccea]:hover{opacity:.8}.metrics-grid[data-v-7d55ccea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.metric-card[data-v-7d55ccea]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.metric-card h4[data-v-7d55ccea]{color:var(--color-heading);margin-bottom:1rem;font-size:1rem}.metric-value[data-v-7d55ccea]{font-size:1.8rem;font-weight:700;color:var(--color-heading);margin-bottom:.5rem}.metric-trend[data-v-7d55ccea]{font-size:.875rem}.metric-trend.up[data-v-7d55ccea]{color:#27ae60}.metric-trend.down[data-v-7d55ccea]{color:#e74c3c}.metric-description[data-v-7d55ccea]{font-size:.875rem;color:var(--color-text)}.export-buttons[data-v-7d55ccea]{display:flex;gap:1rem;flex-wrap:wrap}.export-button[data-v-7d55ccea]{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.export-button.pdf[data-v-7d55ccea]{background-color:#e74c3c;color:#fff}.export-button.excel[data-v-7d55ccea]{background-color:#27ae60;color:#fff}.export-button.email[data-v-7d55ccea]{background-color:#3498db;color:#fff}.export-button[data-v-7d55ccea]:hover{opacity:.9}@media (max-width: 768px){.filter-controls[data-v-7d55ccea]{flex-direction:column;align-items:stretch}.stats-grid[data-v-7d55ccea],.metrics-grid[data-v-7d55ccea]{grid-template-columns:1fr}.export-buttons[data-v-7d55ccea]{flex-direction:column}}.admin-user-management-container[data-v-4b3891e0]{padding:.75rem;max-width:1200px;margin:0 auto}.page-intro[data-v-4b3891e0]{color:var(--color-text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.add-user-section[data-v-4b3891e0]{background-color:var(--color-background-soft);border-radius:12px;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--color-border)}.add-user-section h3[data-v-4b3891e0]{color:var(--color-heading);margin-bottom:1rem;font-size:1.1rem}.user-form[data-v-4b3891e0],.form-row[data-v-4b3891e0]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-4b3891e0]{display:flex;flex-direction:column}.form-group label[data-v-4b3891e0]{font-weight:500;margin-bottom:.5rem;color:var(--color-heading);font-size:.9rem}.form-group input[data-v-4b3891e0],.form-group select[data-v-4b3891e0]{padding:.875rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-background);color:var(--color-text);font-size:1rem;min-height:48px;transition:border-color .3s,box-shadow .3s}.form-group input[data-v-4b3891e0]:focus,.form-group select[data-v-4b3891e0]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input.invalid[data-v-4b3891e0]{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form-hint[data-v-4b3891e0]{font-size:.85rem;color:var(--color-text);margin-top:.5rem;font-style:italic}.form-error[data-v-4b3891e0]{font-size:.85rem;color:#e74c3c;margin-top:.5rem;background-color:#e74c3c1a;padding:.5rem;border-radius:4px;border:1px solid rgba(231,76,60,.3)}.password-requirements[data-v-4b3891e0]{background-color:#fff8e1;border:1px solid #ffcc02;border-radius:8px;padding:1rem;margin-top:.75rem}.validation-header[data-v-4b3891e0]{font-weight:500;margin-bottom:.75rem;color:#f57c00;font-size:.9rem}.validation-list[data-v-4b3891e0]{list-style:none;padding:0;margin:0}.validation-list li[data-v-4b3891e0]{padding:.5rem 0;font-size:.85rem;border-bottom:1px solid rgba(255,204,2,.2)}.validation-list li[data-v-4b3891e0]:last-child{border-bottom:none}.validation-list li.valid[data-v-4b3891e0]{color:#2e7d32}.validation-list li.invalid[data-v-4b3891e0]{color:#d32f2f}.create-button[data-v-4b3891e0]{background-color:#3498db;color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s,transform .2s;min-height:48px;width:100%;margin-top:.5rem}.create-button[data-v-4b3891e0]:hover:not(:disabled){background-color:#2980b9;transform:translateY(-1px)}.create-button[data-v-4b3891e0]:active{transform:translateY(0)}.create-button[data-v-4b3891e0]:disabled{background-color:#bdc3c7;cursor:not-allowed;transform:none}.cancel-button[data-v-4b3891e0]{background-color:#95a5a6;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s;margin-top:.5rem;width:100%;min-height:48px}.cancel-button[data-v-4b3891e0]:hover{background-color:#7f8c8d}.users-list-section[data-v-4b3891e0]{background-color:var(--color-background-soft);border-radius:12px;padding:1rem;border:1px solid var(--color-border)}.users-list-section h3[data-v-4b3891e0]{color:var(--color-heading);margin-bottom:1rem;font-size:1.1rem}.list-controls[data-v-4b3891e0]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.search-input[data-v-4b3891e0],.role-filter[data-v-4b3891e0]{padding:.875rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-background);color:var(--color-text);font-size:1rem;min-height:48px}.search-input[data-v-4b3891e0]:focus,.role-filter[data-v-4b3891e0]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.loading[data-v-4b3891e0],.error-message[data-v-4b3891e0]{text-align:center;padding:2rem 1rem;font-size:.95rem}.error-message[data-v-4b3891e0]{color:#e74c3c;background-color:#e74c3c1a;border-radius:8px;border:1px solid rgba(231,76,60,.3)}.desktop-table[data-v-4b3891e0]{display:none}.mobile-cards[data-v-4b3891e0]{display:block}.user-card[data-v-4b3891e0]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:1rem;margin-bottom:1rem;transition:transform .2s,box-shadow .2s}.user-card[data-v-4b3891e0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.user-card-header[data-v-4b3891e0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.5rem}.user-card-header h4[data-v-4b3891e0]{margin:0;color:var(--color-heading);font-size:1.1rem;line-height:1.3;flex:1}.user-card-content[data-v-4b3891e0]{display:flex;flex-direction:column;gap:1rem}.user-info .info-item[data-v-4b3891e0]{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.user-info .info-item[data-v-4b3891e0]:last-child{margin-bottom:0;border-bottom:none}.info-item .label[data-v-4b3891e0]{font-weight:500;color:var(--color-heading);font-size:.85rem;display:block;margin-bottom:.25rem}.info-item .value[data-v-4b3891e0]{color:var(--color-text);font-size:.95rem;word-break:break-word}.user-actions[data-v-4b3891e0]{display:flex;gap:.5rem}.role-badge[data-v-4b3891e0]{padding:.375rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap;flex-shrink:0}.role-badge.admin[data-v-4b3891e0]{background-color:#fff3e0;color:#e65100;border:1px solid #ffcc02}.role-badge.controller[data-v-4b3891e0]{background-color:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.role-badge.driver[data-v-4b3891e0]{background-color:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.edit-button[data-v-4b3891e0]{background-color:#ff9800;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;flex:1;min-height:44px}.edit-button[data-v-4b3891e0]:hover{background-color:#f57c00}.delete-button[data-v-4b3891e0]{background-color:#f44336;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;flex:1;min-height:44px}.delete-button[data-v-4b3891e0]:hover{background-color:#d32f2f}@media (min-width: 768px){.admin-user-management-container[data-v-4b3891e0]{padding:1.5rem}.page-intro[data-v-4b3891e0]{font-size:1rem}.add-user-section[data-v-4b3891e0],.users-list-section[data-v-4b3891e0]{padding:1.5rem}.form-row[data-v-4b3891e0]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.list-controls[data-v-4b3891e0]{flex-direction:row;align-items:center}.search-input[data-v-4b3891e0]{flex:1}.role-filter[data-v-4b3891e0]{min-width:150px;flex-shrink:0}.create-button[data-v-4b3891e0],.cancel-button[data-v-4b3891e0]{width:auto;min-width:150px}.cancel-button[data-v-4b3891e0]{margin-top:0;margin-left:1rem}.user-card-content[data-v-4b3891e0]{flex-direction:row;justify-content:space-between;align-items:flex-end}.user-actions[data-v-4b3891e0]{flex-direction:row;align-items:flex-end}}@media (min-width: 1024px){.desktop-table[data-v-4b3891e0]{display:table;width:100%;border-collapse:collapse;margin-top:1rem}.mobile-cards[data-v-4b3891e0]{display:none}.desktop-table th[data-v-4b3891e0],.desktop-table td[data-v-4b3891e0]{padding:1rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.desktop-table th[data-v-4b3891e0]{background-color:var(--color-background);font-weight:600;color:var(--color-heading);font-size:.9rem}.desktop-table td[data-v-4b3891e0]{font-size:.95rem}.actions[data-v-4b3891e0]{display:flex;gap:.5rem}.actions .edit-button[data-v-4b3891e0],.actions .delete-button[data-v-4b3891e0]{padding:.5rem 1rem;font-size:.875rem;min-height:auto;flex:none}}@media (min-width: 1200px){.admin-user-management-container[data-v-4b3891e0]{padding:2rem}}.admin-company-settings-container[data-v-c8010f3f]{padding:.75rem;max-width:1200px;margin:0 auto}.page-intro[data-v-c8010f3f]{color:var(--color-text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.loading[data-v-c8010f3f],.error-message[data-v-c8010f3f]{text-align:center;padding:2rem 1rem;font-size:.95rem}.error-message[data-v-c8010f3f]{color:#e74c3c;background-color:#e74c3c1a;border-radius:12px;border:1px solid rgba(231,76,60,.3)}.company-form-section[data-v-c8010f3f]{background-color:var(--color-background-soft);border-radius:12px;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--color-border)}.company-form-section h3[data-v-c8010f3f]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.1rem}.company-form[data-v-c8010f3f],.form-row[data-v-c8010f3f]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-c8010f3f]{display:flex;flex-direction:column}.form-group label[data-v-c8010f3f]{font-weight:500;margin-bottom:.5rem;color:var(--color-heading);font-size:.9rem}.form-group input[data-v-c8010f3f]{padding:.875rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-background);color:var(--color-text);transition:border-color .3s,box-shadow .3s;font-size:1rem;min-height:48px}.form-group input[data-v-c8010f3f]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-actions[data-v-c8010f3f]{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.update-button[data-v-c8010f3f]{background-color:#27ae60;color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s,transform .2s;min-height:48px;width:100%}.update-button[data-v-c8010f3f]:hover:not(:disabled){background-color:#219a52;transform:translateY(-1px)}.update-button[data-v-c8010f3f]:active{transform:translateY(0)}.update-button[data-v-c8010f3f]:disabled{background-color:#bdc3c7;cursor:not-allowed;transform:none}.cancel-button[data-v-c8010f3f]{background-color:#95a5a6;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s;min-height:48px;width:100%}.cancel-button[data-v-c8010f3f]:hover{background-color:#7f8c8d}.company-stats-section[data-v-c8010f3f]{background-color:var(--color-background-soft);border-radius:12px;padding:1rem;border:1px solid var(--color-border)}.company-stats-section h3[data-v-c8010f3f]{color:var(--color-heading);margin-bottom:1.5rem;font-size:1.1rem}.stats-grid[data-v-c8010f3f]{display:flex;flex-direction:column;gap:1rem}.stat-card[data-v-c8010f3f]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.stat-card[data-v-c8010f3f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon[data-v-c8010f3f]{font-size:2rem;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:#3498db1a;border-radius:50%;flex-shrink:0}.stat-info[data-v-c8010f3f]{flex:1}.stat-info h4[data-v-c8010f3f]{margin:0 0 .5rem;color:var(--color-heading);font-size:1rem;font-weight:600}.stat-number[data-v-c8010f3f]{font-size:1.75rem;font-weight:700;color:#3498db;margin:0;line-height:1}.stat-date[data-v-c8010f3f]{font-size:1rem;font-weight:600;color:#3498db;margin:0;line-height:1}.stat-description[data-v-c8010f3f]{font-size:.875rem;color:var(--color-text);margin:.25rem 0 0;line-height:1.3}@media (min-width: 768px){.admin-company-settings-container[data-v-c8010f3f]{padding:1.5rem}.page-intro[data-v-c8010f3f]{font-size:1rem}.company-form-section[data-v-c8010f3f],.company-stats-section[data-v-c8010f3f]{padding:1.5rem}.form-row[data-v-c8010f3f]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[data-v-c8010f3f]{flex-direction:row;justify-content:flex-start;margin-top:1.5rem}.update-button[data-v-c8010f3f],.cancel-button[data-v-c8010f3f]{width:auto;min-width:150px}.stats-grid[data-v-c8010f3f]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1024px){.stats-grid[data-v-c8010f3f]{grid-template-columns:repeat(4,1fr)}.stat-card[data-v-c8010f3f]{flex-direction:column;text-align:center;gap:1rem}.stat-icon[data-v-c8010f3f]{width:70px;height:70px;font-size:2.25rem}.stat-info h4[data-v-c8010f3f]{font-size:1.1rem}.stat-number[data-v-c8010f3f]{font-size:2rem}.stat-date[data-v-c8010f3f]{font-size:1.1rem}}@media (min-width: 1200px){.admin-company-settings-container[data-v-c8010f3f],.company-form-section[data-v-c8010f3f],.company-stats-section[data-v-c8010f3f]{padding:2rem}}@media (max-width: 480px){.admin-company-settings-container[data-v-c8010f3f]{padding:.5rem}.company-form-section[data-v-c8010f3f],.company-stats-section[data-v-c8010f3f]{padding:.75rem}.stat-card[data-v-c8010f3f]{padding:1rem}.stat-icon[data-v-c8010f3f]{width:50px;height:50px;font-size:1.75rem}.stat-number[data-v-c8010f3f]{font-size:1.5rem}.stat-info h4[data-v-c8010f3f]{font-size:.9rem}.stat-description[data-v-c8010f3f]{font-size:.8rem}}.location-management-container[data-v-ce616fd4]{padding:1rem;max-width:1400px;margin:0 auto}.page-intro[data-v-ce616fd4]{color:var(--color-text);margin-bottom:2rem;text-align:center}.add-location-section[data-v-ce616fd4]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem;margin-bottom:3rem}.add-location-section h3[data-v-ce616fd4]{color:var(--color-heading);margin-bottom:1.5rem}.location-form[data-v-ce616fd4]{max-width:800px}.form-row[data-v-ce616fd4]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-ce616fd4]{display:flex;flex-direction:column}.form-group label[data-v-ce616fd4]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500}.form-group input[data-v-ce616fd4],.form-group select[data-v-ce616fd4],.form-group textarea[data-v-ce616fd4]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:1rem}.form-group input[data-v-ce616fd4]:focus,.form-group select[data-v-ce616fd4]:focus,.form-group textarea[data-v-ce616fd4]:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.create-button[data-v-ce616fd4]{background-color:#e74c3c;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;transition:background-color .3s}.create-button[data-v-ce616fd4]:hover:not(:disabled){background-color:#c0392b}.create-button[data-v-ce616fd4]:disabled{background-color:#bdc3c7;cursor:not-allowed}.locations-section[data-v-ce616fd4]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.section-header[data-v-ce616fd4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h3[data-v-ce616fd4]{color:var(--color-heading);margin:0}.section-actions[data-v-ce616fd4]{display:flex;gap:1rem;flex-wrap:wrap}.search-input[data-v-ce616fd4],.type-filter[data-v-ce616fd4]{padding:.625rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:.95rem;min-width:200px}.loading[data-v-ce616fd4]{text-align:center;padding:3rem 2rem;color:var(--color-text);font-size:1.1rem}.error-message[data-v-ce616fd4]{color:#e74c3c;background-color:#e74c3c1a;padding:1.25rem;border-radius:4px;border:1px solid rgba(231,76,60,.3);font-size:1rem}.locations-list[data-v-ce616fd4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.location-card[data-v-ce616fd4]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.location-card[data-v-ce616fd4]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.location-header[data-v-ce616fd4]{padding:1.25rem;background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start}.location-title[data-v-ce616fd4]{display:flex;flex-direction:column;gap:.5rem}.location-title h4[data-v-ce616fd4]{margin:0;color:var(--color-heading);font-size:1.1rem}.type-badge[data-v-ce616fd4]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-badge.warehouse[data-v-ce616fd4]{background-color:#3498db;color:#fff}.type-badge.customer[data-v-ce616fd4]{background-color:#2ecc71;color:#fff}.type-badge.terminal[data-v-ce616fd4]{background-color:#f39c12;color:#fff}.type-badge.other[data-v-ce616fd4]{background-color:#95a5a6;color:#fff}.location-actions[data-v-ce616fd4]{display:flex;gap:.5rem}.images-button[data-v-ce616fd4],.edit-button[data-v-ce616fd4],.delete-button[data-v-ce616fd4]{padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;min-width:36px;min-height:36px}.images-button[data-v-ce616fd4],.edit-button[data-v-ce616fd4]{background-color:#f39c12;color:#fff}.delete-button[data-v-ce616fd4]{background-color:#e74c3c;color:#fff}.images-button[data-v-ce616fd4]:hover,.edit-button[data-v-ce616fd4]:hover,.delete-button[data-v-ce616fd4]:hover{opacity:.8;transform:translateY(-1px)}.location-details[data-v-ce616fd4]{padding:1.25rem}.detail-row[data-v-ce616fd4]{display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.detail-row[data-v-ce616fd4]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-row .label[data-v-ce616fd4]{color:var(--color-heading);font-weight:500;font-size:.9rem}.detail-row .value[data-v-ce616fd4]{color:var(--color-text);text-align:right;font-size:.9rem}.image-modal-overlay[data-v-ce616fd4]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.image-modal[data-v-ce616fd4]{background-color:var(--color-background);border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;position:relative;box-shadow:0 10px 25px #00000080}.modal-header[data-v-ce616fd4]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border);margin-bottom:0}.modal-header h3[data-v-ce616fd4]{color:var(--color-heading);margin:0;font-size:1.25rem}.close-button[data-v-ce616fd4]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button[data-v-ce616fd4]:hover{background-color:#ff6b6b1a;color:#ff6b6b}.modal-content[data-v-ce616fd4]{padding:1.5rem;max-height:75vh;overflow-y:auto}.loading-state[data-v-ce616fd4]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;color:var(--color-text)}.loading-spinner[data-v-ce616fd4]{border:3px solid var(--color-border);border-top:3px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin-ce616fd4 1s linear infinite;margin-bottom:1rem}@keyframes spin-ce616fd4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[data-v-ce616fd4]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;color:#e74c3c}.error-text[data-v-ce616fd4]{margin:0}.no-images-state[data-v-ce616fd4]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;color:var(--color-text)}.no-images-icon[data-v-ce616fd4]{font-size:3rem;margin-bottom:1rem;opacity:.5}.image-gallery[data-v-ce616fd4]{display:flex;flex-direction:column;gap:1rem}.main-image-container[data-v-ce616fd4]{position:relative;display:flex;align-items:center;justify-content:center;background-color:var(--color-background-soft);border-radius:8px;overflow:hidden;min-height:400px}.main-image-wrapper[data-v-ce616fd4]{position:relative;max-width:100%;max-height:500px}.main-image[data-v-ce616fd4]{max-width:100%;max-height:500px;object-fit:contain;border-radius:8px}.image-loading[data-v-ce616fd4]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text)}.thumbnail-placeholder[data-v-ce616fd4]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-background-soft)}.mini-spinner[data-v-ce616fd4]{border:2px solid var(--color-border);border-top:2px solid #3498db;border-radius:50%;width:20px;height:20px;animation:spin-ce616fd4 1s linear infinite}.image-info[data-v-ce616fd4]{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background-color:#00000080;color:#fff;border-radius:0 0 8px 8px}.image-description[data-v-ce616fd4]{margin:0}.image-meta[data-v-ce616fd4]{display:flex;justify-content:space-between;align-items:center}.image-filename[data-v-ce616fd4],.image-size[data-v-ce616fd4],.image-date[data-v-ce616fd4]{font-size:.8rem}.image-actions[data-v-ce616fd4]{margin-top:.75rem;display:flex;justify-content:center}.delete-image-button[data-v-ce616fd4]{background-color:#e74c3c;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s,opacity .3s;display:flex;align-items:center;gap:.5rem}.delete-image-button[data-v-ce616fd4]:hover:not(:disabled){background-color:#c0392b}.delete-image-button[data-v-ce616fd4]:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}.nav-button[data-v-ce616fd4]{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;border-radius:50%;width:3rem;height:3rem;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;z-index:10}.nav-button[data-v-ce616fd4]:hover:not(:disabled){background-color:#000000b3}.nav-button[data-v-ce616fd4]:disabled{opacity:.3;cursor:not-allowed}.prev-button[data-v-ce616fd4]{left:1rem}.next-button[data-v-ce616fd4]{right:1rem}.thumbnail-gallery[data-v-ce616fd4]{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;max-height:120px;overflow-y:auto}.thumbnail[data-v-ce616fd4]{width:80px;height:80px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.thumbnail[data-v-ce616fd4]:hover{border-color:var(--color-border)}.thumbnail.active[data-v-ce616fd4]{border-color:#3498db}.thumbnail-image[data-v-ce616fd4]{width:100%;height:100%;object-fit:cover}.image-counter[data-v-ce616fd4]{text-align:center;color:var(--color-text);font-size:.9rem;padding:.5rem;background-color:var(--color-background-soft);border-radius:6px}@media (max-width: 768px){.location-management-container[data-v-ce616fd4]{padding:.75rem}.add-location-section[data-v-ce616fd4],.locations-section[data-v-ce616fd4]{padding:1.5rem}.form-row[data-v-ce616fd4]{grid-template-columns:1fr}.section-header[data-v-ce616fd4]{flex-direction:column;align-items:stretch}.section-actions[data-v-ce616fd4]{flex-direction:column}.search-input[data-v-ce616fd4],.type-filter[data-v-ce616fd4]{width:100%}.locations-list[data-v-ce616fd4]{grid-template-columns:1fr}}.edit-modal-overlay[data-v-ce616fd4]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1001}.edit-modal[data-v-ce616fd4]{background-color:var(--color-background);border-radius:12px;max-width:800px;width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #00000080}.edit-form[data-v-ce616fd4]{width:100%}.edit-form .form-row[data-v-ce616fd4]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.edit-form .form-row[data-v-ce616fd4]:nth-child(4),.edit-form .form-row[data-v-ce616fd4]:last-of-type{grid-template-columns:1fr}.edit-form .form-group[data-v-ce616fd4]{display:flex;flex-direction:column}.edit-form .form-group label[data-v-ce616fd4]{color:var(--color-heading);margin-bottom:.5rem;font-weight:500}.edit-form .form-group input[data-v-ce616fd4],.edit-form .form-group textarea[data-v-ce616fd4]{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:1rem}.edit-form .form-group input[data-v-ce616fd4]:focus,.edit-form .form-group textarea[data-v-ce616fd4]:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.modal-actions[data-v-ce616fd4]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.update-button[data-v-ce616fd4]{background-color:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.update-button[data-v-ce616fd4]:hover:not(:disabled){background-color:#219a52}.update-button[data-v-ce616fd4]:disabled{background-color:#bdc3c7;cursor:not-allowed}.cancel-button[data-v-ce616fd4]{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.cancel-button[data-v-ce616fd4]:hover{background-color:#7f8c8d}@media (max-width: 768px){.edit-modal[data-v-ce616fd4]{width:95vw;max-height:95vh}.edit-form .form-row[data-v-ce616fd4]{grid-template-columns:1fr}.modal-actions[data-v-ce616fd4]{flex-direction:column}.update-button[data-v-ce616fd4],.cancel-button[data-v-ce616fd4]{width:100%}}.route-details-container[data-v-f0475a6c]{padding:1rem;max-width:1200px;margin:0 2rem}.loading-state[data-v-f0475a6c],.error-state[data-v-f0475a6c]{text-align:center;padding:1.5rem;background-color:var(--color-background-soft);border-radius:8px;margin:2rem auto;max-width:400px}.error-state[data-v-f0475a6c]{color:#ff6b6b;background-color:#ff6b6b1a;border:1px solid rgba(255,107,107,.3)}.route-content[data-v-f0475a6c]{margin-top:2rem}.route-header[data-v-f0475a6c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.route-status[data-v-f0475a6c]{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.route-status.in_progress[data-v-f0475a6c]{background-color:#4caf50;color:#fff}.route-status.scheduled[data-v-f0475a6c]{background-color:#f39c12;color:#fff}.locations-list[data-v-f0475a6c]{background-color:var(--color-background-soft);border-radius:8px;padding:1.5rem;margin:2rem auto 0;max-width:400px;box-sizing:border-box}.locations-list h3[data-v-f0475a6c]{margin-bottom:1rem;color:var(--color-heading)}.no-locations[data-v-f0475a6c]{text-align:center;padding:1.5rem;color:var(--color-text-light)}.location-items[data-v-f0475a6c]{display:flex;flex-direction:column;gap:1rem}.location-item[data-v-f0475a6c]{display:flex;gap:1rem;padding:1rem;background-color:var(--color-background);border-radius:8px;border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;position:relative}.location-item[data-v-f0475a6c]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.location-number[data-v-f0475a6c]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--color-primary);color:#fff;border-radius:50%;font-weight:700}.location-details[data-v-f0475a6c]{flex:1}.location-details h4[data-v-f0475a6c]{margin:0 0 .5rem;color:var(--color-heading)}.location-details p[data-v-f0475a6c]{margin:0;color:var(--color-text);font-size:.9rem}.location-header[data-v-f0475a6c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.location-actions[data-v-f0475a6c]{display:flex;align-items:center;gap:1rem}@media (max-width: 768px){.route-details-container[data-v-f0475a6c]{padding:.5rem}.locations-list[data-v-f0475a6c]{padding:1rem;margin:1.5rem auto 0}.location-item[data-v-f0475a6c]{padding:.75rem}}@media (max-width: 480px){.route-details-container[data-v-f0475a6c]{padding:.25rem}.locations-list[data-v-f0475a6c]{padding:.75rem;margin:1rem auto 0}.location-item[data-v-f0475a6c]{padding:.5rem}}.modal-overlay[data-v-f0475a6c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-f0475a6c]{background-color:var(--color-background);border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-header[data-v-f0475a6c]{padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-f0475a6c]{margin:0;color:var(--color-heading)}.close-button[data-v-f0475a6c]{background:none;border:none;font-size:1.5rem;color:var(--color-text);cursor:pointer;padding:.5rem;line-height:1}.modal-body[data-v-f0475a6c]{padding:1.5rem}.location-info[data-v-f0475a6c]{display:flex;flex-direction:column;gap:1rem}.info-row[data-v-f0475a6c]{display:flex;flex-direction:column;gap:.25rem}.info-row strong[data-v-f0475a6c]{color:var(--color-heading);font-size:.9rem}.info-row span[data-v-f0475a6c]{color:var(--color-text);font-size:1rem}.location-images[data-v-f0475a6c]{border-bottom:1px solid var(--color-border);padding-bottom:1.5rem;margin-bottom:1.5rem}.location-images h4[data-v-f0475a6c]{margin:0 0 1rem;color:var(--color-heading);font-size:1.1rem}.image-gallery[data-v-f0475a6c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.image-item[data-v-f0475a6c]{display:flex;flex-direction:column;gap:.5rem}.location-image[data-v-f0475a6c]{width:100%;height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border);transition:transform .2s ease;cursor:pointer}.location-image[data-v-f0475a6c]:hover{transform:scale(1.02)}.image-description[data-v-f0475a6c]{margin:0;color:var(--color-text);font-size:.9rem;text-align:center;padding:.25rem}.image-loading[data-v-f0475a6c]{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-background-mute);border-radius:8px;border:1px solid var(--color-border);color:var(--color-text);font-style:italic}@media (max-width: 768px){.modal-content[data-v-f0475a6c]{width:95%;margin:1rem}.modal-header[data-v-f0475a6c],.modal-body[data-v-f0475a6c]{padding:1rem}.image-gallery[data-v-f0475a6c]{grid-template-columns:1fr}.location-image[data-v-f0475a6c],.image-loading[data-v-f0475a6c]{height:150px}}.fullimage-overlay[data-v-f0475a6c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000}.fullimage-modal[data-v-f0475a6c]{background-color:var(--color-background);border-radius:8px;width:95vw;height:95vh;max-width:1200px;max-height:800px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.fullimage-header[data-v-f0475a6c]{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-background-soft);border-radius:8px 8px 0 0}.fullimage-header h3[data-v-f0475a6c]{margin:0;color:var(--color-heading);font-size:1.1rem}.fullimage-content[data-v-f0475a6c]{flex:1;display:flex;justify-content:center;align-items:center;padding:1rem;overflow:hidden}.fullsize-image[data-v-f0475a6c]{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #0003}@media (max-width: 768px){.fullimage-modal[data-v-f0475a6c]{width:98vw;height:98vh}.fullimage-header[data-v-f0475a6c]{padding:.75rem 1rem}.fullimage-header h3[data-v-f0475a6c]{font-size:1rem}.fullimage-content[data-v-f0475a6c]{padding:.5rem}}
