*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body,.book-bus-page{background:linear-gradient(to right,#e0f7fa,#f1f8e9);min-height:100vh;padding:2rem;color:#333}.main-heading,.bus-section-heading{text-align:center;margin-bottom:2rem;color:#00695c}.glass-form{background:#ffffffe6;padding:2rem;border-radius:15px;margin-bottom:2rem;box-shadow:0 4px 10px #0000001a;max-width:1000px;margin-left:auto;margin-right:auto}.glass-form h2{margin-bottom:1rem;color:#004d40}.form-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}input,select{padding:10px;border:2px solid #b2dfdb;border-radius:8px;font-size:1rem;transition:.3s}input:focus,select:focus{border-color:#00796b;outline:none}.animated-btn{padding:10px 20px;background-color:#00796b;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:700;margin-top:1rem}.animated-btn:hover{background-color:#004d40}.cancel-btn{margin-top:1rem;padding:10px 20px;background-color:#ccc;color:#333;border:none;border-radius:8px;cursor:pointer}.cancel-btn:hover{background-color:#aaa}.bus-place-search input,.search-filters input{width:100%;max-width:600px;margin:0 auto 1rem;padding:12px;display:block;border:2px solid #80cbc4;border-radius:10px;font-size:1rem;background:#fff;box-shadow:0 2px 5px #0000000d}.bus-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;margin-top:2rem}.bus-card{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease}.bus-card:hover{transform:translateY(-5px)}.bus-image{width:100%;height:160px;object-fit:cover;border-radius:10px;margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center}.modal-content{background:#fff;padding:2rem;border-radius:15px;width:90%;max-width:500px;box-shadow:0 5px 20px #0003}.booking-list{margin-top:2rem;overflow-x:auto}.responsive-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:600px}.responsive-table th,.responsive-table td{border:1px solid #e0f2f1;padding:12px;text-align:center}.responsive-table th{background-color:#00796b;color:#fff}.responsive-table td[data-label]:before{content:attr(data-label);font-weight:700;display:none}@media (max-width: 768px){.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{margin-bottom:1rem}.responsive-table td{text-align:right;padding-left:50%;position:relative}.responsive-table td:before{position:absolute;left:1rem;top:50%;transform:translateY(-50%);display:block}.responsive-table td[data-label]:before{display:block}}.booking-list{width:100%;overflow-x:auto;margin-top:2rem}.responsive-table{width:100%;border-collapse:collapse;font-size:.95rem;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.responsive-table th,.responsive-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e0f2f1}.responsive-table th{background-color:#00796b;color:#fff;font-weight:600}.responsive-table tr:nth-child(2n){background-color:#f1f8e9}@media screen and (max-width: 768px){.responsive-table{border:0}.responsive-table thead{display:none}.responsive-table tr{margin-bottom:1rem;display:block;border-bottom:2px solid #ccc;background:#fff;border-radius:8px;box-shadow:0 3px 6px #0000000d;padding:10px}.responsive-table td{display:block;text-align:right;padding-left:50%;position:relative;border:none;border-bottom:1px solid #eee}.responsive-table td:before{content:attr(data-label);position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:700;color:#00796b;text-align:left}.responsive-table td:last-child{border-bottom:0}}.bus-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:2rem;padding:0 1rem}.bus-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 8px #0000000f;transition:transform .25s ease;display:flex;flex-direction:column;justify-content:space-between}.bus-card:hover{transform:translateY(-4px)}.bus-card h3{font-size:1.2rem;margin-bottom:.5rem;color:#004d40}.bus-image{width:100%;height:160px;object-fit:cover;border-radius:10px;margin-bottom:.75rem}.bus-card p{font-size:.9rem;line-height:1.4;margin-bottom:.4rem}input,select,textarea{padding:10px 14px;border:2px solid #b2dfdb;border-radius:8px;font-size:1rem;width:100%;background-color:#fdfdfd;transition:all .3s ease;box-shadow:inset 0 1px 2px #00000008}input:focus,select:focus,textarea:focus{border-color:#00796b;outline:none;background-color:#fff;box-shadow:0 0 0 3px #00796b1a}input::placeholder{color:#888}.file-input{padding:10px;border:1px dashed #80cbc4;background-color:#f9f9f9;cursor:pointer}.bus-place-search input,.search-filters input{width:100%;max-width:500px;margin:0 auto 1.5rem;display:block;padding:12px 16px;border:2px solid #80cbc4;border-radius:10px;font-size:1rem;background:#fff;transition:.3s ease}.bus-place-search input:focus,.search-filters input:focus{border-color:#00796b;box-shadow:0 0 0 3px #00796b1a}body,.book-bus-page{background:linear-gradient(to right,#e0f7fa,#e8f5e9);min-height:100vh;padding:2rem;color:#333}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:999}.modal-content{background-color:#fff;padding:2rem;border-radius:14px;width:90%;max-width:500px;box-shadow:0 12px 25px #0003;animation:fadeInScale .4s ease-out;display:flex;flex-direction:column;gap:1rem}.modal-content button{margin-top:10px}.cancel-btn{background-color:#e53935;color:#fff;border:none;padding:10px;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .3s}.cancel-btn:hover{background-color:#c62828}@keyframes fadeInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.add-bus-form .form-group{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.add-bus-form input[type=text],.add-bus-form input[type=number],.add-bus-form input[type=file]{flex:1 1 100%}@media (min-width: 768px){.add-bus-form input[type=text],.add-bus-form input[type=number],.add-bus-form input[type=file]{flex:1 1 calc(50% - .5rem)}}
