*{margin:0;padding:0;box-sizing:border-box}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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}#root{max-width:1200px;margin:0 auto}.header{background:#fff;padding:30px;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;text-align:center}.header h1{color:#667eea;font-size:2.5rem;margin-bottom:10px}.header p{color:#666;font-size:1.1rem}.selector-container{background:#fff;padding:25px;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px}.selector-container label{display:block;font-size:1.1rem;color:#333;margin-bottom:10px;font-weight:600}.selector-container select{width:100%;padding:15px;font-size:1rem;border:2px solid #667eea;border-radius:10px;background:#fff;cursor:pointer;transition:all .3s ease}.selector-container select:hover{border-color:#764ba2;box-shadow:0 5px 15px #667eea33}.selector-container select:focus{outline:none;border-color:#764ba2;box-shadow:0 5px 15px #667eea4d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;padding:25px;border-radius:15px;box-shadow:0 10px 30px #0003;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000004d}.stat-card h3{color:#667eea;font-size:1rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.stat-card .value{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:5px}.stat-card .label{color:#999;font-size:.9rem}.table-container{background:#fff;padding:30px;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;overflow-x:auto}.table-container h2{color:#667eea;margin-bottom:20px;font-size:1.8rem}table{width:100%;border-collapse:collapse}thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.5px}tbody tr{border-bottom:1px solid #eee;transition:background-color .2s ease}tbody tr:hover{background-color:#f8f9ff}tbody tr:last-child{border-bottom:none}td{padding:15px;color:#333}.price{font-weight:700;color:#667eea;font-size:1.1rem}.price-min{color:#10b981}.price-max{color:#ef4444}.samples{color:#999;font-size:.9rem}.loading{text-align:center;padding:50px;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003}.loading p{color:#667eea;font-size:1.2rem}.no-data{text-align:center;padding:50px;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;color:#999}@media (max-width: 768px){.header h1{font-size:1.8rem}.stats-grid{grid-template-columns:1fr}.table-container{padding:15px}th,td{padding:10px;font-size:.9rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;padding:30px;max-width:900px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.modal-header h2{color:#667eea;font-size:1.8rem;margin:0}.close-button{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f0f0f0;color:#667eea}.vuelo-card{background:linear-gradient(135deg,#f8f9ff,#fff);border:2px solid #e0e7ff;border-radius:15px;padding:20px;margin-bottom:15px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.vuelo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.vuelo-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea33;border-color:#667eea}.vuelo-card:hover:before{transform:scaleX(1)}.vuelo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.vuelo-precio{font-size:2rem;font-weight:700;color:#667eea}.vuelo-aerolinea{background:#667eea;color:#fff;padding:5px 15px;border-radius:20px;font-size:.9rem;font-weight:600}.vuelo-fechas{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin-bottom:10px}.fecha-item{text-align:center}.fecha-label{font-size:.8rem;color:#999;text-transform:uppercase;margin-bottom:5px}.fecha-valor{font-size:1.1rem;color:#333;font-weight:600}.fecha-separator{color:#667eea;font-size:1.5rem}.vuelo-ruta{text-align:center;color:#666;font-size:.9rem;margin-top:10px}.no-vuelos{text-align:center;padding:40px;color:#999}.clickable-row{cursor:pointer;position:relative}.clickable-row:after{content:"👆";position:absolute;right:15px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease}.clickable-row:hover:after{opacity:1}@media (max-width: 768px){.modal-content{padding:20px;max-height:90vh}.modal-header h2{font-size:1.4rem}.vuelo-fechas{grid-template-columns:1fr;gap:10px}.fecha-separator{transform:rotate(90deg)}.vuelo-precio{font-size:1.5rem}}
