:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;width:100%;background:linear-gradient(135deg,#667eea,#764ba2)}header{background:#fff;padding:1rem;box-shadow:0 2px 8px #0000001a;text-align:center}header h1{margin:0;color:#333;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.header-logo{height:2.5rem;width:2.5rem;object-fit:cover;border-radius:8px}main{max-width:800px;margin:0 auto;padding:1rem;width:100%}.card{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 4px 6px #0000001a}.card h2{margin-top:0;color:#333;font-size:1.25rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#555}.form-group small{display:block;margin-top:.25rem;color:#777;font-size:.85rem}.input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.input:focus{outline:none;border-color:#667eea}.textarea{resize:vertical;min-height:80px}.upload-section{display:flex;flex-direction:column;gap:1rem}.file-input{display:none}.btn{width:100%;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#218838}.btn-small{padding:.5rem 1rem;font-size:.9rem}.button-group{display:flex;flex-direction:column;gap:.75rem}.route-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;border:1px solid #667eea30}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:#666;font-weight:500}.stat-value{font-size:1.25rem;font-weight:700;color:#667eea}.route-map{width:100%;height:400px;border-radius:8px;margin-top:1rem;border:2px solid #e0e0e0;overflow:hidden}.route-header{display:flex;flex-direction:column;gap:1rem}.route-progress h2{margin-bottom:.75rem}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease}.customer-list{display:flex;flex-direction:column;gap:1rem}.customer-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 4px #0000001a;border-left:4px solid #ddd;transition:all .3s}.customer-card.current{border-left-color:#667eea;box-shadow:0 4px 12px #667eea4d;transform:scale(1.02)}.customer-card.delivered{opacity:.5;border-left-color:#28a745;background:#f0fff4}.customer-card.delivered .stop-number{background:#28a745;font-size:1.5rem}.customer-header{display:flex;gap:1rem;margin-bottom:1rem}.stop-number{flex-shrink:0;width:48px;height:48px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.customer-card.current .stop-number{background:linear-gradient(135deg,#667eea,#764ba2);animation:pulse 2s infinite}.customer-card.completed .stop-number{background:#28a745}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.customer-info{flex:1;min-width:0}.customer-info h3{margin:0 0 .25rem;font-size:1.1rem;color:#333}.customer-info p{margin:.25rem 0;font-size:.9rem;color:#666}.address{font-weight:500}.phone{color:#667eea}.customer-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem}.customer-actions .btn:last-child{grid-column:1 / -1}@media(min-width:640px){header h1{font-size:2rem}.upload-section,.button-group{flex-direction:row}.route-header{flex-direction:row;align-items:center;justify-content:space-between}.route-header .btn{width:auto}}@media(max-width:639px){main{padding:.25rem;box-sizing:border-box}.card{padding:.75rem;margin-left:0;margin-right:0}header h1{font-size:1.25rem}.header-logo{height:2rem;width:2rem}.customer-info h3{font-size:1rem}.stop-number{width:40px;height:40px;font-size:.95rem}}
