body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.App{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fffffff2;box-shadow:0 4px 6px #0000001a;padding:1rem 2rem;text-align:center;z-index:10}.app-header h1{color:#667eea;font-size:2rem;margin-bottom:.25rem}.app-header p{color:#666;font-size:1rem}.app-body{display:flex;flex:1 1;min-height:0}.sidebar{background:#fffffff7;box-shadow:2px 0 12px #00000014;flex-shrink:0;padding-top:1rem;width:200px}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-item{align-items:center;border-left:4px solid #0000;color:#555;cursor:pointer;display:flex;font-weight:600;gap:.75rem;padding:1rem 1.25rem;transition:all .2s}.sidebar-item:hover{background:#f0f2ff;color:#667eea}.sidebar-item.active{background:#eef0ff;border-left-color:#667eea;color:#667eea}.sidebar-icon{font-size:1.25rem}.sidebar-label{font-size:1rem}.main-content{flex:1 1;overflow-y:auto}.container{margin:0 auto;max-width:1400px;padding:2rem}.card{background:#fff;border-radius:12px;box-shadow:0 8px 16px #0000001a;margin-bottom:2rem;padding:2rem}.card h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem}.card h3{color:#555;font-size:1.3rem;margin-bottom:1rem}.destination-input{margin-bottom:2rem}.input-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.input-field{display:flex;flex-direction:column}.input-field label{color:#555;font-weight:600;margin-bottom:.5rem}.input-field input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s}.input-field input:focus{border-color:#667eea;outline:none}.file-upload{margin:1.5rem 0}#file-input{display:none}.file-label{background:#f5f5f5;border:2px dashed #ccc;border-radius:8px;cursor:pointer;display:inline-block;font-weight:500;padding:1rem 2rem;text-align:center;transition:all .3s;width:100%}.file-label:hover{background:#e8e8e8;border-color:#667eea}.button-group{display:flex;flex-wrap:wrap;gap:1rem}.btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:150px;padding:.75rem 1.5rem;transition:all .3s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#48bb78;color:#fff}.btn-secondary:hover:not(:disabled){background:#38a169;box-shadow:0 4px 12px #48bb7866;transform:translateY(-2px)}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover:not(:disabled){background:#e53e3e;box-shadow:0 4px 12px #f5656566;transform:translateY(-2px)}.error-message{background:#fed7d7;border-left:4px solid #f56565;border-radius:8px;color:#c53030;margin:1rem 0;padding:1rem}.file-info{background:#e6fffa;border-radius:8px;color:#234e52;margin-top:1rem;padding:.75rem}.loading-container{background:#fff;border-radius:12px;margin-top:2rem;padding:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.summary-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:1rem;text-align:center}.summary-item .label{display:block;font-size:.9rem;margin-bottom:.5rem;opacity:.9}.summary-item .value{display:block;font-size:2rem;font-weight:700}.map-container{margin-top:2rem}.trip-selector{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;margin-bottom:1rem;padding:1.5rem}.trip-selector h3{color:#333;margin-bottom:1rem}.trip-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.trip-buttons button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s}.trip-buttons button:hover{background:#f8f9ff;border-color:#667eea}.trip-buttons button.active{background:#667eea;border-color:#667eea;color:#fff}.route-legend{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;margin-top:1rem;padding:1.5rem}.route-legend h4{color:#333;margin-bottom:1rem}.legend-item{align-items:center;background:#f7fafc;border-left:4px solid #0000;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem}.legend-color{border-radius:8px;flex-shrink:0;height:40px;width:40px}.legend-info{flex:1 1}.legend-info strong{color:#333;display:block;font-size:1.1rem;margin-bottom:.5rem}.legend-info div{color:#666;font-size:.9rem;margin-bottom:.25rem}.loading{color:#667eea;font-size:1.2rem;padding:2rem;text-align:center}.google-routes{margin-top:1rem}.vehicle-route-card{border-left:5px solid #667eea}.vehicle-header{margin-bottom:1rem}.vehicle-header h3{font-size:1.4rem;margin-bottom:.5rem}.vehicle-meta{color:#666;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.5rem}.vehicle-meta span{background:#f0f2ff;border-radius:20px;font-weight:500;padding:.25rem .75rem}.visits-table-wrapper{overflow-x:auto}.visits-table{border-collapse:collapse;font-size:.95rem;width:100%}.visits-table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#555;font-weight:600;padding:.75rem 1rem;text-align:left}.visits-table td{border-bottom:1px solid #edf2f7;padding:.6rem 1rem}.visits-table tr:hover{background:#f7fafc}.visit-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.badge-pickup{background:#e6fffa;color:#234e52}.badge-delivery{background:#fef3c7;color:#92400e}#file-input-emp,#file-input-veh{display:none}@media (max-width:768px){.app-header h1{font-size:1.8rem}.input-group{grid-template-columns:1fr}.button-group{flex-direction:column}.btn{width:100%}.trip-buttons{flex-direction:column}.sidebar{width:60px}.sidebar-label{display:none}.vehicle-meta{flex-direction:column;gap:.5rem}}
/*# sourceMappingURL=main.b766dce1.css.map*/