@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.hostel-card{transition:transform .3s ease,box-shadow .3s ease}.hostel-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #6c63ff4d}.application-card{transition:all .3s ease}.application-card:hover{transform:scale(1.02);box-shadow:0 8px 25px #6c63ff33}.status-badge{animation:fadeIn .5s ease}.hostel-form-input:focus{border-color:#6c63ff;box-shadow:0 0 0 .2rem #6c63ff40}.hostel-btn{transition:all .2s ease}.hostel-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6c63ff4d}.hostel-modal{animation:fadeIn .3s ease}.hostel-modal-content{animation:slideIn .3s ease}.hostel-tab{transition:all .2s ease}.hostel-tab:hover{background:#6c63ff1a}.hostel-tab.active{background:linear-gradient(135deg,#6c63ff,#393e46);color:#fff}.hostel-progress{background:#6c63ff33;border-radius:10px;overflow:hidden}.hostel-progress-bar{background:linear-gradient(90deg,#6c63ff,#a4508b);transition:width .5s ease}.hostel-filters{background:#2c2c54fa;border-radius:1rem;border:1px solid rgba(255,255,255,.1)}.hostel-search-input{background:#232946;border:1.5px solid #6c63ff;color:#fff;transition:all .2s ease}.hostel-search-input:focus{border-color:#a4508b;box-shadow:0 0 0 .2rem #a4508b40}.hostel-select{background:#232946;border:1.5px solid #6c63ff;color:#fff;transition:all .2s ease}.hostel-select:focus{border-color:#a4508b;box-shadow:0 0 0 .2rem #a4508b40}.hostel-spinner{border:3px solid rgba(108,99,255,.3);border-top:3px solid #6c63ff;border-radius:50%;animation:spin 1s linear infinite}.hostel-error{background:#ef44441a;border:1px solid #ef4444;color:#ef4444;animation:fadeIn .3s ease}.hostel-success{background:#10b9811a;border:1px solid #10b981;color:#10b981;animation:fadeIn .3s ease}.hostel-warning{background:#f59e0b1a;border:1px solid #f59e0b;color:#f59e0b;animation:fadeIn .3s ease}.hostel-info{background:#3b82f61a;border:1px solid #3b82f6;color:#3b82f6;animation:fadeIn .3s ease}@media (max-width: 768px){.hostel-card{margin-bottom:1rem}.hostel-filters{padding:1rem}.hostel-tab{padding:.75rem 1rem;font-size:.9rem}}@media (max-width: 480px){.hostel-card{margin:.5rem 0}.hostel-modal-content{margin:.5rem;padding:1rem}.hostel-tab{padding:.5rem .75rem;font-size:.8rem}}.hostel-btn:focus{outline:2px solid #6c63ff;outline-offset:2px}.hostel-input:focus{outline:2px solid #6c63ff;outline-offset:2px}@media (prefers-contrast: high){.hostel-card,.hostel-btn{border:2px solid #fff}}@media (prefers-reduced-motion: reduce){.hostel-card,.hostel-btn,.hostel-tab{transition:none}.hostel-spinner,.hostel-modal,.hostel-modal-content{animation:none}}.student-transport-application{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden;max-width:1200px;margin:0 auto}.transport-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px;text-align:center}.transport-header h2{font-size:28px;font-weight:700;margin-bottom:8px}.transport-header p{font-size:16px;opacity:.9;margin:0}.tab-navigation{display:flex;background:#f8f9fa;border-bottom:1px solid #e1e8ed;overflow-x:auto}.tab-button{display:flex;align-items:center;gap:8px;padding:16px 24px;border:none;background:transparent;color:#6c757d;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;border-bottom:3px solid transparent}.tab-button:hover{color:#495057;background:#0000000d}.tab-button.active{color:#667eea;background:#fff;border-bottom-color:#667eea}.tab-icon{font-size:16px}.tab-label{font-size:14px}.tab-content{padding:24px}.apply-tab,.status-tab,.calculator-tab{min-height:500px}.application-form{max-width:800px;margin:0 auto}.form-section{margin-bottom:32px;background:#f8f9fa;border-radius:10px;padding:24px}.form-section h3{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:8px}.location-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.input-group{display:flex;flex-direction:column;margin-bottom:16px}.input-group label{color:#2c3e50;font-weight:600;margin-bottom:8px;font-size:14px}.input-with-button{display:flex;gap:8px}.location-input,.input-group input,.input-group textarea{flex:1;padding:12px 16px;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;transition:all .3s ease;background:#fafbfc;font-family:inherit}.location-input:focus,.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.input-group textarea{resize:vertical;min-height:80px}.fare-structure-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.fare-structure-card{border:2px solid #e1e8ed;border-radius:10px;padding:16px;cursor:pointer;transition:all .3s ease;background:#fafbfc}.fare-structure-card:hover{border-color:#3498db;background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #3498db26}.fare-structure-card.selected{border-color:#27ae60;background:#f8fff9;box-shadow:0 4px 16px #27ae6033}.structure-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.structure-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.default-badge{background:#27ae60;color:#fff;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase}.structure-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detail-item span:first-child{color:#7f8c8d;font-weight:500}.detail-item span:last-child{color:#2c3e50;font-weight:600}.additional-info{display:grid;gap:16px}.form-actions{display:flex;justify-content:center;padding-top:20px;border-top:1px solid #e1e8ed}.calculate-btn{padding:14px 28px;font-size:16px;min-width:180px}.fare-results{background:#f8f9fa;border-radius:10px;padding:24px;margin-top:24px}.fare-breakdown{margin-bottom:24px}.fare-breakdown h4{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.breakdown-item{background:#fff;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000d}.breakdown-item.total{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-weight:600;font-size:16px}.breakdown-item .label{color:#7f8c8d;font-weight:500}.breakdown-item.total .label{color:#ffffffe6}.breakdown-item .value{color:#2c3e50;font-weight:600}.breakdown-item.total .value{color:#fff;font-size:18px}.map-section{margin:24px 0;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.route-map{width:100%;height:400px;border-radius:10px}.submit-section{text-align:center;margin-top:24px}.submit-btn{padding:16px 32px;font-size:16px;min-width:200px}.existing-application{max-width:600px;margin:0 auto}.status-card{background:#f8f9fa;border-radius:10px;padding:24px;text-align:center}.status-card h3{color:#2c3e50;font-size:20px;font-weight:600;margin-bottom:20px}.status-details{display:grid;gap:12px;margin-bottom:24px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e1e8ed}.status-item:last-child{border-bottom:none}.status-item span:first-child{color:#6c757d;font-weight:500}.status-item span:last-child{color:#2c3e50;font-weight:600}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.active{background:#d1ecf1;color:#0c5460}.status-badge.rejected{background:#f8d7da;color:#721c24}.application-status{max-width:800px;margin:0 auto}.status-timeline{margin:24px 0}.timeline-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;opacity:.5;transition:all .3s ease}.timeline-item.active{opacity:1}.timeline-icon{width:40px;height:40px;border-radius:50%;background:#e1e8ed;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.timeline-item.active .timeline-icon{background:#667eea;color:#fff}.timeline-content h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 8px}.timeline-content p{color:#6c757d;font-size:14px;margin:0 0 8px}.timeline-date{color:#95a5a6;font-size:12px;font-weight:500}.payment-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:20px;margin-top:24px}.payment-section h4{color:#856404;font-size:16px;font-weight:600;margin-bottom:8px}.payment-section p{color:#856404;font-size:14px;margin-bottom:16px}.active-service{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:20px;margin-top:24px}.active-service h4{color:#155724;font-size:16px;font-weight:600;margin-bottom:16px}.service-details{display:grid;gap:8px}.service-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.service-item span:first-child{color:#155724;font-weight:500}.service-item span:last-child{color:#155724;font-weight:600}.no-application{text-align:center;padding:60px 20px}.empty-state h3{color:#2c3e50;font-size:20px;font-weight:600;margin-bottom:12px}.empty-state p{color:#6c757d;font-size:16px;margin-bottom:24px}.payment-plans{margin-top:24px}.payment-plans h4{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.payment-plan-card{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.payment-plan-card:hover{border-color:#3498db;transform:translateY(-3px);box-shadow:0 8px 25px #3498db33}.payment-plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3498db,#27ae60);opacity:0;transition:opacity .3s ease}.payment-plan-card:hover:before{opacity:1}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.plan-header h5{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.discount-badge{background:#e74c3c;color:#fff;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase}.plan-amount{text-align:center;margin-bottom:16px}.plan-amount .amount{display:block;font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:4px}.plan-amount .savings{display:block;font-size:14px;color:#27ae60;font-weight:600}.plan-details{text-align:center}.plan-details p{color:#7f8c8d;font-size:14px;margin-bottom:8px;line-height:1.4}.installment-info{color:#3498db;font-size:13px;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.payment-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e1e8ed;background:#f8f9fa}.modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#e9ecef;color:#495057}.modal-body{padding:24px}.payment-summary h4{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:16px}.payment-details{background:#f8f9fa;border-radius:8px;padding:16px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e1e8ed}.detail-row:last-child{border-bottom:none}.detail-row.total{font-weight:600;font-size:16px;color:#27ae60;border-top:2px solid #e1e8ed;margin-top:8px;padding-top:12px}.detail-row span:first-child{color:#6c757d}.detail-row span:last-child{color:#2c3e50;font-weight:500}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e1e8ed;background:#f8f9fa}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f5f8b);transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background:#7f8c8d;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#2ecc71,#27ae60);transform:translateY(-1px);box-shadow:0 4px 12px #27ae604d}.btn-sm{padding:8px 12px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (max-width: 768px){.transport-header{padding:20px}.transport-header h2{font-size:24px}.tab-navigation{flex-wrap:wrap}.tab-button{flex:1;min-width:120px;padding:12px 16px}.tab-content{padding:16px}.location-inputs{grid-template-columns:1fr;gap:16px}.fare-structure-selector,.breakdown-grid,.plans-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:center}.calculate-btn,.submit-btn{width:100%;max-width:300px}.route-map{height:300px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.timeline-item{flex-direction:column;text-align:center;gap:12px}.timeline-icon{align-self:center}}@media (max-width: 480px){.transport-header h2{font-size:20px}.tab-button{padding:10px 12px;font-size:12px}.tab-icon{font-size:14px}.form-section{padding:16px}.structure-details{grid-template-columns:1fr}.breakdown-item{flex-direction:column;text-align:center;gap:8px}.plan-amount .amount{font-size:24px}.status-item{flex-direction:column;align-items:flex-start;gap:4px}}.student-transport-application.loading{opacity:.7;pointer-events:none}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tab-content>div{animation:slideIn .3s ease-out}.student-transport-application::-webkit-scrollbar{width:6px}.student-transport-application::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.student-transport-application::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.student-transport-application::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
