body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.customer-list-container{margin:0;max-width:100%;padding:0}@media (max-width:768px){.customer-list-container{padding:0 10px}}.customer-list-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.customer-list-header>div{display:flex;flex-direction:column;gap:10px}.customer-list-header .header-actions{align-items:center;display:flex;flex-direction:row;gap:8px}.schedule-date-filter{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.schedule-date-filter .filter-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px}.customer-list-header h1{color:#333;font-size:28px;margin:0}.btn-link{font-size:14px;transition:color .2s}.btn-link:hover{text-decoration:underline}.btn-primary,.btn-secondary{max-width:300px}.btn-primary:hover{background-color:#0056b3}.customer-search{margin-bottom:20px}.customer-search form{display:flex;flex-wrap:wrap;gap:10px}.search-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:300px;padding:10px}.customer-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.customer-table{border-collapse:collapse;width:100%}.customer-table thead{background-color:#f8f9fa}.customer-table th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px;text-align:left}.customer-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.customer-table th.sortable:hover{background-color:#e9ecef}.customer-table td{border-bottom:1px solid #dee2e6;padding:12px}.customer-table tbody tr:hover{background-color:#f8f9fa}.address-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{display:flex;flex-wrap:wrap;gap:5px}.no-data{color:#6c757d;padding:40px!important;text-align:center}.modal-overlay{padding:20px}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;width:100%}.modal-content.modal-large{max-width:800px}.modal-content-wide{max-width:1400px;width:95%}.modal-content-wide .modal-body{padding:20px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e9ecef;padding:20px 30px}.modal-header h2{color:#333;font-size:24px}.modal-close{color:#999;font-size:32px;line-height:1;transition:color .2s}.modal-close:hover{color:#333}.modal-body{flex:1 1;overflow-y:auto;padding:30px}.modal-footer{border-top:1px solid #e9ecef;gap:10px;padding:20px 30px}.detail-section{margin-bottom:30px}.detail-section:last-child{margin-bottom:0}.detail-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:18px;margin-bottom:15px;padding-bottom:10px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{display:flex;flex-direction:column}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:#6c757d;font-size:12px;font-weight:600;margin-bottom:5px;text-transform:uppercase}.detail-value{color:#212529;font-size:16px}.customer-detail-layout{align-items:flex-start;display:flex;gap:30px}.customer-detail-main{flex:1 1;min-width:0}.customer-detail-sidebar{flex:0 0 320px;position:-webkit-sticky;position:sticky;top:20px;transition:flex .3s ease}.customer-detail-sidebar.sidebar-expanded{flex:0 0 66.67%;max-width:66.67%}.map-container{background:#fff;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;width:100%}.map-container.map-expanded{box-shadow:0 4px 20px #0003}.interactive-map{border-radius:8px 8px 0 0;transition:height .3s ease}.map-controls{background-color:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:flex-start;padding:10px 15px}.btn-map-expand{align-items:center;background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.btn-map-expand:hover{background-color:#545b62;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.btn-map-expand:active{transform:translateY(0)}.location-map{display:block;height:auto;width:100%}.map-actions{background-color:#f8f9fa;display:flex;flex-direction:column;gap:10px;padding:15px}.btn-map-action{align-items:center;background-color:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease;white-space:nowrap;width:100%}.btn-map-action:hover{background-color:#138496;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-map-action:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.map-icon{font-size:16px;line-height:1;opacity:.9}@media (max-width:1024px){.customer-detail-layout{flex-direction:column}.customer-detail-sidebar{flex:1 1;max-width:100%;position:static;width:100%}.customer-detail-sidebar.sidebar-expanded{flex:1 1;max-width:100%}.map-actions{flex-direction:row;flex-wrap:wrap}.btn-map-action{flex:1 1;min-width:150px}.map-controls{display:none}}@media (max-width:768px){.modal-content-wide{max-width:100%}.map-actions{flex-direction:column}.btn-map-action{width:100%}}.customer-form-container{margin:0 auto;max-width:800px;padding:20px}.customer-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.customer-form-header h1{color:#333;margin:0}.customer-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.form-section{margin-bottom:25px}.form-section:last-of-type{margin-bottom:0}.form-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:16px;margin-bottom:15px;padding-bottom:10px}.form-group label{color:#495057;font-weight:600;margin-bottom:5px}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:10px;transition:border-color .15s ease-in-out;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.form-group textarea{min-height:80px;resize:vertical}.checkbox-group,.checkbox-group label{align-items:center;display:flex}.checkbox-group label{cursor:pointer;margin-bottom:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-group label span{font-weight:400;vertical-align:top}.error-text,.required{color:#dc3545}.error-text{display:block;font-size:12px;margin-top:5px}.loading{color:#6c757d;font-size:16px;padding:40px;text-align:center}.error-container{margin:40px auto;max-width:600px;padding:20px;text-align:center}.error-message{border:1px solid #f5c6cb;padding:12px 20px}.pagination{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:20px}.pagination-info{color:#6c757d;font-size:14px}.btn{display:inline-block;text-decoration:none;transition:all .2s}.btn-primary{background-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-warning:hover:not(:disabled){background-color:#e0a800}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled){background-color:#138496}.btn-sm{font-size:14px;font-weight:700;margin:0 5px;padding:12px 16px;text-transform:uppercase}.badge{border-radius:4px;font-size:12px;padding:4px 8px;text-align:center}.badge-success{background-color:#28a745;color:#fff}.badge-secondary{background-color:#6c757d;color:#fff}@media (max-width:768px){.customer-list-header{align-items:flex-start;flex-direction:column;gap:15px}.customer-list-header .btn,.customer-list-header>div{width:100%}.customer-search form{flex-direction:column}.search-input{min-width:100%}.customer-table-container{background:#0000;box-shadow:none}.customer-table thead{display:none}.customer-table,.customer-table tbody,.customer-table tr{display:block;width:100%}.customer-table tr{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px}.customer-table tr:hover{background:#fff;box-shadow:0 4px 8px #00000026}.customer-table td{border:none;display:block;padding:8px 0;position:relative;text-align:left}.customer-table td:before{color:#6c757d;content:attr(data-label);font-size:12px;font-weight:600;left:0;padding-right:10px;position:absolute;text-transform:uppercase;width:45%}.customer-table td:first-child{border-bottom:1px solid #e9ecef;color:#333;font-size:18px;font-weight:600;margin-bottom:8px;padding-bottom:12px;padding-left:0}.customer-table td:first-child:before{display:none}.customer-table td:last-child{border-top:1px solid #e9ecef;margin-top:10px;padding-left:0;padding-top:15px}.customer-table td:last-child:before{display:none}.actions-cell{display:flex;flex-direction:row;gap:12px;justify-content:space-between}.actions-cell .btn{flex:1 1;font-size:15px;font-weight:600;min-width:0;padding:12px 16px}.address-cell{max-width:100%;white-space:normal}.detail-grid{grid-template-columns:1fr}.modal-content{border-radius:0;max-height:100vh;max-width:100%}.modal-body,.modal-footer,.modal-header{padding:15px 20px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.customer-search-container{position:relative;width:100%}.customer-search-input-wrapper{align-items:center;display:flex;position:relative}.customer-search-input-wrapper input[type=text]{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:10px 35px 10px 10px;width:100%}.customer-search-input-wrapper input[type=text]:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.customer-search-clear{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;width:24px}.customer-search-clear:hover{color:#333}.customer-search-dropdown{background:#fff;border:1px solid #ced4da;border-radius:4px;box-shadow:0 4px 8px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.customer-search-loading,.customer-search-no-results{color:#6c757d;font-size:14px;padding:15px;text-align:center}.customer-search-result{border-bottom:1px solid #e9ecef;cursor:pointer;padding:12px 15px;transition:background-color .15s ease-in-out}.customer-search-result:last-child{border-bottom:none}.customer-search-result:hover{background-color:#f8f9fa}.customer-search-result-name{color:#212529;font-weight:600;margin-bottom:4px}.customer-search-result-details{color:#6c757d;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.customer-search-result-details span{display:inline-block}.form-grid-2{grid-gap:15px 25px;display:grid;gap:15px 25px;grid-template-columns:1fr 1fr}.form-grid-2 .form-group{margin-bottom:0}.form-grid-2 .form-group:first-child{grid-column:1/-1}.form-grid-4{grid-gap:15px 25px;display:grid;gap:15px 25px;grid-template-columns:1fr 1fr 1fr 1fr}.form-grid-4 .form-group{margin-bottom:10}.form-grid-4 .form-group:first-child{grid-column:1/-1}.form-grid-4 .btn{margin:15% 0;max-height:40px}.form-grid-4.row{border-bottom:1px solid #e9ecef;margin-bottom:15px;padding-bottom:15px}.radio-group{display:flex;flex-wrap:wrap;gap:10px 20px;padding:8px 0}.radio-label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.radio-label input[type=radio]{cursor:pointer;height:16px;margin-right:6px;width:16px}.radio-group-horizontal{align-items:center;display:flex;flex-wrap:wrap;gap:5px 15px;padding:6px 0}.radio-group-horizontal .radio-label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.checkbox-group-inline{align-items:center;display:flex;padding:6px 0}.checkbox-group-inline label{align-items:center;cursor:pointer;display:flex;margin-bottom:0}.checkbox-group-inline input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.form-grid-row{display:contents}.form-grid-row>.form-group{margin-bottom:0}@media (max-width:768px){.form-grid-2{grid-template-columns:1fr}.form-grid-2 .form-group:first-child{grid-column:1}.radio-group{flex-direction:column;gap:8px}}.filters-row{align-items:center;display:flex;flex-wrap:wrap;margin:10px 0}.filters-row .filter-group{align-items:center;display:flex;gap:8px}.filters-row .filter-group label{color:#495057;font-size:14px;font-weight:600;white-space:nowrap}.filters-row .filter-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px}.filters-row .filter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.presets-row{border-top:1px solid #e9ecef;margin-top:5px;padding-top:10px}.preset-label{color:#495057;font-size:14px;font-weight:600;margin-right:5px}.btn-preset{background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.btn-preset:hover{background-color:#dee2e6;border-color:#adb5bd}.btn-preset:active{background-color:#ced4da}.cancel-options{background-color:#f8f9fa;border-radius:8px;margin:20px 0;padding:15px}.cancel-options .radio-label{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:10px;padding:12px;transition:all .2s}.cancel-options .radio-label:hover{border-color:#667eea}.cancel-options .radio-label input[type=radio]{cursor:pointer;margin-top:4px}.cancel-options .radio-label span{display:flex;flex-direction:column;gap:4px}.cancel-options .radio-label small{color:#6c757d;font-size:12px}.reschedule-date-input{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-top:15px;padding:12px}.reschedule-date-input label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.warning-text{border:1px solid #ffeaa7;border-radius:6px}.info-text,.warning-text{margin:15px 0;padding:12px 15px}.info-text{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:6px;color:#0c5460}.modal-content h3{font-size:20px;margin:0 0 15px}.modal-content p{color:#495057;line-height:1.5;margin:10px 0}.modal-actions{border-top:1px solid #e9ecef;gap:10px;padding-top:15px}.form-group input[type=range]{margin-top:8px;width:calc(100% - 50px)}.slider-value{display:inline-block;font-weight:700;margin-left:10px;min-width:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:15px;justify-content:center;min-height:180px;overflow:hidden;padding:30px;position:relative;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:before{background:linear-gradient(90deg,#2196f3,#667eea);content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.stat-card-primary:before{background:linear-gradient(90deg,#2196f3,#42a5f5)}.stat-card-success:before{background:linear-gradient(90deg,#4caf50,#66bb6a)}.stat-card-warning:before{background:linear-gradient(90deg,#ff9800,#ffa726)}.stat-card-info:before{background:linear-gradient(90deg,#9c27b0,#ab47bc)}.stat-icon{font-size:3.5rem;margin-bottom:10px;opacity:.9}.stat-content{width:100%}.stat-value{color:#333;font-size:3rem;font-weight:700;line-height:1;margin-bottom:10px}.stat-label{color:#6c757d;font-size:.875rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.info-box{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.info-box h3{color:#333;font-size:1.25rem;margin:0 0 10px}.info-box p{color:#6c757d;margin:0}.devices-grid{grid-gap:15px;display:grid;gap:15px}.device-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.device-card-header{align-items:center;background:#fff;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:12px 15px}.device-card-body{padding:15px}@media (max-width:768px){.stats-grid{grid-template-columns:1fr;max-width:100%}.customer-table-container{overflow-x:auto}.customer-table{min-width:90%}}.filters-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.filters-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:7.5px 0}.filter-group{display:flex;flex-direction:row;gap:15px;height:32px}.filter-group label{color:#495057;font-size:.875rem;font-weight:600;padding:7.5px 0}.filter-group .btn-sm{display:block;font-size:.875rem;padding:3px 6px;text-transform:none}.filter-input,.filter-select{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:8px 12px;transition:border-color .2s}.filter-input:focus,.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filters-actions{display:flex;gap:10px;justify-content:flex-end}.logs-stats{align-items:center;color:#6c757d;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:15px;padding:10px 0}.loading-indicator{color:#667eea;font-style:italic}.logs-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.logs-list{display:flex;flex-direction:column}.log-entry{border-bottom:1px solid #e9ecef;padding:15px 20px;transition:background-color .2s}.log-entry:last-child{border-bottom:none}.log-entry:hover{background-color:#f8f9fa}.log-header{align-items:center;gap:10px;justify-content:space-between;margin-bottom:8px}.log-badges,.log-header{display:flex;flex-wrap:wrap}.log-badges{gap:8px}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.badge-auth{background-color:#e3f2fd;color:#1976d2}.badge-device{background-color:#f3e5f5;color:#7b1fa2}.badge-security{background-color:#fff3e0;color:#e65100}.badge-info{background-color:#e8f5e9;color:#2e7d32}.badge-warning{background-color:#fff9c4;color:#f57f17}.badge-error{background-color:#ffebee;color:#c62828}.badge-debug{background-color:#f5f5f5;color:#616161}.badge-default{background-color:#e0e0e0;color:#424242}.log-timestamp{color:#6c757d;font-family:Courier New,monospace;font-size:.875rem}.log-message{color:#212529;font-size:.9375rem;font-weight:500;margin-bottom:8px}.log-context{grid-gap:8px;background-color:#f8f9fa;border-radius:4px;display:grid;font-family:Courier New,monospace;font-size:.8125rem;gap:8px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:10px}.log-context-item{display:flex;gap:8px}.log-context-key{color:#495057;font-weight:600}.log-context-value{color:#212529;word-break:break-all}.subtitle{color:#6c757d;font-size:.9375rem;margin-top:5px}.backup-name{display:flex;flex-direction:column;gap:4px}.backup-notes{color:#6c757d;font-size:.75rem;font-style:italic}.text-muted{color:#6c757d;font-size:.875rem}.badge-success{background-color:#d4edda;color:#155724}.modal-overlay{background-color:#00000080}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;width:90%}.modal-content h3{color:#333;margin-top:0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.warning-text{background-color:#fff3cd;border-radius:4px;color:#856404;font-size:.875rem;padding:12px}.success-message{align-items:center;background-color:#d4edda;border-radius:4px;color:#155724;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.error-message .dismiss-btn,.success-message .dismiss-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;opacity:.6;padding:0 4px}.error-message .dismiss-btn:hover,.success-message .dismiss-btn:hover{opacity:1}.error-message{align-items:center;background-color:#f8d7da;border-radius:4px;color:#721c24;display:flex;justify-content:space-between;padding:12px 16px}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.data-table{border-collapse:collapse;min-width:800px;width:100%}.data-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #e9ecef;padding:12px 16px;vertical-align:middle}.data-table tr:hover{background-color:#f8f9fa}.data-table .empty-state{color:#6c757d;padding:40px;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-small{font-size:.8125rem;padding:6px 12px}.btn-warning{background-color:#ffc107;border:none;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-danger{background-color:#dc3545;border:none;color:#fff}.btn-danger:hover{background-color:#c82333}.form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.form-row .form-group{flex:1 1;min-width:200px}.form-input{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:8px 12px;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}@media (max-width:768px){.filters-row{grid-template-columns:1fr}.log-header{align-items:flex-start;flex-direction:column}.log-context{grid-template-columns:1fr}.filters-actions{justify-content:stretch}.filters-actions button{flex:1 1}}.truck-graphic-container{align-items:flex-start;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:row;gap:16px;justify-content:center;padding:32px}.labels-wrapper{display:flex;flex-direction:column;height:550px;justify-content:space-between;padding-top:20px}.vehicle-label{align-items:center;color:#333;display:flex;flex:0 0 auto;font-size:28px;font-weight:600;text-orientation:mixed;transform:rotate(270deg);white-space:nowrap;writing-mode:vertical-rl}.vehicles-wrapper{display:flex;flex-direction:column;gap:0;position:relative}.vehicle-section{align-items:center;display:flex;flex:0 0 auto;flex-direction:column}.vehicle-section.truck-section{margin-bottom:-80px;z-index:1}.vehicle-section.trailer-section{margin-top:-10px;z-index:2}.truck-svg-wrapper{height:550px;position:relative;width:330px}.trailer-svg-wrapper{height:380px;position:relative;width:330px}.trailer-svg,.truck-svg{height:100%;width:100%}.trailer-hitch{fill:#868e96;stroke:#495057;stroke-width:2}.trailer-body,.truck-body{fill:#f8f9fa;stroke:#666;stroke-width:2}.truck-cab{fill:#5c7cfa;stroke:#364fc7;stroke-width:2}.truck-wall{fill:#e9ecef;stroke:#666;stroke-width:1}.truck-label{fill:#333;text-anchor:middle;font-size:28px;font-weight:600}.drop-zone-bg{fill:#f8f9fa;stroke:#dee2e6;stroke-width:2;rx:6;transition:all .2s ease}.drop-zone-bg.drag-over{fill:#e3f2fd;stroke:#1976d2;stroke-width:4}.drop-zone-bg.occupied{fill:#e8f5e9;stroke:#388e3c}.drop-zone-bg.heavy-trailer{fill:#ffcdd2;stroke:#d32f2f}.drop-zone-bg.medium-trailer{fill:#ffe0b2;stroke:#f57c00}.drop-zone-overlay{align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:4px 8px;position:absolute;transition:all .2s ease;z-index:10}.drop-zone-overlay.empty{background:#0000;border:2px dashed #ccc;cursor:default}.drop-zone-overlay.empty:hover{background:#1976d20d;border-color:#1976d2}.drop-zone-overlay.occupied{background:#e8f5e9;border:2px solid #388e3c;cursor:grab}.drop-zone-overlay.occupied:active{cursor:grabbing}.drop-zone-overlay.drag-over{background:#e3f2fd;border-color:#1976d2;transform:scale(1.02)}.drop-zone-overlay.dragging{opacity:.5}.drop-zone-overlay.heavy-trailer{background:#ffcdd2;border-color:#d32f2f}.drop-zone-overlay.medium-trailer{background:#ffe0b2;border-color:#f57c00}.overlay-content{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow:hidden}.overlay-content .position-label{color:#333;font-size:14px;font-weight:700}.overlay-content .product-label{color:#388e3c;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-content .customer-label{color:#666;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heavy-trailer .overlay-content .product-label{color:#b71c1c}.medium-trailer .overlay-content .product-label{color:#e65100}.empty-label{color:#ccc;font-size:20px;font-weight:500;text-align:center;width:100%}.remove-btn-overlay{align-items:center;background:#f44;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:20px;justify-content:center;line-height:1;margin-left:4px;padding:0;width:20px}.remove-btn-overlay:hover{background:#c00}.trailer-toggle{position:absolute;right:8px;top:8px;z-index:100}.trailer-toggle-btn{align-items:center;background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:4px;padding:8px 12px;transition:all .2s ease}.trailer-toggle-btn:hover{background:#5a6268}.trailer-toggle-btn.active{background:#28a745}.trailer-toggle-btn:not(.active){background:#dc3545}.trailer-toggle-btn:not(.active):hover{background:#c82333}.dangerous-load-warning{background:#ffebee;border:2px solid #c62828;border-radius:4px;color:#c62828;font-size:12px;font-weight:600;margin-top:8px;max-width:150px;padding:8px 12px;text-align:center}@keyframes wiggle{0%,to{transform:rotate(0deg)}10%{transform:rotate(-3deg)}20%{transform:rotate(3deg)}30%{transform:rotate(-3deg)}40%{transform:rotate(3deg)}50%{transform:rotate(-3deg)}60%{transform:rotate(3deg)}70%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}90%{transform:rotate(-3deg)}}.drop-zone-overlay.wiggle{animation:wiggle .5s ease-in-out}.scheduling-page{background:#fff;box-sizing:border-box;margin:0;max-width:100%;min-height:100%;padding:0;width:100%}.scheduling-wrapper{display:flex;flex-direction:column;gap:20px;min-height:100%;padding:24px}.page-header{margin:0}.page-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.page-header p{color:#666;font-size:14px;margin:0}.scheduling-container{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:3fr 3fr 6fr}.scheduling-sidebar{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:20px}.tool-bar{display:flex;flex-direction:column;gap:16px}.tool-bar .form-group{margin-bottom:0}.tool-bar label{color:#444;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.tool-bar .form-control{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.tool-bar .form-control:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.tool-bar .btn-block{margin-top:8px;width:100%}.selected-run-info{border-bottom:1px solid #eee}.selected-run-info h3{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.info-row{display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.scheduling-content{background:#fff;border-radius:8px;min-height:400px}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;height:300px;justify-content:center}.spinner{border:3px solid #f0f0f0;border-top-color:#1976d2;height:32px;width:32px}.error-state{color:#d32f2f}.empty-state,.error-state{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center}.empty-state{color:#666;text-align:center}.empty-state .hint{color:#999;font-size:13px;margin-top:8px}.run-details{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.details-header{align-items:center;border-bottom:1px solid #eee;display:none;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.details-header h2{font-size:20px;font-weight:600;margin:0}.run-time{background:#f5f5f5;border-radius:4px;color:#666;font-size:16px;padding:6px 12px}.details-info{margin-bottom:24px}.info-card{background:#f9f9f9;border-radius:8px;padding:16px}.info-card h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.info-item .label{color:#666;font-size:12px;margin-bottom:4px}.info-item .value{color:#333;font-size:14px;font-weight:500}.deliveries-list{margin-top:24px}.deliveries-list h4{font-size:16px;font-weight:600;margin:0 0 12px}.empty-deliveries{background:#f9f9f9;border-radius:8px;color:#666;padding:40px;text-align:center}.empty-deliveries .hint{color:#999;font-size:13px;margin-top:8px}.modal-overlay{align-items:center;animation:fadeInOverlay .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;margin:16px;max-width:400px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h2{font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.modal-close:hover{background:#f5f5f5}.modal-body{padding:20px}.modal-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.form-group{margin-bottom:16px}.form-group label{color:#444;font-size:13px;margin-bottom:6px}.form-control{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.form-control:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-control:disabled{background:#f5f5f5;cursor:not-allowed}.hint{color:#999;display:block;font-size:12px;margin-top:4px}.time-quick-select{display:flex;gap:8px;margin-top:8px}.time-btn{background:#f9f9f9;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:8px 12px;transition:all .2s ease}.time-btn:hover{background:#e9e9e9;border-color:#ccc}.time-btn.selected{background:#1976d2;border-color:#1976d2;color:#fff}.btn{align-items:center;display:inline-flex;justify-content:center;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#1976d2}.btn-primary:hover:not(:disabled){background:#1565c0}.btn-secondary{background:#f5f5f5}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-block{width:100%}.pending-allocation{border-top:1px solid #eee;margin-top:24px;padding-top:20px}.pending-allocation h3{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.loading-small{align-items:center;display:flex;justify-content:center;padding:20px}.spinner-small{animation:spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#1976d2;height:20px;width:20px}.empty-orders{color:#666;font-size:13px;padding:16px;text-align:center}.orders-list{display:flex;flex-direction:column;gap:8px;max-height:600px;overflow-y:auto}.order-item{background:#f9f9f9;border-radius:6px;cursor:pointer;padding:10px;transition:background .2s}.order-item:hover{background:#f0f0f0}.order-name{color:#333;font-size:13px;font-weight:500;margin-bottom:2px}.order-distance{color:#666;font-size:11px;font-weight:400;margin-left:6px}.order-address{color:#666;font-size:12px}.order-products{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.product-tag{background:#e3f2fd;border-radius:3px;color:#1976d2;font-size:11px;padding:2px 6px}.order-product{color:#1976d2;font-size:12px;font-weight:500;margin-top:4px}.order-item.draggable{cursor:grab}.order-item.draggable:active{cursor:grabbing}.order-item{position:relative}.partial-badge{align-items:center;background:#ff9800;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:18px;justify-content:center;position:absolute;right:8px;top:8px;width:18px}.drag-hint{color:#999;font-size:10px;margin-top:4px;text-align:right}.truck-section{position:relative}.truck-section h4{color:#333;font-size:14px;font-weight:600;margin:0 0 8px}.truck-section .hint{color:#999;font-size:12px;margin-bottom:12px}.truck-section .loading-overlay{align-items:center;background:#fffc;border-radius:8px;bottom:0;display:flex;gap:8px;justify-content:center;left:0;position:absolute;right:0;top:0}.deliveries-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.delivery-card{background:#f9f9f9;border:1px solid #eee;border-radius:6px;padding:12px}.delivery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.delivery-customer{color:#333;font-size:13px;font-weight:600}.delivery-position{background:#1976d2;border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px}.delivery-address{color:#666;font-size:12px;margin-bottom:8px}.delivery-items{display:flex;flex-wrap:wrap;gap:4px}.item-tag{background:#e3f2fd;border-radius:3px;color:#1976d2;font-size:10px;padding:2px 6px}.error-message{background:#ffebee;color:#d32f2f;margin-bottom:16px}@media (max-width:1024px){.scheduling-container{grid-template-columns:1fr}.scheduling-sidebar{order:1}.scheduling-content{order:2}.scheduling-itinerary{order:3}}.scheduling-itinerary{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:16px;height:-webkit-fit-content;height:fit-content;padding:20px}.itinerary-with-map{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 280px}.itinerary-with-map .itinerary-list{flex:1 1}.itinerary-with-map .map-container{width:280px}.map-placeholder{align-items:center;color:#666;display:flex;flex-direction:column;height:200px;justify-content:center;padding:20px;text-align:center}.map-icon{font-size:48px;margin-bottom:8px;opacity:.5}.map-placeholder p{font-size:14px;font-weight:500;margin:0}.map-placeholder .hint{color:#999;font-size:12px;margin-top:4px}.itinerary-list{flex:1 1}.itinerary-list h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.empty-itinerary{align-items:center;background:#f9f9f9;border-radius:8px;color:#666;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:24px;text-align:center}.empty-itinerary p{font-size:14px;margin:0}.empty-itinerary .hint{color:#999;font-size:12px;margin-top:4px}.itinerary-deliveries{display:flex;flex-direction:column;gap:8px}.itinerary-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:10px;padding:10px 12px}.itinerary-position{color:#5c7cfa;font-size:14px;font-weight:700;min-width:28px}.itinerary-seq-number{align-items:center;background:#5c7cfa;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.itinerary-position-badge{background:#e3f2fd;border:none;border-radius:10px;color:#1976d2;cursor:pointer;font-size:11px;font-weight:600;padding:2px 8px;transition:all .2s ease}.itinerary-position-badge:hover{background:#1976d2;color:#fff}.itinerary-details{display:flex;flex:1 1;flex-direction:column;gap:2px}.itinerary-customer{color:#333;font-size:15px;font-weight:600}.itinerary-address{color:#666;font-size:12px}.itinerary-product{color:#555;font-size:12px}.itinerary-eta{background:#e3f2fd;border-radius:4px;color:#1976d2;font-size:12px;font-weight:500;margin-top:2px;padding:2px 8px}@media (max-width:600px){.scheduling-page{padding:16px}.info-grid{grid-template-columns:1fr}.details-header{align-items:flex-start;flex-direction:column;gap:12px}}.search-order-modal{max-width:700px}.search-form{border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:16px;margin-bottom:16px;padding-bottom:16px}.search-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.search-form .btn{align-self:flex-start}.search-results{max-height:400px;overflow-y:auto}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 0}.select-all-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px}.results-list{display:flex;flex-direction:column;gap:8px}.result-item{align-items:flex-start;background:#f9f9f9;border-radius:6px;display:flex;gap:12px;padding:12px;transition:background .2s}.result-item:hover{background:#f0f0f0}.result-checkbox{padding-top:2px}.result-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.result-customer{color:#333;font-size:14px;font-weight:600}.result-info{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.result-address,.result-email,.result-phone{align-items:center;display:flex}.result-meta{color:#999;display:flex;font-size:11px;gap:16px;margin-top:4px}.result-date,.result-order-date{align-items:center;display:flex}.no-results{color:#666;padding:24px;text-align:center}.loading-results{align-items:center;color:#666;display:flex;gap:8px;justify-content:center;padding:24px}.modal-footer .reschedule-controls{align-items:flex-end;display:flex;gap:16px;width:100%}.modal-footer .reschedule-controls .form-group{margin-bottom:0;min-width:180px}.map-container{background:#f5f5f5;border-radius:8px;min-height:200px;overflow:hidden;position:relative}.map-fullscreen-btn{background:#ffffffe6!important;border:1px solid #ddd!important;box-shadow:0 2px 4px #0000001a;color:#333!important;font-size:12px!important;margin-top:15px;padding:6px 10px!important}.map-fullscreen-btn:hover{background:#fff!important}.btn-confirm-run{background:#2e7d32!important;border:1px solid #1b5e20!important;color:#fff!important;font-size:12px!important;margin-top:8px;padding:6px 10px!important;width:100%}.btn-confirm-run:hover{background:#1b5e20!important}.btn-return-planning{background:#ff9800!important;border:1px solid #e65100!important;color:#fff!important;font-size:12px!important;margin-top:8px;padding:6px 10px!important;width:100%}.btn-return-planning:hover{background:#e65100!important}.modal-fullscreen-map{height:800px;max-height:90vh;max-width:90vw;width:1200px}.modal-body-map{height:calc(100% - 60px);padding:0!important}.modal-body-map .route-map-container{border-radius:0 0 8px 8px;height:100%}.modal-body-map .route-map{height:100%}.modal-body-map .route-info-panel{bottom:20px;left:20px;margin:0 auto;max-width:400px;right:20px}.run-code-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.run-code-row h2{font-size:20px;font-weight:600;margin:0}.status-badge{border-radius:12px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.status-planning{background:#fff3e0;color:#e65100}.status-confirmed{background:#e3f2fd;color:#1565c0}.status-live{background:#e8f5e9;color:#2e7d32}.status-completed{background:#f5f5f5;color:#616161}.vehicle-concern{border-radius:6px;font-size:14px;margin-bottom:16px;padding:12px}.vehicle-concern.warning{background:#fff3e0;border:1px solid #ffb74d;color:#e65100}.vehicle-concern.error{background:#ffebee;border:1px solid #ef5350;color:#d32f2f}.vehicle-details{display:flex;font-size:13px;gap:16px;margin-top:8px}.vehicle-details span{align-items:center;display:flex}.existing-runs-list{font-size:13px;margin-top:12px}.existing-runs-list ul{margin:8px 0 0;padding-left:20px}.existing-runs-list li{margin-bottom:4px}.time-display-row{align-items:center;display:flex;gap:12px}.time-display-row .info-value{color:#333;font-weight:500}.time-edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.time-edit-row .time-input{font-size:13px;padding:6px 10px;width:120px}.btn-link{border-radius:4px;color:#1976d2;padding:4px 8px;text-decoration:none;transition:background .2s}.btn-link:hover{background:#e3f2fd;text-decoration:none}.btn-sm{font-size:12px;padding:6px 12px}.date-nav-group{margin-bottom:16px}.date-nav-controls{align-items:center;display:flex;gap:8px}.date-nav-controls .form-control{flex:1 1;text-align:center}.btn-date-nav{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.btn-date-nav:hover{background:#e0e0e0;border-color:#ccc}.run-select-row{align-items:center;display:flex;gap:8px}.run-select-row .form-control{flex:1 1;text-align:center}.btn-nav-run{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.btn-nav-run:hover:not(:disabled){background:#e0e0e0;border-color:#ccc}.btn-nav-run:disabled{cursor:not-allowed;opacity:.5}.run-status-summary{color:#666;font-size:12px;margin-top:6px;text-align:center}.hidden-items-warning{background:#fff3e0;border-radius:6px;color:#e65100;font-size:12px;font-weight:500;margin-bottom:12px;padding:10px 12px;text-align:center}.modal-split{max-width:500px}.split-order-info{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:16px}.split-order-info p{color:#333;font-size:14px;margin:0 0 8px}.split-order-info p:last-child{margin-bottom:0}.total-cubic{color:#1976d2;font-size:16px}.total-cubic strong{color:#1565c0}.split-count-selector{margin-bottom:20px}.split-count-selector label{color:#444;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.split-count-buttons{display:flex;gap:12px}.split-count-btn{background:#fff;border:2px solid #ddd;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-size:18px;font-weight:600;padding:12px 16px;transition:all .2s ease}.split-count-btn:hover:not(:disabled){background:#f5f9ff;border-color:#1976d2}.split-count-btn.selected{background:#1976d2;border-color:#1976d2;color:#fff}.split-count-btn:disabled{cursor:not-allowed;opacity:.6}.splits-container{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.split-row{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;gap:12px;padding:12px}.split-label{color:#333;font-size:13px;font-weight:600;min-width:60px}.split-slider{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:4px;cursor:pointer;flex:1 1;height:8px;outline:none}.split-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1976d2;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.split-slider::-moz-range-thumb{background:#1976d2;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.split-slider:disabled{cursor:not-allowed;opacity:.6}.split-value{color:#1976d2;font-size:14px;font-weight:600;min-width:70px;text-align:right}.order-actions{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.order-actions .drag-hint{margin-top:0}.btn-split{background:#fff;border:1px solid #1976d2;border-radius:4px;color:#1976d2;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s ease}.btn-split:hover:not(:disabled){background:#1976d2;color:#fff}.btn-split:disabled{cursor:not-allowed;opacity:.6}.split-not-possible{background:#ffebee;border-radius:8px;color:#d32f2f;font-size:14px;margin-top:16px;padding:16px;text-align:center}.split-auto-toggle{background:#f5f5f5;border-radius:8px;margin-bottom:20px;padding:12px}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:8px}.toggle-checkbox{cursor:pointer;height:18px;width:18px}.toggle-text{color:#333;font-size:13px;font-weight:500}.split-auto-toggle .hint{color:#666;font-size:11px;margin-top:4px}.splits-summary{background:#e3f2fd;border-radius:8px;color:#1565c0;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:4px;padding:12px;text-align:center}.splits-summary .summary-error{color:#d32f2f}.splits-summary .balance-error{color:#d32f2f;font-size:12px;font-weight:600}.route-map-container{background-color:#f0f4f8;border-radius:8px;height:300px;overflow:hidden;position:relative;width:100%}.route-map{height:100%;width:100%}.route-map-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem;text-align:center}.route-map-error .error-icon{font-size:2rem;margin-bottom:.5rem}.route-map-error p{font-weight:600;margin:0}.route-map-error .hint{color:#b91c1c;font-size:.85rem;margin-top:.25rem}.route-map-error-overlay{align-items:center;background-color:#ef4444e6;color:#fff;display:flex;font-size:.85rem;justify-content:space-between;left:0;padding:.5rem 1rem;position:absolute;right:0;top:0}.route-map-error-overlay button{background:#fff;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.route-map-error-overlay button:hover{background:#f3f4f6}.route-map-empty-overlay{box-shadow:0 4px 6px #0000001a;color:#6b7280;font-size:.9rem;left:50%;padding:1rem 1.5rem;text-align:center;top:50%;transform:translate(-50%,-50%)}.route-info-panel,.route-map-empty-overlay{background-color:#fffffff2;border-radius:8px;position:absolute}.route-info-panel{align-items:center;bottom:10px;box-shadow:0 2px 4px #0000001a;display:flex;font-size:.85rem;justify-content:space-around;left:10px;padding:.5rem 1rem;right:10px}.route-info-item{align-items:center;display:flex;gap:.35rem}.route-info-icon{font-size:.9rem}.route-info-value{color:#1f2937;font-weight:600;top:20px}.marker-info-window{font-size:.85rem;line-height:1.4;padding:.25rem}.marker-info-window strong{color:#2563eb;font-size:1rem}.runsheet-page{background:#f5f5f5;min-height:100vh;padding:20px}.runsheet-header{padding:20px 30px}.runsheet-title h1{font-size:24px}.run-code{color:#666;margin-left:15px}.runsheet-actions{display:flex;gap:10px}.runsheet-info-bar{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:30px;padding:15px 30px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#666;font-size:11px;font-weight:600;text-transform:uppercase}.info-value{color:#333;font-size:16px;font-weight:500}.info-value.eta-range{color:#2563eb}.status-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:12px;padding:2px 8px}.runsheet-columns{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 350px}.runsheet-itinerary{border-right:1px solid #e0e0e0;padding:25px 30px}.runsheet-itinerary h2{border-bottom:2px solid #2563eb;color:#333;font-size:18px;margin:0 0 20px;padding-bottom:10px}.itinerary-list{display:flex;flex-direction:column;gap:20px}.itinerary-stop{background:#fafafa;border-left:4px solid #2563eb;border-radius:8px;padding:15px}.stop-header{border-bottom:1px solid #e0e0e0;gap:12px;margin-bottom:12px;padding-bottom:8px}.stop-header,.stop-number{align-items:center;display:flex}.stop-number{background:#2563eb;border-radius:50%;color:#fff;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.stop-info{flex:1 1}.stop-order-ref{color:#333;font-size:15px;font-weight:600}.stop-note-ref{color:#f59e0b;font-weight:600;margin-left:8px}.stop-position{background:#e5e7eb;border-radius:4px;color:#666;font-size:12px;padding:3px 10px}.stop-details{display:flex;flex-direction:column;gap:6px}.detail-row{display:flex;font-size:14px;gap:10px}.detail-label{color:#666;min-width:80px}.detail-value{color:#333}.detail-products{display:flex;flex-direction:column;gap:2px}.product-item{color:#333}.product-price{color:#666;font-size:12px;margin-left:8px}.paid-status.no{color:#dc2626;font-weight:600}.paid-status.yes{color:#16a34a;font-weight:600}.payment-method{color:#666;font-weight:400}.amount-due{border-top:1px dashed #e0e0e0;margin-top:4px;padding-top:6px}.amount-due .detail-label{color:#dc2626;font-weight:600}.amount-due .detail-value{color:#dc2626;font-size:16px;font-weight:700}.notes-section{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:30px;padding:20px}.notes-section h3{color:#92400e;font-size:16px;margin:0 0 15px}.notes-list{display:flex;flex-direction:column;gap:10px}.note-item{display:flex;font-size:14px;gap:10px}.note-key{color:#b45309;font-weight:700}.note-text{color:#78350f}.runsheet-truck{background:#f8f9fa;padding:25px}.runsheet-truck h2{border-bottom:2px solid #2563eb;color:#333;font-size:18px;margin:0 0 20px;padding-bottom:10px}.runsheet .truck-diagram{display:flex;flex-direction:column;gap:20px}.runsheet .truck-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:15px}.section-label{color:#666;font-size:12px;font-weight:600;margin-bottom:12px;text-transform:uppercase}.runsheet .truck-section.trailer .section-label{color:#2563eb}.positions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}.runsheet .truck-section.truck-bed .positions{grid-template-columns:repeat(7,1fr)}.position{align-items:center;aspect-ratio:1;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:center;position:relative}.position.empty{background:#e5e7eb;border:2px dashed #d1d5db}.position.occupied{background:#dbeafe;border:2px solid #2563eb}.pos-number{color:#666;font-size:14px;font-weight:700}.position.occupied .pos-number{color:#1e40af}.pos-content{align-items:center;display:flex;flex-direction:column;margin-top:2px}.pos-code{color:#1e40af;font-size:10px;font-weight:600}.pos-qty{color:#3b82f6;font-size:10px}.truck-legend{display:flex;gap:20px;justify-content:center;padding:10px}.legend-item{align-items:center;color:#666;display:flex;font-size:12px;gap:6px}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.occupied{background:#dbeafe;border:2px solid #2563eb}.legend-color.empty{background:#e5e7eb;border:2px dashed #d1d5db}.runsheet-footer{font-size:12px;margin-top:20px;padding:15px 30px}.runsheet-error,.runsheet-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:300px}.spinner{height:40px;width:40px}.btn{border-radius:6px;font-size:14px;padding:10px 20px}@media (max-width:900px){.runsheet-columns{grid-template-columns:1fr}.runsheet-truck{border-top:1px solid #e0e0e0}.truck-section.trailer .positions{grid-template-columns:repeat(6,1fr)}}@media print{.runsheet-actions,.runsheet-header .btn,.screen-only{display:none!important}@page{size:A4 landscape;margin:10mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.runsheet-page{background:#fff;padding:0}.runsheet-header{border-bottom:2px solid #333;box-shadow:none;margin-bottom:10px;padding:10px 20px}.runsheet-content{box-shadow:none}.runsheet-info-bar{background:#f0f0f0;padding:10px 20px}.runsheet-columns{grid-template-columns:1fr 300px}.runsheet-itinerary{padding:15px 20px}.runsheet-truck{padding:15px}.itinerary-stop{background:#fff;border-left:3px solid #333;padding:10px;page-break-inside:avoid}.position.occupied{background:#e0e0e0!important;border-color:#333!important}.position.occupied .pos-code,.position.occupied .pos-number{color:#333!important}.notes-section{background:#f0f0f0!important;border-color:#999!important}.runsheet-footer{box-shadow:none;margin-top:10px}.stop-number{background:#333!important}}.daily-runsheet-page{background:#fff;min-height:100vh;padding:20px}.runsheet-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.runsheet-title{align-items:baseline;display:flex;gap:15px;margin-bottom:30px;margin-right:30px}.runsheet-title h1{color:#333;font-size:20px;margin:0}.run-date{color:#666;font-size:16px;margin-left:15px}.runsheet-controls{align-items:center;display:flex;gap:15px}.form-group.inline{align-items:center;display:flex;gap:8px}.form-group.inline label{color:#666;font-size:14px}.form-group.inline .form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.runsheet-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.error-message{background:#fef2f2;color:#dc2626;padding:20px;text-align:center}.empty-runs{color:#666;padding:40px;text-align:center}.runs-container{display:flex;flex-direction:column;gap:0}.run-sheet{border-bottom:2px solid #333;padding:15px 20px;page-break-after:always}.run-sheet:last-child{border-bottom:none}.run-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.run-title{align-items:baseline;display:flex;gap:15px}.run-code{color:#333;font-size:18px;font-weight:700}.run-start{color:#666;font-size:16px}.run-meta{align-items:center;display:flex;gap:15px}.eta-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;font-size:12px;font-weight:600;padding:4px 10px}.stop-count{color:#666;font-size:12px}.run-body{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 140px}.run-itinerary{min-width:0}.itinerary-table{border-collapse:collapse;font-size:11px;width:100%}.itinerary-table th{background:#f5f5f5;border-bottom:1px solid #ddd;color:#666;font-size:10px;font-weight:600;padding:6px 8px;text-align:left;text-transform:uppercase}.itinerary-table td{border-bottom:1px solid #eee;padding:5px 8px;vertical-align:top}.itinerary-table tr:last-child td{border-bottom:none}.seq-cell{color:#333;font-weight:700;text-align:center;width:20px}.order-cell{white-space:nowrap}.order-link{background:none;border:none;color:#2563eb;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:underline}.order-link:hover{color:#1d4ed8}.note-ref{color:#f59e0b;font-weight:600;margin-left:4px}.products-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-cell{color:#555;max-width:150px}.address-cell,.customer-cell{font-size:10px}.customer-name{font-weight:500}.customer-phone{color:#666}.paid-cell{white-space:nowrap}.paid-yes{color:#16a34a;font-weight:600}.paid-no{font-weight:600}.amount,.paid-no{color:#dc2626}.eta-cell{white-space:nowrap}.prev-cell{color:#333;font-weight:600;text-align:center}.eta-range{color:#1976d2;font-size:10px;font-weight:500}.pos-cell{color:#666;font-weight:700;text-align:center;width:30px}.run-notes{grid-gap:6px;background:#fffbeb;border-radius:4px;display:grid;font-size:11px;gap:6px;grid-template-columns:1fr 1fr;margin-top:8px;padding:6px 8px}.run-notes strong{grid-column:1/-1}.note-item{color:#78350f}.run-truck{display:block;flex-shrink:0}.runsheet .truck-label{color:#666;font-size:10px;font-weight:600;margin-bottom:6px;text-align:center;text-transform:uppercase}.runsheeet .truck-positions{grid-gap:3px;display:grid;gap:3px;grid-template-columns:1fr}.runsheet .truck-pos{align-items:center;border-radius:4px;display:flex;font-size:10px;gap:6px;min-height:20px;padding:4px 6px}.runsheet .truck-pos.spans-multiple{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #2563eb}.span-indicator{color:#9333ea;font-weight:600}.runsheet .truck-pos.empty{background:#f5f5f5;border:1px dashed #ccc}.truck-pos.occupied{background:#dbeafe;border:1px solid #2563eb}.pos-num{color:#666;font-weight:700;min-width:16px}.pos-content,.truck-pos.occupied .pos-num{color:#1e40af}.pos-content{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runsheet-footer{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666;display:flex;font-size:11px;justify-content:space-between;margin-top:15px;padding:12px 20px}.print-header{display:none}@media screen{.no-print{display:block}}.runsheet-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:300px}.spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb}.btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-primary{background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#e5e7eb;color:#333}.btn-secondary:hover{background:#d1d5db}@media print{@page{size:A4 landscape;margin:8mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.drawer-overlay,.navigation-drawer{box-shadow:none!important}.drawer-overlay,.mobile-menu-toggle,.navigation-drawer{display:none!important;visibility:hidden!important}.app-main-content{padding-top:0!important}.no-print{display:none!important}.print-header{align-items:center;background:#fff;border-bottom:2px solid #333;display:flex;justify-content:space-between;margin-bottom:10px;padding:8px 15px}.print-header-left{align-items:baseline;display:flex;gap:15px}.print-title{color:#333;font-size:16px;font-weight:700}.print-date{color:#666;font-size:14px}.print-header-right{text-align:right}.print-page-number{color:#666;font-size:12px}.runs-container{counter-reset:page-counter}.run-sheet{counter-increment:page-counter}.print-page-number:after{content:"Page " counter(page-counter)}.daily-runsheet-page{padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.daily-runsheet-page,.run-sheet,.runsheet-content{background:#fff!important}.run-body{grid-gap:15px!important;display:grid!important;gap:15px!important;grid-template-columns:1fr 140px!important}.runsheet-header{background:#fff!important;border-bottom:2px solid #333;box-shadow:none;margin-bottom:10px;padding:8px 15px}.runsheet-title h1{font-size:16px}.run-date{font-size:14px}.runsheet-controls{display:none}.runsheet-content{box-shadow:none}.runsheet-footer{display:none}.run-sheet{border-bottom:1px solid #999;padding:10px 15px;page-break-after:avoid}.run-header{margin-bottom:6px;padding-bottom:6px}.run-code{font-size:14px}.run-start{font-size:13px}.eta-badge{background:#e0e0e0!important;color:#333!important}.itinerary-table{font-size:12px}.itinerary-table td,.itinerary-table th{font-size:12px;padding:3px 5px}.products-cell{max-width:100px}.address-cell{max-width:120px}.truck-pos{min-height:16px;padding:2px 4px}.truck-pos.empty{background:#f0f0f0!important}.truck-pos.occupied{background:#e0e0e0!important;border-color:#999!important}.truck-pos.occupied .pos-content,.truck-pos.occupied .pos-num{color:#333!important}.truck-pos.spans-multiple{background:#d0d0d0!important}.span-indicator{color:#666!important}.run-notes{background:#f0f0f0!important;font-size:11px}}@media (max-width:900px){.run-body{display:grid!important;grid-template-columns:1fr 120px!important}.run-truck{display:block!important;flex-shrink:0}.truck-label{width:100%}.truck-positions{display:grid!important;grid-template-columns:1fr}.truck-pos{flex:1 0 60px}}.navigation-drawer{background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:1000}.navigation-drawer.open{width:280px}.navigation-drawer.closed{width:70px}.drawer-header{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:15px;min-height:70px;padding:20px}.drawer-header h2{color:#fff;font-size:20px;margin:0;white-space:nowrap}.drawer-toggle{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:30px;justify-content:center;transition:background .3s;width:30px}.drawer-toggle:hover{background:#ffffff4d}.drawer-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px 10px}.nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:15px;margin-bottom:8px;padding:12px 15px;position:relative;text-align:left;transition:all .3s;width:100%}.nav-item:hover:not(.disabled){background:#ffffff26;transform:translateX(5px)}.nav-item.active{background:#ffffff40;box-shadow:0 2px 8px #0000001a}.nav-item.active:before{background:#fff;border-radius:0 4px 4px 0;content:"";height:70%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.nav-item.disabled{cursor:not-allowed;opacity:.5}.nav-expand-icon{font-size:10px;margin-left:auto;opacity:.7}.nav-item-wrapper{display:flex;flex-direction:column}.nav-children{margin-left:20px;overflow:hidden}.nav-child-item{background:#ffffff0d;font-size:14px;margin-bottom:4px;padding:10px 15px}.nav-child-item .nav-icon{font-size:20px;width:24px}.nav-child-item .nav-icon svg{height:20px;width:20px}.nav-child-item .nav-label{font-size:13px}.nav-child-item .nav-description{font-size:11px}.nav-child-item:hover:not(.disabled){background:#ffffff26;transform:translateX(5px)}.nav-icon{align-items:center;display:flex;flex-shrink:0;font-size:24px;justify-content:center;text-align:center;width:30px}.nav-icon svg{stroke:currentColor;height:24px;width:24px}.nav-text{display:flex;flex-direction:column;gap:2px;overflow:hidden}.nav-label{font-size:15px;font-weight:600;white-space:nowrap}.nav-description{font-size:12px;opacity:.8;white-space:nowrap}.nav-divider{border-top:1px solid #fff3;color:#fff9;font-size:11px;font-weight:600;letter-spacing:1px;margin-top:10px;padding:15px 15px 8px;text-transform:uppercase}.drawer-footer{border-top:1px solid #19191933;padding:20px}.user-profile{background:#ffffff1a;border-radius:8px;gap:12px;margin-bottom:15px;padding:10px}.user-avatar,.user-profile{align-items:center;display:flex}.user-avatar{background:#fff;border-radius:50%;color:#667eea;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.user-details{background:#19191933;flex:1 1;overflow:hidden}.user-details p{color:#fffc;font-size:12px;margin:0;padding:0}.user-name{color:#fff;font-size:14px;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#fffc;font-size:12px}.logout-icon-svg{flex-shrink:0}.logout-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;padding:10px 15px;transition:all .3s;width:100%}.logout-button:hover{background:#ffffff4d;transform:translateY(-2px)}.drawer-overlay{display:none}.drawer-nav::-webkit-scrollbar{width:6px}.drawer-nav::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.drawer-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.drawer-nav::-webkit-scrollbar-thumb:hover{background:#fff6}@media (max-width:768px){.navigation-drawer{transform:translateX(-100%)}.navigation-drawer.open{transform:translateX(0);width:280px}.navigation-drawer.closed{transform:translateX(-100%)}.drawer-overlay{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:999}}.app-main-content,.app-with-drawer{display:flex;min-height:100vh}.app-main-content{flex:1 1;flex-direction:column;transition:margin-left .3s ease}.app-main-content.drawer-open{margin-left:280px}.app-main-content.drawer-closed{margin-left:70px}@media (max-width:768px){.app-main-content.drawer-closed,.app-main-content.drawer-open{margin-left:0}}@media print{.navigation-drawer{box-shadow:none!important}.drawer-overlay,.navigation-drawer{display:none!important;visibility:hidden!important}.app-main-content.drawer-closed,.app-main-content.drawer-open{margin-left:0!important}}.change-password-modal{max-width:420px}.change-password-modal .modal-body{padding:24px}.change-password-modal .form-group{margin-bottom:16px}.change-password-modal .form-group label{color:#555;font-size:14px;font-weight:500;margin-bottom:6px}.change-password-modal .form-control{border:2px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .3s;width:100%}.change-password-modal .form-control:focus{border-color:#667eea;outline:none}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-control{padding-right:50px}.password-toggle{background:none;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px;position:absolute;right:10px}.password-toggle:hover{background:#667eea1a}.forgot-link-wrapper{display:flex;justify-content:flex-end;margin-bottom:16px!important;margin-top:-10px}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.btn-link:hover{color:#764ba2}.form-error{background:#fee;border-radius:6px;color:#c33;font-size:13px;margin-bottom:16px;padding:10px 12px}.form-actions{gap:12px;margin-top:20px}.form-actions .btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s}.form-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.form-actions .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.form-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6}.form-actions .btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.form-actions .btn-secondary:hover:not(:disabled){background:#667eea;color:#fff}.change-success,.forgot-success{padding:20px 0;text-align:center}.success-icon{align-items:center;background:#38a169;border-radius:50%;color:#fff;display:flex;font-size:24px;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.forgot-description{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.forgot-success{text-align:center}.forgot-success p{color:#555;font-size:14px;margin-bottom:16px}.temp-password-display{background:#f0fff4;border:1px solid #38a169;border-radius:8px;margin:16px 0;padding:16px;text-align:center}.temp-password-display p{color:#22543d;font-size:13px;margin:0 0 8px}.temp-password-display code{background:#fff;border:1px solid #c3e6cb;border-radius:4px;color:#1a5c2a;display:block;font-size:15px;font-weight:600;letter-spacing:1px;margin:8px 0;padding:10px;word-break:break-all}.temp-password-hint{color:#666!important;font-size:12px!important;margin-top:8px!important}.change-password-link{background:none;border:none;color:#fff9;cursor:pointer;display:block;font-size:12px;margin-bottom:8px;margin-top:-5px;padding:8px 0;text-align:center;transition:color .3s;width:100%}.change-password-link:hover{color:#ffffffe6;text-decoration:underline}.mobile-menu-toggle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #0003;cursor:pointer;display:none;flex-direction:column;gap:6px;height:50px;justify-content:center;left:20px;position:fixed;top:20px;transition:all .3s;width:50px;z-index:1001}.mobile-menu-toggle:hover{box-shadow:0 6px 16px #0000004d;transform:scale(1.05)}.mobile-menu-toggle span{background:#fff;border-radius:2px;display:block;height:3px;transition:all .3s;width:25px}@media (max-width:768px){.mobile-menu-toggle{display:flex}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#36454f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.App{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;padding:0;width:100%}.App.centered{align-items:center;justify-content:center}.App.app-with-drawer{display:flex;flex-direction:row}.loading-container{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner,.spinner-large{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff}.spinner{height:30px;width:30px}.spinner-large{height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container,.register-container,.verification-container,.verify-device-container{margin:0;max-width:500px;min-width:400px;padding:20px;width:100%}.login-card,.register-card,.verification-card,.verify-device-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px}.login-card h2,.register-card h2,.verification-card h2,.verify-device-card h2{color:#333;margin-bottom:30px;text-align:center}.form-actions{display:flex;flex-direction:row;gap:15px;margin-top:30px}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .3s;width:100%}.form-group input,.form-group select{padding:12px}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{color:#888;display:block;font-size:12px;margin-top:5px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:all .3s;width:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover:not(:disabled){background:#667eea;color:#fff}.error-message{background:#fee;border-radius:6px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px}.success-message{background:#efe;border-radius:6px;color:#3c3;padding:20px;text-align:center}.success-message h2{color:#2a2;margin-bottom:10px}.message{border-radius:6px;font-size:14px;margin-top:15px;padding:12px}.message.success{background:#efe;color:#3c3}.message.error{background:#fee;color:#c33}.login-footer,.register-footer{color:#666;margin-top:20px;text-align:center}.login-footer a,.register-footer a{color:#667eea;font-weight:600;text-decoration:none}.login-footer a:hover,.register-footer a:hover{text-decoration:underline}.error-icon,.success-icon,.verification-icon{color:#667eea;margin-bottom:20px;text-align:center}.success-icon{color:#2a2}.error-icon{color:#c33}.verification-message{background:#f0f4ff;border-radius:6px;margin-bottom:20px;padding:15px;text-align:center}.verification-instructions{margin:20px 0}.verification-instructions h3{color:#555;font-size:16px;margin-bottom:15px}.verification-instructions ol{color:#666;padding-left:20px}.verification-instructions li{margin-bottom:10px}.checking-status{align-items:center;color:#667eea;display:flex;gap:10px;justify-content:center;margin:20px 0}.verification-actions{margin:20px 0}.verification-footer{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.help-text{color:#888;font-size:13px;text-align:center}.redirect-message{color:#888;font-style:italic;margin-top:15px}.dashboard-container{display:flex;flex:1 1;flex-direction:column;width:100%}.dashboard-main-wrapper{display:flex;flex:1 1;min-height:100vh;width:100%}.dashboard-content{background:#fff;border-radius:0;flex:1 1;min-height:100vh;overflow-y:auto;padding:30px}.dashboard-card{position:relative}.dashboard-card h2{color:#333;margin-bottom:20px;padding-right:40px}.dashboard-help-btn{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:32px;justify-content:center;line-height:1;position:absolute;right:20px;text-decoration:none;top:20px;transition:background .2s;width:32px}.dashboard-help-btn:hover{background:#764ba2}.user-details{border-radius:8px;margin:30px 0;padding:20px}.user-details h3{color:#555;margin-bottom:15px}.user-details dl{grid-gap:10px;display:grid;gap:10px;grid-template-columns:120px 1fr}.user-details dt{color:#666;font-weight:600}.user-details dd{color:#333}.info-box{background:#e8f4f8;border-left:4px solid #667eea;border-radius:6px;margin-top:30px;padding:20px}.info-box h3{color:#555;margin-bottom:10px}.info-box p{color:#666;line-height:1.6}.dashboard-modules{margin-bottom:30px}.dashboard-modules h3{color:#555;font-size:18px;margin-bottom:20px}.module-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.module-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:25px;text-align:center;transition:all .3s}.module-card:hover:not(.disabled){border-color:#667eea;box-shadow:0 5px 15px #667eea33;transform:translateY(-5px)}.module-card.disabled{cursor:not-allowed;opacity:.5}.module-icon{align-items:center;display:flex;font-size:48px;justify-content:center;margin-bottom:10px}.module-icon.icon-gradient svg{height:40px;width:40px}.module-card h4{color:#333;font-size:18px;margin:0}.module-card p{color:#666;font-size:14px;margin:0}.module-card .submenu{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;margin-top:10px;padding-top:10px;width:100%}.module-card .submenu span{color:#667eea;cursor:pointer;font-size:13px;padding:8px 0;text-align:left;transition:color .2s}.module-card .submenu span:hover{color:#764ba2;text-decoration:underline}.order-stats{background:#f8f9fa;border-radius:8px;margin:30px 0;padding:20px;width:100%}.order-stats h3{color:#555;font-size:18px;margin-bottom:20px}.order-stats .stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(6,1fr);width:100%}.stat-tile{background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px;text-align:center}.stat-tile .stat-value{color:#667eea;font-size:32px;font-weight:700}.stat-tile .stat-label,.stat-tile .stat-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-tile .stat-label{color:#666;font-size:12px}.daily-orders-chart{background:#f8f9fa;border-radius:8px;margin:30px 0;padding:20px}.daily-orders-chart h3{color:#555;font-size:18px;margin-bottom:20px}.daily-orders-chart .chart-container{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:15px}@media (max-width:768px){.app-main-content{padding-top:80px}.dashboard-content{padding:20px}.module-grid,.user-details dl{grid-template-columns:1fr}.user-details dl{gap:5px}.user-details dt{margin-top:10px}.order-stats .stats-grid{grid-template-columns:repeat(3,1fr)}}
/*# sourceMappingURL=main.22ed133f.css.map*/