* { margin: 0; padding: 0; box-sizing: border-box; }
body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); 
    min-height: 100vh; 
    color: #333;
}
.container { max-width: 1200px; margin: 0 auto; padding: 20px; }
h1 { text-align: center; color: white; margin-bottom: 40px; font-size: 2.5em; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }

.search-form { 
    background: white; padding: 40px; border-radius: 25px; box-shadow: 0 25px 50px rgba(0,0,0,0.15); 
    margin-bottom: 30px;
}
.form-row { 
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 25px; align-items: end; 
}
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; }
.form-group input, .form-group select { 
    width: 100%; padding: 15px; border: 2px solid #e1e5e9; border-radius: 12px; font-size: 16px; 
    transition: all 0.3s; 
}
.form-group input:focus, .form-group select:focus { 
    outline: none; border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); 
}
.form-actions { display: flex; gap: 20px; justify-content: center; margin-top: 30px; }
.btn-search, .ai-btn { 
    padding: 18px 40px; border: none; border-radius: 50px; font-size: 18px; font-weight: bold; 
    cursor: pointer; transition: all 0.3s; text-decoration: none; display: inline-block;
}
.btn-search { background: #3498db; color: white; }
.btn-search:hover { background: #2980b9; transform: translateY(-2px); }
.ai-btn { 
    background: linear-gradient(45deg, #ff6b6b, #feca57); color: white; 
    box-shadow: 0 10px 30px rgba(255, 107, 107, 0.4);
}
.ai-btn:hover { transform: translateY(-3px) scale(1.05); }

.results h2, .route-plan h2 { color: white; margin: 30px 0 20px; }
.load-card, .route-stop { 
    background: white; margin: 15px 0; padding: 25px; border-radius: 20px; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.1); transition: all 0.3s; 
}
.load-card:hover, .route-stop:hover { transform: translateY(-5px); box-shadow: 0 25px 50px rgba(0,0,0,0.15); }
.route { font-size: 1.5em; font-weight: bold; color: #2c3e50; margin-bottom: 15px; }
.details { display: flex; gap: 20px; margin-bottom: 15px; flex-wrap: wrap; }
.tonnage { background: #4ecdc4; color: white; padding: 8px 16px; border-radius: 25px; font-weight: bold; }
.price { font-size: 1.4em; font-weight: bold; color: #27ae60; }
.urgency { padding: 6px 14px; border-radius: 20px; color: white; font-weight: bold; }
.urgency-low { background: #95a5a6; }
.urgency-medium { background: #f39c12; }
.urgency-high { background: #e74c3c; }
.score { 
    background: linear-gradient(45deg, #667eea, #764ba2); color: white; 
    padding: 10px 25px; border-radius: 30px; display: inline-block; font-weight: bold; 
}
.call-btn { 
    background: #27ae60; color: white; padding: 15px 35px; text-decoration: none; 
    border-radius: 30px; font-weight: bold; transition: all 0.3s; 
}
.call-btn:hover { background: #219a52; transform: scale(1.05); }

.route-plan { background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); padding: 30px; border-radius: 25px; }
.route-stats { 
    display: flex; gap: 30px; margin-bottom: 25px; flex-wrap: wrap; 
    background: white; padding: 20px; border-radius: 20px; 
}
.route-stats span { font-weight: bold; font-size: 1.1em; }
.route-steps { display: flex; flex-direction: column; gap: 15px; }
.route-stop { border-left: 6px solid #667eea; }
.route-stop.start { border-left-color: #27ae60; }
.route-stop.finish { border-left-color: #e74c3c; }
.route-stop.load-stop { border-left-color: #f39c12; }
.route-stop strong { color: #2c3e50; display: block; margin-bottom: 8px; font-size: 1.3em; }

@media (max-width: 768px) {
    .form-row { grid-template-columns: 1fr; }
    .form-actions { flex-direction: column; }
    .details { flex-direction: column; gap: 10px; }
    .route-stats { flex-direction: column; gap: 15px; }
}
