*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:#1a1a1a;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.header h1{font-size:1.5rem;font-weight:600}.header .user-info{align-items:center;display:flex;gap:1rem}.header .user-name,.header button{font-size:.9rem}.header button{background:#444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.header button:hover{background:#555}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form h2{color:#333;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.btn-primary{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;width:100%}.btn-primary:hover{background:#5568d3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.error{color:#e53e3e;font-size:.9rem;margin-top:.5rem;text-align:center}.dashboard{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.dashboard-card h3{color:#666;font-size:1rem;margin-bottom:.5rem}.dashboard-card .value{color:#333;font-size:2rem;font-weight:600}.vehicle-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.vehicle-list h2{border-bottom:1px solid #eee;font-size:1.25rem;padding:1.5rem}.vehicle-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1.5rem}.vehicle-card{border:1px solid #eee;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.vehicle-card:hover{border-color:#667eea;box-shadow:0 4px 8px #0000001a}.vehicle-card h3{color:#333;font-size:1.1rem;margin-bottom:.5rem}.vehicle-card .vin{color:#666;font-family:monospace;font-size:.85rem;margin-bottom:.5rem}.vehicle-card .details{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.vehicle-card .badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.badge.status-active{background:#c6f6d5;color:#22543d}.badge.status-maintenance{background:#feebc8;color:#7c2d12}.badge.status-inactive{background:#e2e8f0;color:#2d3748}.vehicle-detail{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.vehicle-detail .back-button{background:#eee;border:none;border-radius:4px;color:#333;cursor:pointer;margin-bottom:1.5rem;padding:.5rem 1rem}.vehicle-detail .back-button:hover{background:#ddd}.vehicle-detail h2{font-size:1.75rem;margin-bottom:1.5rem}.detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item label{color:#666;display:block;font-size:.85rem;margin-bottom:.25rem}.detail-item .value{color:#333;font-size:1rem;font-weight:500}.loading{font-size:1.1rem}.empty-state,.loading{color:#666;padding:3rem;text-align:center}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem}.health-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.health-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.health-card{border:1px solid #eee;border-radius:8px;overflow:hidden}.health-card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem}.health-card-header h3{font-size:1.1rem;margin:0}.health-card-body{padding:1rem}.health-detail{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.health-detail:last-child{border-bottom:none}.health-label{color:#666;font-size:.9rem;font-weight:500}.health-value{color:#333;font-family:monospace;font-size:.9rem}.health-value.error-text{color:#e53e3e}.health-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.badge-healthy{background:#c6f6d5;color:#22543d}.badge-unhealthy{background:#feebc8;color:#7c2d12}.badge-unreachable{background:#fed7d7;color:#742a2a}.btn-secondary{background:#e2e8f0;border:none;border-radius:4px;color:#2d3748;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.btn-secondary:hover{background:#cbd5e0}.btn-secondary:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed}.health-info h4{color:#2d3748}
/*# sourceMappingURL=main.220aee2d.css.map*/