.pnr-container{max-width:700px;margin:20px auto;padding:20px;font-family:'Segoe UI',sans-serif}
.pnr-header{text-align:center;margin-bottom:25px}
.pnr-header h2{color:#1a237e;font-size:24px;margin:0 0 10px}
.pnr-header h2 i{color:#ff6f00;margin-right:10px}
.pnr-header p{color:#666;font-size:14px;margin:0}
.pnr-form{background:linear-gradient(135deg,#1a237e,#3949ab);padding:25px;border-radius:12px;box-shadow:0 8px 30px rgba(26,35,126,0.3)}
.input-group{display:flex;gap:10px;flex-wrap:wrap}
.pnr-form input{flex:1;min-width:180px;padding:14px 18px;font-size:18px;border:none;border-radius:8px;letter-spacing:2px;font-weight:600}
.pnr-form button{padding:14px 25px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#ff6f00,#ff8f00);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s}
.pnr-form button:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(255,111,0,0.4)}
.loading{text-align:center;padding:30px}
.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#1a237e;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}
@keyframes spin{to{transform:rotate(360deg)}}
.error-msg{background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:15px;color:#c62828;margin-top:20px}
.pnr-result{margin-top:25px}
.card{background:#fff;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.1);margin-bottom:15px;overflow:hidden;border:1px solid #e0e0e0}
.card h3{background:linear-gradient(135deg,#1a237e,#3949ab);color:#fff;padding:12px 18px;margin:0;font-size:15px;display:flex;align-items:center;gap:10px}
.card .row{display:flex;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #f0f0f0}
.card .row span:first-child{color:#666}
.card .row span:last-child{font-weight:600;color:#333}
.stations{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px}
.station{text-align:center}
.station span{display:block;font-size:22px;font-weight:700;color:#1a237e}
.station small{color:#999;font-size:11px;text-transform:uppercase}
.arrow i{font-size:18px;color:#ff6f00}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 18px;text-align:left;border-bottom:1px solid #f0f0f0}
th{background:#f5f5f5;font-size:12px;text-transform:uppercase;color:#666}
.status-cnf{color:#2e7d32;font-weight:600}
.status-rac{color:#f57c00;font-weight:600}
.status-wl{color:#c62828;font-weight:600}
@media(max-width:600px){.input-group{flex-direction:column}.pnr-form input,.pnr-form button{width:100%}}