@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--primary: #0d6efd;--secondary: hsl(145, 87%, 44%);--success: #198754;--info: #0dcaf0;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #212529}body{font-family:Montserrat,sans-serif;font-size:16px;margin:0;padding:0}body,html{margin:0;padding:0;height:100%;font-family:Inter,Montserrat,sans-serif}.auth-modal-wrapper{z-index:1050}.auth-modal .ant-modal-content{border-radius:16px;overflow:hidden;box-shadow:0 25px 50px #00000040;border:none;padding:0;max-width:fit-content;width:auto}.auth-modal .ant-modal-body{padding:0;margin:0;width:100%;display:flex;justify-content:center;align-items:center}.auth-modal-wrapper .ant-modal-mask{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-dropdown{position:absolute;top:100%;right:0;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:.5rem}.auth-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000001a;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.menu-item{position:relative}.auth-dropdown-card,.auth-container{position:relative;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:16px;padding:2rem;min-height:400px;overflow:hidden}.auth-dropdown-card{width:400px;box-shadow:0 20px 40px #00000026,0 0 0 1px #fff3;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-container{max-width:450px;margin:3rem auto;box-shadow:0 20px 50px #0000001a}.auth-dropdown-card:before,.auth-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--primary-green),var(--light-green))}.auth-dropdown-card:after,.auth-container:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(16,185,129,.02) 0%,transparent 70%);pointer-events:none;animation:modalGlow 3s ease-in-out infinite alternate}.auth-header{text-align:center;margin-bottom:2rem;position:relative;z-index:5}.auth-header h2,.auth-container h3{color:var(--text-dark);font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 1px 3px rgba(0,0,0,.1);text-align:center}.auth-header p{color:var(--text-light);font-size:1rem;font-weight:500;margin:0}.auth-close{position:absolute;top:1rem;right:1rem;background:#ffffffe6;border:none;width:32px;height:32px;border-radius:50%;font-size:1.5rem;font-weight:300;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10;box-shadow:0 2px 8px #0000001a}.auth-close:hover{background:var(--primary-green);color:var(--white);transform:rotate(90deg) scale(1.1);box-shadow:0 4px 15px #10b9814d}.google-btn{width:100%;height:48px;background:var(--white)!important;border:2px solid rgba(16,185,129,.2)!important;border-radius:12px!important;font-size:1rem!important;font-weight:600!important;color:var(--text-dark)!important;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;z-index:5}.google-btn:hover{border-color:var(--primary-green)!important;box-shadow:0 4px 15px #10b98133;transform:translateY(-2px);color:var(--primary-green)!important}.google-btn .anticon{font-size:1.25rem}.auth-dropdown-card .ant-divider,.auth-container .ant-divider{margin:1.5rem 0;border-color:#10b98126}.auth-dropdown-card .ant-divider-inner-text,.auth-container .ant-divider-inner-text{color:var(--text-light);font-size:.9rem;font-weight:500}.auth-dropdown-card .ant-form,.auth-dropdown-card form,.auth-container .ant-form,.auth-container form{position:relative;z-index:5}.auth-dropdown-card .ant-form-item,.auth-container .ant-form-item,.auth-form-group{margin-bottom:1.5rem}.auth-dropdown-card .ant-form-item-label>label,.auth-container .ant-form-item-label>label,.auth-form-group label{color:var(--text-dark);font-weight:600;font-size:.95rem}.auth-dropdown-card .ant-input,.auth-dropdown-card .ant-input-password,.auth-dropdown-card .ant-select-selector,.auth-container .ant-input,.auth-container .ant-input-password,.auth-container .ant-select-selector,.auth-input{border:2px solid rgba(16,185,129,.2);border-radius:10px;padding:12px 16px;font-size:1rem;background:var(--white);transition:var(--transition);box-shadow:0 2px 4px #00000005;width:100%;color:var(--text-dark)}.auth-dropdown-card .ant-input:focus,.auth-dropdown-card .ant-input-password:focus,.auth-dropdown-card .ant-select-focused .ant-select-selector,.auth-container .ant-input:focus,.auth-container .ant-input-password:focus,.auth-container .ant-select-focused .ant-select-selector,.auth-input:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px #10b9811a;outline:none}.auth-dropdown-card .ant-input:hover,.auth-dropdown-card .ant-input-password:hover,.auth-dropdown-card .ant-select:hover .ant-select-selector,.auth-container .ant-input:hover,.auth-container .ant-input-password:hover,.auth-container .ant-select:hover .ant-select-selector,.auth-input:hover{border-color:var(--light-green)}.auth-input::placeholder{color:#9ca3af}.auth-dropdown-card .ant-input-password .ant-input,.auth-container .ant-input-password .ant-input{border:none;padding:0;box-shadow:none}.auth-dropdown-card .ant-input-password .anticon,.auth-container .ant-input-password .anticon{color:var(--text-light)}.auth-dropdown-card .ant-input-password .anticon:hover,.auth-container .ant-input-password .anticon:hover{color:var(--primary-green)}.auth-dropdown-card .ant-select,.auth-container .ant-select{width:100%}.auth-dropdown-card .ant-select-arrow,.auth-container .ant-select-arrow{color:var(--text-light)}.auth-dropdown-card .ant-btn-primary,.auth-dropdown-card button[type=submit],.auth-container .ant-btn-primary,.auth-container button[type=submit],.auth-btn,.submit-btn{width:100%;height:48px;background:linear-gradient(135deg,var(--primary-green),var(--light-green));border:none;border-radius:12px;font-size:1.1rem;font-weight:600;color:var(--white);cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px #10b9814d;text-transform:uppercase;letter-spacing:.5px;margin-top:1rem;position:relative;overflow:hidden}.auth-dropdown-card .ant-btn-primary:hover,.auth-dropdown-card button[type=submit]:hover,.auth-container .ant-btn-primary:hover,.auth-container button[type=submit]:hover,.auth-btn:hover,.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98166;background:linear-gradient(135deg,var(--dark-green),var(--primary-green))}.auth-dropdown-card .ant-btn-primary:active,.auth-dropdown-card button[type=submit]:active,.auth-container .ant-btn-primary:active,.auth-container button[type=submit]:active,.auth-btn:active,.submit-btn:active{transform:translateY(0)}.auth-dropdown-card .ant-btn-primary:before,.auth-dropdown-card button[type=submit]:before,.auth-container .ant-btn-primary:before,.auth-container button[type=submit]:before,.auth-btn:before,.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.auth-dropdown-card .ant-btn-primary:hover:before,.auth-dropdown-card button[type=submit]:hover:before,.auth-container .ant-btn-primary:hover:before,.auth-container button[type=submit]:hover:before,.auth-btn:hover:before,.submit-btn:hover:before{left:100%}.auth-dropdown-card .ant-btn-loading,.auth-container .ant-btn-loading,.auth-btn.loading,.loading{pointer-events:none;opacity:.8}.auth-dropdown-card .ant-btn-loading .anticon,.auth-container .ant-btn-loading .anticon,.auth-btn.loading:after{animation:spin 1s linear infinite}.auth-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid white;border-radius:50%}.auth-dropdown-card a,.auth-container a,.link-btn{color:var(--primary-green);text-decoration:none;font-weight:600;transition:var(--transition)}.auth-dropdown-card a:hover,.auth-container a:hover,.link-btn:hover{color:var(--dark-green);text-decoration:underline}.auth-switch{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(16,185,129,.1);font-size:.95rem;color:var(--text-light)}.auth-switch p{color:var(--text-light);margin:0}.auth-switch button{background:none;border:none;color:var(--primary-green);font-weight:600;cursor:pointer;text-decoration:underline;transition:var(--transition);font-size:.95rem}.auth-switch button:hover{color:var(--dark-green);transform:scale(1.02)}.auth-dropdown-card .ant-form-item-explain-error,.auth-container .ant-form-item-explain-error,.auth-error,.error-message{color:#ef4444;font-size:.85rem;margin-top:.25rem;font-weight:500}.auth-error{display:flex;align-items:center;gap:.5rem}.auth-error:before{content:"⚠";font-size:.9rem}.auth-dropdown-card .success-message,.auth-container .success-message,.success-message{color:var(--primary-green);font-size:.9rem;text-align:center;padding:.75rem;background:#10b9811a;border-radius:8px;border-left:4px solid var(--primary-green);margin-bottom:1rem}.auth-dropdown-card .ant-form-item-has-error .ant-input,.auth-dropdown-card .ant-form-item-has-error .ant-input-password,.auth-dropdown-card .ant-form-item-has-error .ant-select-selector,.auth-container .ant-form-item-has-error .ant-input,.auth-container .ant-form-item-has-error .ant-input-password,.auth-container .ant-form-item-has-error .ant-select-selector{border-color:#ef4444;box-shadow:0 0 0 2px #ef44441a}.auth-dropdown-card .ant-form-item-has-success .ant-input,.auth-dropdown-card .ant-form-item-has-success .ant-input-password,.auth-dropdown-card .ant-form-item-has-success .ant-select-selector,.auth-container .ant-form-item-has-success .ant-input,.auth-container .ant-form-item-has-success .ant-input-password,.auth-container .ant-form-item-has-success .ant-select-selector{border-color:var(--primary-green);box-shadow:0 0 0 2px #10b9811a}.auth-dropdown-card .ant-checkbox-wrapper,.auth-container .ant-checkbox-wrapper{color:var(--text-dark);font-weight:500}.auth-dropdown-card .ant-checkbox-checked .ant-checkbox-inner,.auth-container .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--primary-green);border-color:var(--primary-green)}.auth-dropdown-card .ant-checkbox:hover .ant-checkbox-inner,.auth-dropdown-card .ant-checkbox-input:focus+.ant-checkbox-inner,.auth-container .ant-checkbox:hover .ant-checkbox-inner,.auth-container .ant-checkbox-input:focus+.ant-checkbox-inner{border-color:var(--primary-green)}.auth-dropdown-card .ant-radio-button-wrapper,.auth-container .ant-radio-button-wrapper{border:2px solid rgba(16,185,129,.2);color:var(--text-dark);background:var(--white);transition:var(--transition)}.auth-dropdown-card .ant-radio-button-wrapper:hover,.auth-container .ant-radio-button-wrapper:hover{border-color:var(--light-green);color:var(--primary-green)}.auth-dropdown-card .ant-radio-button-wrapper-checked,.auth-container .ant-radio-button-wrapper-checked{background:var(--primary-green);border-color:var(--primary-green);color:var(--white)}.auth-dropdown-card .ant-radio-button-wrapper:first-child,.auth-container .ant-radio-button-wrapper:first-child{border-radius:8px 0 0 8px}.auth-dropdown-card .ant-radio-button-wrapper:last-child,.auth-container .ant-radio-button-wrapper:last-child{border-radius:0 8px 8px 0}.auth-dropdown-card .ant-input:focus-visible,.auth-dropdown-card .ant-btn:focus-visible,.auth-dropdown-card button:focus-visible,.auth-container .ant-input:focus-visible,.auth-container .ant-btn:focus-visible,.auth-container button:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}.auth-dropdown-card .ant-input:disabled,.auth-dropdown-card .ant-btn:disabled,.auth-dropdown-card button:disabled,.auth-container .ant-input:disabled,.auth-container .ant-btn:disabled,.auth-container button:disabled{opacity:.6;cursor:not-allowed}.auth-dropdown-card::-webkit-scrollbar,.auth-container::-webkit-scrollbar{width:6px}.auth-dropdown-card::-webkit-scrollbar-track,.auth-container::-webkit-scrollbar-track{background:#10b9811a;border-radius:3px}.auth-dropdown-card::-webkit-scrollbar-thumb,.auth-container::-webkit-scrollbar-thumb{background:var(--primary-green);border-radius:3px}.auth-dropdown-card::-webkit-scrollbar-thumb:hover,.auth-container::-webkit-scrollbar-thumb:hover{background:var(--dark-green)}@keyframes modalGlow{0%{opacity:.02}to{opacity:.05}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-dropdown-card,.auth-container{animation:slideDown .3s ease-out}@media (max-width: 768px){.auth-modal .ant-modal-content{margin:1rem;max-width:calc(100vw - 2rem)}.auth-dropdown{right:-50px}.auth-dropdown-card{width:340px;padding:1.5rem;min-height:350px}.auth-container{margin:2rem 1rem;padding:1.5rem}.auth-header h2,.auth-container h3{font-size:1.5rem}.auth-header p{font-size:.9rem}.auth-dropdown-card .ant-form-item,.auth-container .ant-form-item,.auth-form-group{margin-bottom:1.25rem}.auth-dropdown-card .ant-btn-primary,.auth-dropdown-card button[type=submit],.auth-container .ant-btn-primary,.auth-container button[type=submit],.auth-btn,.submit-btn{height:44px;font-size:1rem}.google-btn{height:44px;font-size:.95rem!important}}@media (max-width: 480px){.auth-modal .ant-modal-content{margin:.5rem;max-width:calc(100vw - 1rem)}.auth-dropdown{right:-80px}.auth-dropdown-card{width:300px;padding:1.25rem;min-height:320px}.auth-container{margin:1rem .5rem;padding:1.25rem}.auth-header h2,.auth-container h3{font-size:1.3rem}.auth-close{width:28px;height:28px;font-size:1.3rem}}:root{--primary: #16a34a;--primary-light: #22c55e;--primary-dark: #15803d;--success: #16a34a;--warning: #f59e0b;--danger: #dc2626;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--background: #f8fafc;--card-bg: #ffffff;--border-color: #e5e7eb;--shadow-sm: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 25px rgba(0,0,0,.15);--border-radius: 12px;--transition: all .2s ease-in-out}:root{--scale-factor: 1}.bus-card{display:flex;flex-direction:column;background:var(--card-bg);border-radius:var(--border-radius);padding:0;margin:16px auto;max-width:1000px;width:100%;box-shadow:var(--shadow-md);border:3px solid var(--primary);transition:var(--transition);position:relative;overflow:hidden}@media (hover: hover){.bus-card:hover{box-shadow:0 20px 40px #16a34a26,0 8px 16px #0000001a;transform:translateY(-4px);border-color:var(--primary-light)}.bus-card:hover:before{opacity:1}}.bus-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#16a34a05,#22c55e0d);opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:var(--border-radius)}.bus-card__timeline-warning{background:linear-gradient(135deg,#f59e0b,#f97316);color:#92400e;padding:10px 16px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 4px #f59e0b33;border-bottom:1px solid #f59e0b;animation:warning-pulse 2s ease-in-out infinite}@keyframes warning-pulse{0%,to{opacity:1}50%{opacity:.85}}.bus-card__timeline-warning span{font-size:14px;animation:warning-icon-bounce 1s ease-in-out infinite}@keyframes warning-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bus-card__content{display:flex;flex-direction:column;gap:16px;padding:24px}.bus-card__content.has-warning{padding-top:20px}.bus-card__main{display:flex;justify-content:space-between;align-items:center;width:100%}.bus-card__info{display:flex;align-items:center;gap:48px;flex:1}.bus-card__name-block{display:flex;flex-direction:column;gap:8px;min-width:200px}.bus-card__company-container{display:flex;align-items:center;justify-content:flex-start;min-height:90px;width:100%}.bus-card__company-logo{max-height:90px;max-width:320px;width:auto;height:auto;object-fit:contain;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);margin-right:auto;align-self:flex-start;filter:brightness(1) contrast(1)}@media (hover: hover){.bus-card:hover .bus-card__company-logo{transform:scale(1.05);filter:brightness(1.1) contrast(1.05)}}.bus-card__company{font-size:20px;font-weight:700;color:#000;letter-spacing:-.025em;line-height:1.2;word-break:break-word}.bus-card__bus-number{font-size:14px;color:#000;font-weight:600;background:#e5e7eb;padding:4px 12px;border-radius:6px;display:inline-block;width:fit-content}.bus-card__times-row{display:flex;align-items:center;gap:32px;padding:0 24px;position:relative}.bus-card__time-column{display:flex;flex-direction:column;align-items:center;gap:8px}.bus-card__time-value{font-size:24px;font-weight:700;color:#000;letter-spacing:-.025em;line-height:1;transition:all .3s ease;position:relative}@media (hover: hover){.bus-card:hover .bus-card__time-value{color:var(--primary);transform:scale(1.05)}}.bus-card__city-value{font-size:14px;color:#374151;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bus-card__station-value{font-size:12px;color:#4b5563;font-weight:500;text-align:center;margin-top:4px;max-width:120px;line-height:1.3}.bus-card__duration-section{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;position:relative}.bus-card__duration{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-muted);font-weight:500;background:var(--card-bg);padding:2px 8px;border-radius:4px;white-space:nowrap;z-index:1}.bus-card__arrow-icon{font-size:20px;color:var(--primary);font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}@media (hover: hover){.bus-card:hover .bus-card__arrow-icon{color:var(--primary-dark);transform:translate(8px) scale(1.2);animation:bounce-arrow .6s ease-in-out}}@keyframes bounce-arrow{0%,to{transform:translate(8px) scale(1.2)}50%{transform:translate(12px) scale(1.25)}}.bus-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;padding-left:24px;border-left:1px solid var(--border-color);min-width:200px}.bus-card__details{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.bus-card__detail-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;font-weight:500;transition:all .3s ease;cursor:default}@media (hover: hover){.bus-card:hover .bus-card__detail-item{color:var(--primary-dark)}.bus-card:hover .bus-card__detail-item i{color:var(--primary);transform:scale(1.2)}}.bus-card__detail-item i{width:16px;text-align:center;color:var(--text-muted);transition:all .3s ease}.bus-card__status{align-self:flex-end}.status-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.025em;transition:all .3s ease;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.status-badge.yet-to-start{background-color:var(--primary);box-shadow:0 0 #16a34a66}.status-badge.running{background-color:var(--success);animation:pulse-running 1.5s ease-in-out infinite}@keyframes pulse-running{0%,to{box-shadow:0 0 #16a34ab3}50%{box-shadow:0 0 0 8px #16a34a00}}.status-badge.completed{background-color:var(--text-muted)}.bus-card__booking{width:100%}.bus-card__book-button{width:100%;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;min-width:140px;position:relative;overflow:hidden}.bus-card__book-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.bus-card__book-button.available{background:var(--primary);color:#fff;box-shadow:0 4px 12px #16a34a4d}@media (hover: hover){.bus-card__book-button.available:hover{background:var(--primary-dark);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #16a34a66}.bus-card__book-button.available:hover:before{width:300px;height:300px}.bus-card__book-button.available:active{transform:translateY(0) scale(.98)}}.bus-card__book-button.fully-booked{background:var(--text-muted);color:#fff;cursor:not-allowed;opacity:.7}.bus-card__amenities{display:flex;align-items:center;justify-content:flex-start;width:100%;padding-top:16px;border-top:1px solid var(--border-color)}.bus-card__amenities-list{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bus-card__amenity-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8fafc;border:2px solid #d1d5db;border-radius:6px;font-size:12px;color:#1f2937;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.bus-card__amenity-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(22,163,74,.1),transparent);transition:left .5s ease}@media (hover: hover){.bus-card__amenity-item:hover{background:#f0fdf4;border-color:var(--primary);color:var(--primary-dark);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #16a34a26}.bus-card__amenity-item:hover:before{left:100%}.bus-card__amenity-item:hover i{color:var(--primary-dark);transform:scale(1.2) rotate(5deg)}}.bus-card__amenity-item i{font-size:14px;color:var(--primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.bus-card__warning{position:absolute;top:0;right:0;background:var(--warning);color:#92400e;padding:6px 12px;font-size:12px;font-weight:600;border-bottom-left-radius:8px;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);z-index:2}.bus-card__warning i{font-size:12px}.bus-card.fully-booked{opacity:.6;background:#f9fafb}.bus-card.fully-booked .bus-card__company,.bus-card.fully-booked .bus-card__time-value{color:var(--text-muted)}.bus-card.fully-booked .bus-card__company-logo{opacity:.6;filter:grayscale(50%)}.bus-card.completed{opacity:.7;background:#f8fafc}.bus-card.completed .bus-card__company-logo{opacity:.7;filter:grayscale(30%)}.bus-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{font-size:48px;margin-bottom:16px;animation:spin 2s linear infinite}.bus-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-message{display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--card-bg);padding:32px;border-radius:var(--border-radius);border:1px solid var(--danger);box-shadow:var(--shadow-sm)}.retry-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:var(--transition)}@media (hover: hover){.retry-button:hover{background:var(--primary-dark)}}.encouragement-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--border-radius);margin:20px auto;max-width:800px;border:2px dashed var(--border-color)}.encouragement-icon{font-size:72px;color:var(--primary);margin-bottom:24px;opacity:.8}.encouragement-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.encouragement-subtitle{font-size:18px;color:var(--text-secondary);margin-bottom:32px;line-height:1.6;max-width:500px}.no-buses-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--card-bg);border-radius:var(--border-radius);margin:20px auto;max-width:600px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.no-buses-icon{font-size:64px;color:var(--text-muted);margin-bottom:20px}.no-buses-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.no-buses-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}@media (max-width: 768px){.bus-card{max-width:100%;margin:12px 0;border-radius:8px}.bus-card__content{padding:16px}.bus-card__main{flex-direction:column;align-items:stretch;gap:16px}.bus-card__info{flex-direction:column;gap:16px;align-items:stretch}.bus-card__name-block{align-items:flex-start;min-width:auto}.bus-card__company-container{min-height:35px}.bus-card__company-logo{max-height:60px;max-width:200px}.bus-card__times-row{gap:16px;padding:0;justify-content:space-between}.bus-card__time-column{align-items:flex-start}.bus-card__time-column:last-child{align-items:flex-end}.bus-card__station-value{max-width:none;text-align:left}.bus-card__station-value:last-child{text-align:right}.bus-card__duration-section{padding:0;gap:4px}.bus-card__duration{top:-16px;font-size:12px}.bus-card__arrow-icon{font-size:18px}.bus-card__right{border-left:none;border-top:1px solid var(--border-color);padding-left:0;padding-top:16px;align-items:stretch;min-width:auto}.bus-card__details{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}.bus-card__status{align-self:flex-start}.bus-card__detail-item{flex:0 1 auto}.bus-card__booking{margin-top:8px}.bus-card__book-button{padding:12px;font-size:16px;min-width:auto}.bus-card__amenities{padding-top:12px}.bus-card__amenities-list{gap:12px}.bus-card__amenity-item{padding:4px 8px;font-size:12px}.bus-card__warning{padding:4px 8px;font-size:12px;border-bottom-left-radius:0;border-top-right-radius:8px}.bus-card__timeline-warning{padding:8px;font-size:12px;gap:4px}.bus-card:active{box-shadow:0 20px 40px #16a34a26,0 8px 16px #0000001a;transform:translateY(-4px);border-color:var(--primary-light)}.bus-card:active:before{opacity:1}.bus-card:active .bus-card__arrow-icon{color:var(--primary-dark);transform:translate(8px) scale(1.2);animation:bounce-arrow .6s ease-in-out}.bus-card:active .bus-card__company-logo{transform:scale(1.05);filter:brightness(1.1) contrast(1.05)}.bus-card:active .bus-card__time-value{color:var(--primary);transform:scale(1.05)}.bus-card__book-button.available:active{background:var(--primary-dark);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #16a34a66}.bus-card__book-button.available:active:before{width:300px;height:300px}.bus-card__amenity-item:active{background:#f0fdf4;border-color:var(--primary);color:var(--primary-dark);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #16a34a26}.bus-card__amenity-item:active:before{left:100%}.bus-card__amenity-item:active i{color:var(--primary-dark);transform:scale(1.2) rotate(5deg)}.bus-card:active .bus-card__detail-item{color:var(--primary-dark)}.bus-card:active .bus-card__detail-item i{color:var(--primary);transform:scale(1.2)}.retry-button:active{background:var(--primary-dark)}}@media (max-width: 400px){.bus-card__company{font-size:18px}.bus-card__company-logo{max-height:35px;max-width:120px}.bus-card__time-value{font-size:20px}.bus-card__book-button{font-size:14px}.bus-card__detail-item{font-size:12px}.status-badge{font-size:11px;padding:3px 8px}.bus-card__amenity-item{gap:4px;font-size:11px}.bus-card__amenity-item i{font-size:12px}}:root{--primary: #43b36a;--primary-dark: #2e8b57;--scale-factor: 1}.bus-search-container{width:100%;max-width:calc(900px * var(--scale-factor));margin:calc(2.5rem * var(--scale-factor)) auto calc(1.5rem * var(--scale-factor)) auto;padding:0;background:linear-gradient(120deg,#ffffff38 60%,#007bff14);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border-radius:calc(22px * var(--scale-factor));box-shadow:0 calc(8px * var(--scale-factor)) calc(32px * var(--scale-factor)) 0 #007bff21,0 calc(1.5px * var(--scale-factor)) calc(8px * var(--scale-factor)) 0 #00000012;border:calc(1.5px * var(--scale-factor)) solid rgba(0,123,255,.1);animation:fadeIn .5s cubic-bezier(.4,0,.2,1);overflow:visible;transform:scale(var(--scale-factor));transform-origin:center}.search-form{display:flex;flex-direction:row;align-items:stretch;gap:0;width:100%;min-height:calc(80px * var(--scale-factor))}.form-group{display:flex;flex-direction:column;justify-content:center;flex:1 1 0;min-width:0;padding:calc(1.5rem * var(--scale-factor)) calc(1.8rem * var(--scale-factor));background:#ffffff2e;border:none;border-right:calc(1px * var(--scale-factor)) solid rgba(0,123,255,.08);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.form-group:last-of-type{border-right:none}.form-group:focus-within{background:#ffffff4d;box-shadow:inset 0 0 0 calc(2px * var(--scale-factor)) #43b36a26}.form-group:before{content:attr(data-label);font-size:calc(.75rem * var(--scale-factor));font-weight:600;color:#1a237eb3;margin-bottom:calc(.25rem * var(--scale-factor));text-transform:uppercase;letter-spacing:.5px}.form-group:nth-child(1):before{content:"FROM"}.form-group:nth-child(3):before{content:"TO"}.form-group:nth-child(4):before{content:"DEPARTURE DATE"}.form-group input,.form-group select{border:none;background:transparent;font-size:calc(1.1rem * var(--scale-factor));color:#1a237e;font-weight:500;padding:calc(.5rem * var(--scale-factor)) 0;outline:none;border-radius:0;box-shadow:none;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%}.form-group input::placeholder{color:#1a237e80;font-weight:400}.form-group input:focus{color:#1a237e}.swap-button{display:flex;align-items:center;justify-content:center;background:#ffffff40;color:#1a237e;border:none;border-right:calc(1px * var(--scale-factor)) solid rgba(0,123,255,.08);font-size:calc(1.2rem * var(--scale-factor));font-weight:700;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:calc(60px * var(--scale-factor));width:calc(60px * var(--scale-factor));outline:none;position:relative}.swap-button:active{transform:scale(calc(.95 * var(--scale-factor)))}.swap-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.search-button{display:flex;align-items:center;justify-content:center;gap:calc(.5rem * var(--scale-factor));background:linear-gradient(135deg,var(--primary, #43b36a) 0%,var(--primary-dark, #2e8b57) 100%);color:#fff;border:none;border-radius:0 calc(22px * var(--scale-factor)) calc(22px * var(--scale-factor)) 0;font-size:calc(1.1rem * var(--scale-factor));font-weight:700;padding:0 calc(2.5rem * var(--scale-factor));cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:calc(140px * var(--scale-factor));box-shadow:0 calc(4px * var(--scale-factor)) calc(12px * var(--scale-factor)) #43b36a40;outline:none;letter-spacing:.5px;text-transform:uppercase;position:relative;z-index:1}.search-button:active{transform:translateY(0);box-shadow:0 calc(2px * var(--scale-factor)) calc(8px * var(--scale-factor)) #43b36a40}.search-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 calc(2px * var(--scale-factor)) calc(8px * var(--scale-factor)) #43b36a26}.search-button i{font-size:calc(1.2rem * var(--scale-factor))}.bus-search-suggestions{position:absolute;top:calc((100% + 8px) * var(--scale-factor));left:0;right:0;background:#fff;border:calc(1px * var(--scale-factor)) solid rgba(0,123,255,.15);border-radius:calc(12px * var(--scale-factor));max-height:calc(200px * var(--scale-factor));overflow-y:auto;box-shadow:0 calc(8px * var(--scale-factor)) calc(32px * var(--scale-factor)) #0000001f,0 calc(2px * var(--scale-factor)) calc(8px * var(--scale-factor)) #00000014;z-index:1000;animation:slideDown .2s ease}.bus-search-suggestion-item{padding:calc(1rem * var(--scale-factor)) calc(1.2rem * var(--scale-factor));cursor:pointer;transition:all .2s ease;border-bottom:calc(1px * var(--scale-factor)) solid rgba(0,123,255,.05);color:#1a237e;font-weight:500;font-size:calc(1rem * var(--scale-factor))}.bus-search-suggestion-item:last-child{border-bottom:none}.bus-search-suggestion-item.no-results{color:#1a237e80;cursor:default;font-style:italic}.bus-search-suggestions::-webkit-scrollbar{width:calc(6px * var(--scale-factor))}.bus-search-suggestions::-webkit-scrollbar-track{background:#43b36a0d;border-radius:calc(3px * var(--scale-factor))}.bus-search-suggestions::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#43b36a,#2e8b57);border-radius:calc(3px * var(--scale-factor))}.bus-search-suggestions{scrollbar-width:thin;scrollbar-color:#43b36a rgba(67,179,106,.05)}.error-message{margin-top:calc(1rem * var(--scale-factor));padding:calc(1rem * var(--scale-factor)) calc(1.5rem * var(--scale-factor));background:#ff4d4d1a;border:calc(1px * var(--scale-factor)) solid rgba(255,77,77,.2);border-radius:calc(12px * var(--scale-factor));color:#d32f2f;font-weight:500;text-align:center;animation:slideDown .3s ease;font-size:calc(1rem * var(--scale-factor))}@media (max-width: 768px){:root{--scale-factor: 1}.bus-search-container{margin:1rem;border-radius:16px;max-width:none;transform:none;box-shadow:0 4px 20px #007bff26}.search-form{flex-direction:column;min-height:auto;gap:0}.form-group{border-right:none;border-bottom:1px solid rgba(0,123,255,.08);padding:1.2rem 1.5rem;min-height:60px}.form-group:first-child{border-radius:16px 16px 0 0}.form-group:last-of-type{border-bottom:none}.form-group:before{font-size:.7rem;margin-bottom:.4rem}.form-group input{font-size:1rem;padding:.3rem 0}.swap-button{order:1;width:100%;min-width:auto;height:50px;border:none;border-bottom:1px solid rgba(0,123,255,.08);border-radius:0;background:#ffffff4d;font-size:1.4rem}.form-group:nth-child(1){order:0}.swap-button{order:1}.form-group:nth-child(3){order:2}.form-group:nth-child(4){order:3}.search-button{order:4}.search-button{border-radius:0 0 16px 16px;min-width:auto;width:100%;height:60px;padding:0 2rem;font-size:1.1rem;box-shadow:0 2px 8px #43b36a33}.form-group:nth-child(3):before{content:"TO"}.bus-search-suggestions{position:fixed;top:auto;bottom:0;left:1rem;right:1rem;max-height:40vh;border-radius:16px 16px 0 0;z-index:1001}}@media (max-width: 480px){.bus-search-container{margin:.5rem;border-radius:12px}.form-group{padding:1rem 1.2rem;min-height:55px}.form-group:before{font-size:.65rem}.form-group input{font-size:.95rem}.search-button{height:55px;font-size:1rem}.swap-button{height:45px}.bus-search-container{border-radius:12px}.form-group:first-child{border-radius:12px 12px 0 0}.search-button{border-radius:0 0 12px 12px}}@media (min-width: 1200px){:root{--scale-factor: 1}}@media (max-width: 1199px) and (min-width: 992px){:root{--scale-factor: .9}}@media (max-width: 991px) and (min-width: 769px){:root{--scale-factor: .85}}@keyframes fadeIn{0%{opacity:0;transform:translateY(calc(20px * var(--scale-factor))) scale(calc(.98 * var(--scale-factor)))}to{opacity:1;transform:translateY(0) scale(var(--scale-factor))}}@keyframes slideDown{0%{opacity:0;transform:translateY(calc(-10px * var(--scale-factor)))}to{opacity:1;transform:translateY(0)}}.search-button:focus-visible{outline:calc(2px * var(--scale-factor)) solid #43b36a;outline-offset:calc(2px * var(--scale-factor))}.form-group input:focus-visible{outline:calc(2px * var(--scale-factor)) solid rgba(67,179,106,.5);outline-offset:calc(2px * var(--scale-factor))}.search-form.loading{pointer-events:none;opacity:.8}.search-form.loading .search-button{background:linear-gradient(135deg,#43b36ab3,#2e8b57b3)}@media (prefers-contrast: high){.form-group{border-right:calc(2px * var(--scale-factor)) solid rgba(0,123,255,.3)}.bus-search-suggestions{border:calc(2px * var(--scale-factor)) solid rgba(0,123,255,.3)}}.gallery-section{width:100%;background:linear-gradient(135deg,#1e7e34,#28a745,#1e7e34);padding:80px 0;position:relative;overflow:hidden}.gallery-section:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.gallery-section:after{content:"";position:absolute;bottom:-50%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.gallery-container{width:100%;max-width:1400px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.gallery-header{text-align:center;margin-bottom:50px}.gallery-title{font-size:2.75rem;font-weight:700;color:#fff;margin:0 0 12px;text-shadow:0 2px 4px rgba(0,0,0,.2);letter-spacing:-.5px}.gallery-subtitle{font-size:1.1rem;color:#ffffffe6;margin:0;font-weight:400}.gallery-wrapper{position:relative;width:100%;border-radius:20px;overflow:hidden;background:#fffffff2;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-viewport{width:100%;height:500px;overflow:hidden;position:relative}.gallery-track{display:flex;height:100%;transition:none}.gallery-track.transitioning{transition:transform 1s cubic-bezier(.4,0,.2,1)}.gallery-slide{min-width:50%;height:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:30px;box-sizing:border-box}.gallery-image-container{position:relative;width:100%;max-width:640px;height:440px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #00000026;transition:all .3s ease}.gallery-image-container:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000040}.gallery-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s ease}.gallery-image-container:hover .gallery-image{transform:scale(1.05)}.gallery-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.gallery-image-container:hover .gallery-image-overlay{opacity:1}.gallery-image-number{color:#fff;font-size:14px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff2;color:#28a745;border:none;width:56px;height:56px;border-radius:50%;cursor:pointer;z-index:10;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-arrow:hover{background:#28a745;color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #28a74566}.gallery-arrow:active{transform:translateY(-50%) scale(1.05)}.gallery-arrow-left{left:20px}.gallery-arrow-right{right:20px}.gallery-arrow svg{transition:transform .3s ease}.gallery-arrow:hover svg{transform:scale(1.1)}.gallery-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:40px;flex-wrap:wrap;max-height:120px;overflow-y:auto;padding:10px}.gallery-dots::-webkit-scrollbar{width:4px;height:4px}.gallery-dots::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.gallery-dots::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.gallery-dots::-webkit-scrollbar-thumb:hover{background:#ffffff80}.gallery-dot{width:10px;height:10px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:all .3s ease;padding:0;flex-shrink:0}.gallery-dot:hover{background:#ffffffb3;transform:scale(1.3)}.gallery-dot.active{background:#fff;width:32px;border-radius:5px;box-shadow:0 2px 8px #0003}.gallery-controls{display:flex;justify-content:center;margin-top:30px}.gallery-toggle-button{background:#fffffff2;color:#28a745;border:none;padding:12px 24px;border-radius:30px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-toggle-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.gallery-toggle-button:active{transform:translateY(0)}.gallery-toggle-button svg{transition:transform .3s ease}.gallery-toggle-button:hover svg{transform:scale(1.1)}@media (max-width: 1024px){.gallery-section{padding:60px 0}.gallery-title{font-size:2.4rem}.gallery-viewport{height:450px}.gallery-image-container{max-width:580px;height:390px}.gallery-slide{padding:25px}}@media (max-width: 768px){.gallery-section{padding:50px 0}.gallery-header{margin-bottom:40px}.gallery-title{font-size:2rem}.gallery-subtitle{font-size:1rem}.gallery-viewport{height:420px}.gallery-slide{min-width:100%;padding:20px}.gallery-image-container{max-width:100%;height:380px}.gallery-arrow{width:48px;height:48px}.gallery-arrow-left{left:15px}.gallery-arrow-right{right:15px}.gallery-arrow svg{width:20px;height:20px}.gallery-dots{margin-top:35px;gap:8px}.gallery-dot{width:8px;height:8px}.gallery-dot.active{width:24px}.gallery-controls{margin-top:25px}.gallery-toggle-button{padding:10px 20px;font-size:14px}}@media (max-width: 480px){.gallery-section{padding:40px 0}.gallery-container{padding:0 15px}.gallery-title{font-size:1.75rem}.gallery-subtitle{font-size:.95rem}.gallery-wrapper{border-radius:16px}.gallery-viewport{height:340px}.gallery-slide{padding:15px}.gallery-image-container{height:310px;border-radius:12px}.gallery-arrow{width:44px;height:44px}.gallery-arrow-left{left:10px}.gallery-arrow-right{right:10px}.gallery-arrow svg{width:18px;height:18px}.gallery-dots{margin-top:30px;gap:6px;padding:8px}.gallery-dot{width:7px;height:7px}.gallery-dot.active{width:20px}.gallery-controls{margin-top:20px}.gallery-toggle-button{padding:9px 18px;font-size:13px}.gallery-image-number{font-size:12px}}@media (min-width: 1400px){.gallery-viewport{height:550px}.gallery-slide{padding:35px}.gallery-image-container{max-width:700px;height:480px}.gallery-arrow{width:60px;height:60px}.gallery-arrow svg{width:26px;height:26px}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.gallery-image-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);background-size:1000px 100%;animation:shimmer 2s infinite;z-index:1;pointer-events:none;opacity:0}.gallery-image-container:not(:hover):before{opacity:0}@media (prefers-reduced-motion: reduce){.gallery-track,.gallery-arrow,.gallery-dot,.gallery-toggle-button,.gallery-image{transition:none!important}.gallery-image-container:before{animation:none!important}}@media print{.gallery-arrow,.gallery-dots,.gallery-controls{display:none}.gallery-section{background:#fff}.gallery-viewport{height:auto}.gallery-track{display:block}.gallery-slide{min-width:100%;page-break-inside:avoid}}.reviews-section{padding:80px 20px;background:linear-gradient(135deg,#e9f5e6,#d4edda);min-height:600px;position:relative;overflow:hidden}.reviews-header{text-align:center;margin-bottom:60px}.reviews-header h2{font-size:2.5rem;font-weight:700;color:#155724;margin-bottom:12px;background:linear-gradient(135deg,#28a745,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.reviews-header p{font-size:1.1rem;color:#6c757d;font-weight:400;margin:0}.reviews-container{display:flex;align-items:center;justify-content:center;gap:30px;max-width:1400px;margin:0 auto;position:relative}.nav-button{background:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000014;z-index:10;flex-shrink:0;color:#28a745}.nav-button:hover:not(:disabled){background:#28a745;color:#fff;box-shadow:0 6px 20px #28a7454d;transform:scale(1.05)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button svg{transition:transform .3s ease}.nav-button:hover:not(:disabled) svg{transform:scale(1.1)}.reviews-carousel{flex:1;max-width:1200px;overflow:hidden;position:relative}.reviews-grid{display:grid;grid-template-columns:repeat(var(--cards-per-view, 4),1fr);gap:24px;transition:all .6s cubic-bezier(.4,0,.2,1)}.reviews-grid.transitioning{opacity:0;transform:translate(20px)}.review-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;border:1px solid rgba(40,167,69,.1);height:100%}.review-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px);border-color:#28a7454d}.review-card-inner{padding:28px;display:flex;flex-direction:column;height:100%}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.reviewer-info{display:flex;align-items:center;gap:14px}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#28a745,#4caf50);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #28a74533}.avatar span{color:#fff;font-weight:600;font-size:14px;letter-spacing:.5px}.reviewer-details{display:flex;flex-direction:column;gap:4px}.reviewer-name{font-size:16px;font-weight:600;color:#1a1a1a;margin:0;line-height:1.3}.review-date{font-size:13px;color:#6c757d;font-weight:400}.rating{display:flex;gap:3px;align-items:center}.star{font-size:16px;line-height:1}.star.filled{color:#fbbf24}.star.empty{color:#e5e7eb}.review-content{flex:1;margin-bottom:20px}.review-text{font-size:14px;line-height:1.7;color:#4a4a4a;margin:0}.review-footer{margin-top:auto;padding-top:16px;border-top:1px solid #f0f0f0}.verified-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#059669;font-weight:500;background:#05966914;padding:6px 12px;border-radius:20px}.verified-badge svg{width:14px;height:14px}.reviews-indicators{display:flex;justify-content:center;gap:10px;margin-top:50px}.indicator{width:10px;height:10px;border-radius:50%;background:#28a74533;border:none;cursor:pointer;transition:all .3s ease;padding:0}.indicator:hover{background:#28a74566;transform:scale(1.2)}.indicator.active{background:#28a745;width:32px;border-radius:5px}@media (max-width: 1024px){.reviews-section{padding:60px 20px}.reviews-header h2{font-size:2.2rem}.reviews-grid{gap:20px}.review-card-inner{padding:24px}}@media (max-width: 768px){.reviews-section{padding:50px 16px}.reviews-header{margin-bottom:40px}.reviews-header h2{font-size:2rem}.reviews-header p{font-size:1rem}.reviews-container{gap:16px}.nav-button{width:48px;height:48px}.nav-button svg{width:18px;height:18px}.reviews-grid{grid-template-columns:1fr;gap:0}.review-card{max-width:500px;margin:0 auto}.review-card-inner{padding:24px 20px}.avatar{width:44px;height:44px}.avatar span{font-size:13px}.reviewer-name{font-size:15px}.review-date{font-size:12px}.review-text{font-size:13px;line-height:1.6}.star{font-size:15px}.reviews-indicators{margin-top:40px;gap:8px}.indicator{width:8px;height:8px}.indicator.active{width:24px}}@media (max-width: 480px){.reviews-section{padding:40px 12px}.reviews-header h2{font-size:1.75rem}.reviews-container{gap:12px}.nav-button{width:44px;height:44px}.nav-button svg{width:16px;height:16px}.review-card-inner{padding:20px 16px}.review-header{margin-bottom:16px;padding-bottom:14px}.reviewer-info{gap:12px}.avatar{width:40px;height:40px}.avatar span{font-size:12px}.reviewer-name{font-size:14px}.review-date{font-size:11px}.review-text{font-size:13px}.star{font-size:14px}.verified-badge{font-size:11px;padding:5px 10px}.verified-badge svg{width:12px;height:12px}.reviews-indicators{margin-top:35px;gap:6px}.indicator{width:7px;height:7px}.indicator.active{width:20px}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.reviews-grid:not(.transitioning){animation:slideIn .6s cubic-bezier(.4,0,.2,1)}@media print{.nav-button,.reviews-indicators{display:none}.reviews-section{background:#fff}.review-card{break-inside:avoid}}.faqs-container{min-height:100vh;background-color:#ecfdf4;padding:3rem 1rem}@media (min-width: 640px){.faqs-container{padding:3rem 1.5rem}}@media (min-width: 1024px){.faqs-container{padding:3rem 2rem}}.faqs-max-width{max-width:56rem;margin:0 auto}.faqs-header{text-align:center;margin-bottom:3rem;animation:fade-in .6s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faqs-icon-circle{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;background-color:#10b981;border-radius:9999px;margin-bottom:1.5rem;box-shadow:0 10px 15px -3px #0000001a}.faqs-title{font-size:3rem;font-weight:700;color:#111827;margin-bottom:.75rem}.faqs-subtitle{font-size:1.125rem;color:#4b5563}.faqs-search-container{margin-bottom:2.5rem}.faqs-search-wrapper{position:relative;max-width:42rem;margin:0 auto}.faqs-search-icon{position:absolute;top:0;bottom:0;left:0;padding-left:1rem;display:flex;align-items:center;pointer-events:none}.faqs-search-input{width:100%;padding:1rem 1rem 1rem 3rem;color:#111827;background-color:#fff;border:2px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;transition:all .2s}.faqs-search-input:focus{outline:none;box-shadow:0 0 0 2px #10b981;border-color:transparent}.faqs-items-container{display:flex;flex-direction:column;gap:1rem}.faq-item{background-color:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:all .3s}.faq-item-hovered{transform:scale(1.02);box-shadow:0 20px 25px -5px #0000001a}.faq-item-active{outline:2px solid #10b981}.faq-question-button{width:100%;padding:1.25rem 1.5rem;text-align:left;display:flex;align-items:center;justify-content:space-between;background:none;border:none;cursor:pointer}.faq-question-button:focus{outline:none}.faq-question-content{display:flex;align-items:center;flex:1;padding-right:1rem}.faq-icon{color:#10b981;margin-right:1rem;transition:transform .3s}.faq-question-button:hover .faq-icon{transform:scale(1.1)}.faq-question-text{font-size:1.125rem;font-weight:600;color:#111827;transition:color .2s}.faq-question-button:hover .faq-question-text{color:#10b981}.faq-chevron{flex-shrink:0;color:#10b981;transition:transform .3s}.faq-chevron-open{transform:rotate(180deg)}.faq-answer-wrapper{overflow:hidden;transition:all .5s ease-in-out;max-height:0;opacity:0}.faq-answer-open{max-height:24rem;opacity:1}.faq-answer-content{padding:1.25rem 1.5rem;background:linear-gradient(to bottom right,#ecfdf5,#f0fdfa);border-top:1px solid #d1fae5}.faq-answer-text{color:#374151;line-height:1.625;font-size:1rem}.faq-helpful-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #a7f3d0}.faq-helpful-button{color:#10b981;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;transition:color .2s}.faq-helpful-button:hover{color:#059669}.faqs-no-results{text-align:center;padding:3rem 0}.faqs-contact-support{margin-top:4rem;background:linear-gradient(to right,#10b981,#14b8a6);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;padding:2rem;text-align:center;color:#fff}.faqs-contact-title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.faqs-contact-subtitle{color:#d1fae5;margin-bottom:1.5rem;font-size:1.125rem}.faqs-contact-button{background-color:#fff;color:#10b981;padding:1rem 2rem;border-radius:.75rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 10px 15px -3px #0000001a;transition:all .2s}.faqs-contact-button:hover{background-color:#ecfdf5;box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-4px)}.faqs-stats-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.faqs-stat-card{background-color:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 4px 6px -1px #0000001a;transition:box-shadow .2s}.faqs-stat-card:hover{box-shadow:0 10px 15px -3px #0000001a}.faqs-stat-number{font-size:1.875rem;font-weight:700;color:#10b981}.faqs-stat-label{font-size:.875rem;color:#4b5563;margin-top:.25rem}@media (max-width: 640px){.faqs-title{font-size:2rem}.faqs-stats-grid{grid-template-columns:1fr}}.ml-2{margin-left:.5rem}.mb-4{margin-bottom:1rem}.mx-auto{margin-left:auto;margin-right:auto}.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-lg{font-size:1.125rem}:root{--primary-green: #10B981;--dark-green: #047857;--light-green: #34D399;--accent-green: #A7F3D0;--text-dark: #1F2937;--text-light: #6B7280;--white: #FFFFFF;--border-radius: 12px;--shadow-lg: 0 20px 50px rgba(0, 0, 0, .15);--transition: all .3s ease}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);min-height:100vh;overflow-x:hidden}.header,header,.navbar,.top-navigation{position:fixed;top:0;left:0;right:0;width:100vw;background:linear-gradient(135deg,#3e9842,#3e9842);box-shadow:0 4px 20px #10b9814d;z-index:100;padding:0;margin:0;border-bottom:3px solid var(--light-green)}.header-container,.nav-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;height:70px}.header .logo,.header .brand,.navbar .logo,.navbar .brand{font-size:2.7rem;font-weight:800;color:var(--white);text-decoration:none;letter-spacing:-.5px;position:relative;transition:var(--transition)}.header .logo:hover,.header .brand:hover,.navbar .logo:hover,.navbar .brand:hover{transform:scale(1.05);text-shadow:0 2px 10px rgba(255,255,255,.3)}.header .logo:after,.header .brand:after,.navbar .logo:after,.navbar .brand:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-green);transition:width .3s ease}.header .logo:hover:after,.header .brand:hover:after,.navbar .logo:hover:after,.navbar .brand:hover:after{width:100%}.header-nav,.nav-links,.navigation-menu{display:flex;align-items:center;gap:2rem;list-style:none}.header-nav a,.nav-links a,.navigation-menu a{color:var(--white);text-decoration:none;font-weight:600;font-size:1rem;padding:.5rem 1rem;border-radius:8px;transition:var(--transition);position:relative;text-transform:uppercase;letter-spacing:.5px}.header-nav a:hover,.nav-links a:hover,.navigation-menu a:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 15px #fff3}.header-nav a.active,.nav-links a.active,.navigation-menu a.active{background:var(--accent-green);color:var(--dark-green);font-weight:700}.header-user,.user-info{display:flex;align-items:center;gap:1rem;color:var(--white);font-weight:600}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-green);display:flex;align-items:center;justify-content:center;color:var(--dark-green);font-weight:700;text-transform:uppercase}body{padding-top:70px}.footer,footer{width:100vw;background:linear-gradient(135deg,#3e9842,#3e9842);color:var(--white);padding:3rem 0 1.5rem;margin-top:4rem;position:relative;border-top:3px solid var(--light-green)}.footer-container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3{color:var(--accent-green);font-size:1.2rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.footer-section p,.footer-section a{color:#ffffffe6;text-decoration:none;line-height:1.6;transition:var(--transition)}.footer-section a:hover{color:var(--accent-green);transform:translate(5px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;text-align:center;color:#fffc;font-size:.9rem}.hero-logo-container{display:flex;justify-content:flex-start;margin-bottom:2rem;animation:logoFadeIn 1.2s ease-out}.hero-logo{width:300px;height:auto;max-height:250px;border-radius:12px;box-shadow:0 8px 25px #00000026;object-fit:contain;background:var(--white);padding:8px;border:3px solid rgba(16,185,129,.2)}.hero-container{display:flex;align-items:flex-start;justify-content:space-between;max-width:1400px;width:95%;margin:2rem auto;padding:4rem 3rem 2rem;min-height:80vh;gap:5rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:20px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:.5s}.hero-container:hover:before{transform:translate(100%)}.hero-content{flex:1;max-width:700px;animation:slideInLeft 1s ease-out;display:flex;flex-direction:column;height:100%}.hero-title{font-size:clamp(2.5rem,6vw,4.8rem);font-weight:800;line-height:1.1;color:var(--primary-green);margin-bottom:1.5rem;position:relative}.hero-title:before{content:"";position:absolute;top:-10px;left:-10px;width:60px;height:60px;background:linear-gradient(45deg,var(--accent-green),transparent);border-radius:50%;z-index:-1;animation:pulse 2s infinite}.highlight{background:linear-gradient(135deg,var(--primary-green),var(--light-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--dark-green);font-weight:600;margin-bottom:3rem;position:relative;padding-left:20px}.hero-subtitle:before{content:"✨";position:absolute;left:0;top:0;animation:sparkle 1.5s ease-in-out infinite}.guest-actions{margin-top:1.5rem;padding:1.5rem;background:#10b9810d;border-radius:12px;border-left:4px solid var(--primary-green)}.guest-actions-text{color:var(--text-dark);font-weight:500;margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.guest-actions i{color:var(--primary-green);font-size:1.2rem}.register-link-btn,.login-link-btn,.register-encourage-btn,.inline-login-btn{background:none;border:none;color:var(--primary-green);font-weight:600;text-decoration:underline;cursor:pointer;transition:var(--transition);padding:.2rem .4rem;border-radius:4px;font-size:inherit}.register-link-btn:hover,.login-link-btn:hover,.register-encourage-btn:hover,.inline-login-btn:hover{background:var(--primary-green);color:var(--white);text-decoration:none;transform:translateY(-1px)}.guest-notice{background:linear-gradient(135deg,#10b9811a,#34d3990d);border:1px solid rgba(16,185,129,.2);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;color:var(--dark-green);font-weight:500}.guest-notice i{color:var(--primary-green);font-size:1.2rem}.guest-encouragement{margin-top:1.5rem;padding:1rem;background:#10b9810d;border-radius:8px;text-align:center}.guest-encouragement p{color:var(--text-dark);font-weight:500;margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.guest-encouragement i{color:var(--primary-green)}.hero-visual{flex:1;display:flex;align-items:flex-start;justify-content:center;position:relative;animation:slideInRight 1s ease-out;padding-top:2rem}.bus-container{position:relative;width:280px;height:200px;transform:translateY(-30px)}.bus-icon{width:100%;height:100%;fill:var(--primary-green);filter:drop-shadow(0 10px 30px rgba(16,185,129,.3));animation:busMove 3s ease-in-out infinite}.road{position:absolute;bottom:-20px;left:-50px;right:-50px;height:8px;background:linear-gradient(90deg,var(--text-light) 0%,var(--text-light) 45%,transparent 45%,transparent 55%,var(--text-light) 55%,var(--text-light) 100%);background-size:40px 8px;animation:roadMove 1s linear infinite;border-radius:4px}.clouds{position:absolute;top:-10px;left:0;right:0;height:60px}.cloud{position:absolute;background:#fffc;border-radius:50px;opacity:.6}.cloud:before,.cloud:after{content:"";position:absolute;background:#fffc;border-radius:50px}.cloud1{width:50px;height:20px;top:0;left:0;animation:cloudFloat 8s ease-in-out infinite}.cloud1:before{width:25px;height:25px;top:-12px;left:10px}.cloud1:after{width:30px;height:20px;top:-8px;right:8px}.cloud2{width:40px;height:15px;top:10px;right:20px;animation:cloudFloat 6s ease-in-out infinite reverse}.cloud2:before{width:20px;height:20px;top:-10px;left:8px}.cloud2:after{width:25px;height:15px;top:-6px;right:6px}.speed-lines{position:absolute;right:-30px;top:50%;transform:translateY(-50%);opacity:0;animation:speedLines 3s ease-in-out infinite}.speed-line{width:30px;height:2px;background:var(--light-green);margin:5px 0;border-radius:1px}.speed-line:nth-child(2){width:25px;animation-delay:.1s}.speed-line:nth-child(3){width:20px;animation-delay:.2s}.hero-content .bus-search-container,.hero-content>div:last-child{width:150%;max-width:none;margin:0 auto;position:relative;left:5%}.bus-search-card,.search-form-container,.bus-search-wrapper{width:100%!important;max-width:none!important;background:var(--white);padding:2rem;border-radius:16px;box-shadow:0 10px 40px #0000001a;border:1px solid rgba(16,185,129,.1);margin-top:2rem;position:relative;overflow:hidden}.bus-search-card:before,.search-form-container:before,.bus-search-wrapper:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.03),transparent);transition:left .8s ease}.bus-search-card:hover:before,.search-form-container:hover:before,.bus-search-wrapper:hover:before{left:100%}.search-form-container .ant-form,.bus-search-wrapper .ant-form,.search-form-container form,.bus-search-wrapper form{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1.5rem;align-items:end}.search-form-container .ant-form-item,.bus-search-wrapper .ant-form-item,.search-form-container .form-group,.bus-search-wrapper .form-group{margin-bottom:0!important}.search-form-container .search-button,.bus-search-wrapper .search-button,.search-form-container button[type=submit],.bus-search-wrapper button[type=submit]{min-width:140px;height:52px;background:linear-gradient(135deg,var(--primary-green),var(--light-green));color:var(--white);border:none;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px #10b9814d;display:flex;align-items:center;justify-content:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.search-form-container .search-button:hover,.bus-search-wrapper .search-button:hover,.search-form-container button[type=submit]:hover,.bus-search-wrapper button[type=submit]:hover{transform:translateY(-3px);box-shadow:0 8px 25px #10b98166;background:linear-gradient(135deg,var(--dark-green),var(--primary-green))}.hero-content>div:last-child{background:var(--white);padding:2.5rem;border-radius:16px;box-shadow:0 10px 40px #0000001a;border:1px solid rgba(16,185,129,.1);margin-top:2rem}.main-content{max-width:1400px;width:95%;margin:0 auto;padding:0 2rem}.search-results-header{display:flex;justify-content:space-between;align-items:center;background:var(--white);padding:2rem 2.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);margin-bottom:2rem;border:1px solid rgba(16,185,129,.1);position:relative;overflow:hidden}.search-results-header:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,var(--primary-green),var(--light-green))}.search-info h3{color:var(--text-dark);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.search-info p{color:var(--text-light);font-size:1rem;font-weight:500}.show-all-button{background:linear-gradient(135deg,var(--primary-green),var(--light-green));color:var(--white);border:none;padding:1rem 2rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px #10b9814d;text-transform:uppercase;letter-spacing:.5px}.show-all-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98166;background:linear-gradient(135deg,var(--dark-green),var(--primary-green))}.date-selector-container{background:var(--white);border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(16,185,129,.1)}.date-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 5px}.date-selector-title{color:var(--text-light);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.results-count{color:var(--text-dark);font-size:16px;font-weight:700}.date-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;width:100%}.date-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;min-height:120px;border:2px solid #E5E7EB;border-radius:12px;background:var(--white);cursor:pointer;transition:all .3s ease;font-family:inherit;overflow:hidden}.date-button:hover:not(.no-buses):not(.active){border-color:var(--light-green);background:linear-gradient(135deg,#10b98108,#34d39908);transform:translateY(-2px);box-shadow:0 6px 20px #10b98126}.date-button.active{background:linear-gradient(135deg,var(--primary-green) 0%,var(--light-green) 100%);border-color:var(--primary-green);color:var(--white);box-shadow:0 6px 25px #10b98159;transform:translateY(-1px)}.date-button.cheapest:not(.active){border-color:#fcd34d;background:linear-gradient(135deg,#fcd34d14,#fbbf240d)}.date-button.no-buses{opacity:.6;background:#f9fafb;border-color:#e5e7eb;cursor:pointer}.date-button.no-buses:hover{opacity:.8;border-color:#d1d5db;background:#f3f4f6;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.cheapest-badge{position:absolute;top:4px;right:4px;font-size:16px;animation:bounce 2s infinite}.today-badge{position:absolute;top:4px;left:4px;background:#ef4444;color:var(--white);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.date-weekday{font-size:12px;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.date-button.active .date-weekday{color:#ffffffe6}.date-day{font-size:24px;font-weight:700;color:var(--text-dark);line-height:1;margin-bottom:2px}.date-button.active .date-day{color:var(--white)}.date-month{font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:8px}.date-button.active .date-month{color:#ffffffe6}.date-price{font-size:14px;font-weight:700;color:var(--primary-green);margin-top:4px;padding:4px 8px;background:#10b98114;border-radius:6px}.date-button.active .date-price{color:var(--white);background:#fff3}.date-button.cheapest .date-price{color:#f59e0b;background:#fbbf241a}.date-button.active.cheapest .date-price{color:var(--white);background:#ffffff40}.date-no-price{font-size:18px;color:#d1d5db;margin-top:4px}.sort-options{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #E5E7EB;align-items:center}.sort-label{color:var(--text-light);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}.sort-button{padding:8px 16px;border:1px solid #E5E7EB;border-radius:8px;background:var(--white);color:var(--text-light);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.sort-button:hover{border-color:var(--light-green);color:var(--primary-green);background:#10b9810d}.sort-button.active{background:var(--primary-green);color:var(--white);border-color:var(--primary-green)}.loading-container{display:flex;justify-content:center;align-items:center;padding:4rem 0}.loading-spinner{color:var(--primary-green);font-size:1.3rem;font-weight:600;position:relative;padding-left:40px}.loading-spinner:after{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:24px;height:24px;border:3px solid var(--accent-green);border-top:3px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite}.bus-list{display:grid;gap:2rem;margin-bottom:3rem}.no-buses-container{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center}.no-search-results,.no-buses{background:var(--white);padding:3rem 2.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:600px;border:1px solid rgba(16,185,129,.1);position:relative}.no-search-results:before,.no-buses:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--primary-green),var(--light-green));border-radius:var(--border-radius) var(--border-radius) 0 0}.no-search-results h3,.no-buses h3{color:var(--text-dark);margin-bottom:1rem;font-size:1.6rem;font-weight:700}.no-search-results p,.no-buses p{color:var(--text-light);margin-bottom:1.5rem;line-height:1.6;font-size:1.1rem}.bus-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin:3rem 0}.stats-item{background:var(--white);padding:2.5rem;border-radius:var(--border-radius);text-align:center;box-shadow:var(--shadow-lg);border:1px solid rgba(16,185,129,.1);transition:var(--transition);position:relative;overflow:hidden}.stats-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--primary-green),var(--light-green))}.stats-item:hover{transform:translateY(-8px);box-shadow:0 20px 50px #00000026}.stats-number{display:block;font-size:3rem;font-weight:800;color:var(--primary-green);margin-bottom:.5rem;text-shadow:0 2px 4px rgba(16,185,129,.1)}.stats-label{color:var(--text-light);font-weight:600;text-transform:uppercase;font-size:.95rem;letter-spacing:.5px}.guest-cta{background:linear-gradient(135deg,#10b9810d,#34d39905);border-radius:20px;padding:3rem 2rem;margin:3rem 0;text-align:center;border:1px solid rgba(16,185,129,.1);position:relative;overflow:hidden}.guest-cta:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(16,185,129,0.1)"/><circle cx="80" cy="30" r="1" fill="rgba(52,211,153,0.1)"/><circle cx="40" cy="70" r="1.5" fill="rgba(167,243,208,0.1)"/></svg>');pointer-events:none}.cta-content{position:relative;z-index:1}.guest-cta h3{color:var(--text-dark);font-size:2rem;font-weight:700;margin-bottom:1rem}.guest-cta p{color:var(--text-light);font-size:1.1rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-button{padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:var(--transition);border:2px solid transparent;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px;min-width:160px;justify-content:center}.cta-button.primary{background:linear-gradient(135deg,orange,orange);color:var(--white);box-shadow:0 4px 15px #10b9814d}.cta-button.primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #10b98166;background:linear-gradient(135deg,var(--dark-green),var(--primary-green))}.cta-button.secondary{background:var(--white);color:var(--primary-green);border-color:var(--primary-green);box-shadow:0 4px 15px #0000001a}.cta-button.secondary:hover{background:var(--primary-green);color:var(--white);transform:translateY(-3px);box-shadow:0 8px 25px #10b9814d}.enhanced-date-filter-container{background:var(--white);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(16,185,129,.1);width:100%;overflow:hidden}.enhanced-date-selector{display:flex;gap:.75rem;width:100%;padding:.75rem .5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--light-green) rgba(229,231,235,.3)}@media (min-width: 701px){.enhanced-date-selector{overflow-x:visible;justify-content:center;flex-wrap:nowrap}}@media (max-width: 700px){.enhanced-date-selector{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;flex-wrap:nowrap;gap:.6rem;padding:.75rem .25rem}}@media (max-width: 500px){.enhanced-date-selector{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;flex-wrap:nowrap;gap:.5rem;padding:.5rem .1rem}}.enhanced-date-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .75rem;border:2px solid #E5E7EB;border-radius:12px;background:var(--white);cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap;flex-shrink:0;flex-grow:0;scroll-snap-align:center;min-width:100px;width:100px;max-width:100px;min-height:110px}@media (max-width: 700px){.enhanced-date-button{min-width:85px;width:85px;max-width:85px;min-height:100px;padding:.8rem .6rem}}@media (max-width: 500px){.enhanced-date-button{min-width:75px;width:75px;max-width:75px;min-height:90px;padding:.7rem .5rem}}@media (max-width: 400px){.enhanced-date-button{min-width:65px;width:65px;max-width:65px;min-height:80px;padding:.5rem .3rem}}.enhanced-date-button:hover:not(.active){border-color:var(--light-green);background:linear-gradient(135deg,#10b9810d,#34d39908);transform:translateY(-2px);box-shadow:0 6px 20px #10b98126}.enhanced-date-button.active{background:linear-gradient(135deg,var(--primary-green) 0%,var(--light-green) 100%);border-color:var(--primary-green);color:var(--white);box-shadow:0 6px 25px #10b98159;transform:translateY(-1px)}.enhanced-date-button.no-buses{opacity:.6;background:#f9fafb;border-color:#e5e7eb;cursor:pointer}.enhanced-date-button.no-buses:hover{opacity:.8;border-color:#d1d5db;background:#f3f4f6;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.enhanced-date-weekday{font-size:11px;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.enhanced-date-button.active .enhanced-date-weekday{color:#ffffffe6}.enhanced-date-day{font-size:20px;font-weight:700;color:var(--text-dark);line-height:1;margin-bottom:2px}.enhanced-date-button.active .enhanced-date-day{color:var(--white)}.enhanced-date-month{font-size:11px;font-weight:600;color:var(--text-light);margin-bottom:8px}.enhanced-date-button.active .enhanced-date-month{color:#ffffffe6}.enhanced-date-price{font-size:12px;font-weight:700;color:var(--primary-green);padding:3px 8px;background:#10b98114;border-radius:6px;min-width:40px;text-align:center}.enhanced-date-button.active .enhanced-date-price{color:var(--white);background:#fff3}.enhanced-date-button.no-buses .enhanced-date-price{color:#9ca3af;background:#9ca3af1a;font-size:14px}.enhanced-today-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:var(--white);font-size:8px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 700px){.enhanced-date-day{font-size:18px}.enhanced-date-weekday,.enhanced-date-month{font-size:10px}.enhanced-date-price{font-size:11px;padding:2px 6px}.enhanced-today-badge{font-size:7px;padding:1px 4px}}@media (max-width: 500px){.enhanced-date-day{font-size:16px}.enhanced-date-weekday,.enhanced-date-month{font-size:9px}.enhanced-date-price{font-size:10px;padding:2px 4px}}@media (max-width: 400px){.enhanced-date-day{font-size:14px}.enhanced-date-weekday,.enhanced-date-month{font-size:8px}.enhanced-date-price{font-size:9px;padding:1px 4px}.enhanced-today-badge{font-size:6px;padding:1px 3px}}.enhanced-date-selector::-webkit-scrollbar{height:6px}.enhanced-date-selector::-webkit-scrollbar-track{background:#e5e7eb4d;border-radius:3px;margin:0 .5rem}.enhanced-date-selector::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--light-green),var(--primary-green));border-radius:3px;border:1px solid rgba(255,255,255,.2)}.enhanced-date-selector::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--primary-green),var(--dark-green))}.enhanced-quick-filters{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid #E5E7EB;flex-wrap:wrap}.enhanced-filter-label{color:var(--text-light);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:.5rem;flex-shrink:0}.enhanced-filter-buttons{display:flex;gap:.75rem;flex-wrap:wrap}@media (max-width: 700px){.enhanced-quick-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.enhanced-filter-buttons{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.6rem;flex-wrap:nowrap;padding-bottom:.25rem}}.enhanced-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #E5E7EB;border-radius:8px;background:var(--white);color:var(--text-light);font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;white-space:nowrap}@media (max-width: 700px){.enhanced-filter-btn{min-width:75px;padding:.6rem .8rem;font-size:11px}}@media (max-width: 500px){.enhanced-filter-btn{min-width:70px;padding:.5rem .6rem;font-size:10px}}.enhanced-filter-btn:hover{border-color:var(--light-green);color:var(--primary-green);background:#10b9810d;transform:translateY(-1px)}.enhanced-filter-btn.active{background:var(--primary-green);color:var(--white);border-color:var(--primary-green);box-shadow:0 4px 12px #10b9814d}.enhanced-filter-btn.enhanced-clear-btn{background:#fef2f2;color:#ef4444;border-color:#fecaca}.enhanced-filter-btn.enhanced-clear-btn:hover{background:#ef4444;color:var(--white);border-color:#ef4444}.enhanced-filter-btn i{font-size:14px}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes busMove{0%,to{transform:translateY(-30px) rotate(0)}25%{transform:translateY(-35px) rotate(-1deg)}50%{transform:translateY(-38px) rotate(0)}75%{transform:translateY(-33px) rotate(1deg)}}@keyframes roadMove{0%{background-position:0 0}to{background-position:40px 0}}@keyframes cloudFloat{0%,to{transform:translate(0)}50%{transform:translate(20px)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}}@keyframes speedLines{0%,70%{opacity:0;transform:translate(0)}80%,90%{opacity:1;transform:translate(-10px)}to{opacity:0;transform:translate(-20px)}}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 1200px){.date-selector{overflow-x:auto;display:flex;gap:10px;padding-bottom:10px}.date-selector::-webkit-scrollbar{height:6px}.date-selector::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.date-selector::-webkit-scrollbar-thumb{background:var(--light-green);border-radius:3px}.date-selector::-webkit-scrollbar-thumb:hover{background:var(--primary-green)}.date-button{flex:0 0 140px;min-width:140px}}@media (max-width: 1024px){.header-container,.nav-container{padding:1rem 1.5rem}.hero-container{padding:3rem 2rem;gap:4rem;max-width:95%}.main-content{padding:0 1.5rem;max-width:95%}.bus-container{width:260px;height:180px;transform:translateY(-20px)}.hero-content .bus-search-container,.hero-content>div:last-child{width:120%;left:-10%}.hero-logo{width:250px;max-height:208px}}@media (max-width: 768px){.header-container,.nav-container{padding:1rem;height:60px}.header .logo,.header .brand,.navbar .logo,.navbar .brand{font-size:1.5rem}.header-nav,.nav-links,.navigation-menu{gap:1rem}.header-nav a,.nav-links a,.navigation-menu a{font-size:.9rem;padding:.4rem .8rem}body{padding-top:60px}.hero-container{flex-direction:column;text-align:center;padding:2rem 1.5rem;gap:3rem;min-height:auto;align-items:center;max-width:95%}.hero-content{max-width:100%}.hero-logo-container{justify-content:center;margin-bottom:1.5rem}.hero-logo{width:225px;max-height:188px}.hero-content .bus-search-container,.hero-content>div:last-child{width:104%;left:-2%}.search-form-container .ant-form,.bus-search-wrapper .ant-form,.search-form-container form,.bus-search-wrapper form{grid-template-columns:1fr;gap:1rem}.search-form-container .ant-form-item,.bus-search-wrapper .ant-form-item,.search-form-container .form-group,.bus-search-wrapper .form-group{width:100%}.hero-visual{align-items:center}.bus-container{width:220px;height:140px;transform:translateY(-10px)}.main-content{padding:0 1rem;max-width:95%}.search-results-header{flex-direction:column;gap:1.5rem;text-align:center;padding:2rem 1.5rem}.date-selector-container{padding:15px}.date-selector{overflow-x:auto;display:flex;gap:8px}.date-button{flex:0 0 120px;min-width:120px;padding:12px 6px;min-height:100px}.date-day{font-size:20px}.date-price{font-size:12px;padding:2px 6px}.sort-options{flex-wrap:wrap;gap:8px}.sort-button{padding:6px 12px;font-size:12px}.bus-stats{grid-template-columns:1fr;gap:1.5rem}.footer-container{padding:0 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem}.guest-cta{padding:2rem 1.5rem}.cta-buttons{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:280px}}@media (max-width: 700px){body{padding-top:60px;padding-left:0;padding-right:0}.header,header,.navbar,.top-navigation{padding:0}.header-container,.nav-container{padding:.5rem .75rem;height:60px}.hero-container{width:100%;max-width:100%;margin:0;padding:1rem .5rem;gap:1.5rem;border-radius:0}.hero-content{padding:0}.hero-logo-container{margin-bottom:1rem}.bus-search-card,.search-form-container,.bus-search-wrapper,.hero-content .bus-search-container,.hero-content>div:last-child{width:100%;max-width:100%;left:0;padding:1rem .5rem;margin:0;border-radius:8px}.main-content{width:100%;max-width:100%;padding:0;margin:0}.search-results-header{padding:1rem .5rem;margin:0 0 .5rem;border-radius:0}.date-selector-container,.enhanced-date-filter-container{padding:.75rem .25rem;margin:0 0 .5rem;border-radius:0}.enhanced-date-selector{padding:.5rem .25rem;gap:.4rem}.enhanced-date-button{min-width:70px;width:70px;max-width:70px;min-height:85px;padding:.5rem .25rem}.enhanced-quick-filters{padding:.5rem .25rem;gap:.5rem}.enhanced-filter-buttons{padding:0 .25rem .25rem;gap:.4rem}.enhanced-filter-btn{padding:.5rem .6rem;font-size:10px;min-width:65px}.bus-list{gap:.5rem;margin-bottom:1rem}.bus-stats{gap:.5rem;margin:1rem 0}.stats-item{padding:1.5rem 1rem;border-radius:0}.guest-cta{padding:1.5rem .75rem;margin:1rem 0;border-radius:0}.footer,footer{padding:2rem 0 1rem;margin-top:2rem}.footer-container{padding:0 .5rem}.footer-content{gap:1rem}.no-buses-container{padding:2rem .5rem}.no-search-results,.no-buses{padding:2rem 1rem;border-radius:0}.guest-actions{padding:1rem .5rem;margin-top:1rem;border-radius:8px}.guest-notice{padding:.75rem .5rem;margin-bottom:1rem;border-radius:8px}.guest-encouragement{padding:.75rem .5rem;margin-top:1rem;border-radius:8px}.sort-options{padding-top:.5rem;gap:.5rem;flex-wrap:wrap}.sort-button{padding:.5rem .75rem;font-size:11px}.loading-container{padding:2rem .5rem}.cta-buttons{gap:.75rem}.cta-button{padding:.75rem 1rem;width:100%;max-width:100%}.search-form-container .ant-form,.bus-search-wrapper .ant-form,.search-form-container form,.bus-search-wrapper form{gap:.75rem}.search-form-container .search-button,.bus-search-wrapper .search-button,.search-form-container button[type=submit],.bus-search-wrapper button[type=submit]{height:48px;font-size:1rem;padding:.75rem}.bus-container{width:160px;height:100px;transform:translateY(0)}.hero-visual{padding-top:0}.bus-search-card:before,.search-form-container:before,.bus-search-wrapper:before{display:none}.hero-title{margin-bottom:1rem}.hero-subtitle{margin-bottom:1.5rem;padding-left:0}}@media (max-width: 500px){.header-container,.nav-container{padding:.5rem}.hero-container{padding:.75rem .25rem}.bus-search-card,.search-form-container,.bus-search-wrapper,.hero-content>div:last-child{padding:.75rem .25rem}.search-results-header{padding:.75rem .25rem}.date-selector-container,.enhanced-date-filter-container{padding:.5rem .1rem}.enhanced-date-selector{padding:.25rem .1rem;gap:.3rem}.enhanced-date-button{min-width:60px;width:60px;max-width:60px;min-height:75px;padding:.4rem .2rem}.guest-cta{padding:1.25rem .5rem}.stats-item{padding:1.25rem .75rem}}@media (max-width: 400px){.header-container,.nav-container{padding:.25rem .5rem}.hero-container{padding:.5rem .1rem}.bus-search-card,.search-form-container,.bus-search-wrapper,.hero-content>div:last-child{padding:.5rem .25rem}.enhanced-date-button{min-width:55px;width:55px;max-width:55px;min-height:70px;padding:.3rem .15rem}.footer-container{padding:0 .25rem}}@media (max-width: 480px){.header-nav,.nav-links,.navigation-menu{display:none}.header-container,.nav-container{justify-content:center}.hero-container{padding:1.5rem 1rem;margin:1rem auto;gap:2rem;max-width:95%}.hero-logo{width:200px;max-height:167px}.hero-content .bus-search-container,.hero-content>div:last-child{width:115%;padding:1.5rem;left:-7.5%}.bus-container{width:180px;height:110px;transform:translateY(0)}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem;margin-bottom:2rem}.date-selector-container{padding:12px}.date-selector-header{margin-bottom:15px}.date-selector{gap:6px}.date-button{flex:0 0 100px;min-width:100px;padding:10px 4px;min-height:90px}.date-weekday{font-size:10px}.date-day{font-size:18px}.date-month{font-size:10px}.date-price{font-size:11px;padding:2px 4px}.cheapest-badge{font-size:12px}.today-badge{font-size:8px;padding:1px 4px}.stats-item{padding:2rem 1.5rem}.stats-number{font-size:2.5rem}.main-content{padding:0 .5rem}.guest-cta{padding:2rem 1rem;margin:2rem 0}.guest-cta h3{font-size:1.5rem}}@media (max-width: 800px){.hero-visual{display:none}}.hero-logo-container,.hero-logo{display:none}.hero-container{display:flex;align-items:flex-start;justify-content:space-between;max-width:1400px;width:100%;margin:0 auto;padding:4rem 3rem 2rem;min-height:80vh;gap:5rem;background-image:url(/images/homebackground.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll;border-radius:0;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffbf;pointer-events:none}.hero-content{flex:1;max-width:700px;animation:slideInLeft 1s ease-out;display:flex;flex-direction:column;height:100%;position:relative;z-index:1}.hero-title{color:#047857!important;text-shadow:1px 1px 2px rgba(255,255,255,.8),0 0 10px rgba(255,255,255,.6)}.hero-subtitle{color:#047857!important;text-shadow:1px 1px 2px rgba(255,255,255,.8),0 0 8px rgba(255,255,255,.5)}.highlight{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;background-clip:unset!important;color:#047857!important;text-shadow:1px 1px 2px rgba(255,255,255,.8),0 0 10px rgba(255,255,255,.6)}.hero-visual{display:none!important}.bus-container,.bus-icon,.road,.clouds,.cloud,.speed-lines{display:none}@media (max-width: 1024px){.hero-container{padding:3rem 2rem;gap:4rem;width:100%;max-width:100%;margin:0 auto}}@media (max-width: 768px){.hero-container{flex-direction:column;text-align:center;padding:2rem 1.5rem;gap:3rem;min-height:auto;align-items:center;width:100%;max-width:100%;margin:0 auto}.hero-content{max-width:100%}}@media (max-width: 700px){.hero-container{width:100%;max-width:100%;margin:0 auto;padding:1rem .5rem;gap:1.5rem;border-radius:0}}@media (max-width: 480px){.hero-container{padding:1.5rem 1rem;margin:0 auto;gap:2rem;width:100%;max-width:100%}}@media (max-width: 800px){.hero-visual{display:none!important}}@media (max-width: 768px){.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;padding:0 .5rem}.hero-content .bus-search-container,.hero-content>div:last-child{width:100%!important;max-width:100%!important;left:0!important;right:0!important;margin:1rem auto 0;padding:1.5rem 1rem}.bus-search-card,.search-form-container,.bus-search-wrapper{width:100%!important;max-width:100%!important;margin:0 auto;display:flex;flex-direction:column;align-items:center}.search-form-container .ant-form,.bus-search-wrapper .ant-form,.search-form-container form,.bus-search-wrapper form{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.search-form-container .ant-form-item,.bus-search-wrapper .ant-form-item,.search-form-container .form-group,.bus-search-wrapper .form-group{width:100%!important;max-width:100%}.search-form-container .search-button,.bus-search-wrapper .search-button,.search-form-container button[type=submit],.bus-search-wrapper button[type=submit]{width:100%;max-width:100%}.guest-actions{width:100%;text-align:center;margin:1rem auto;padding:1rem}.guest-actions-text{justify-content:center;text-align:center}.guest-notice{width:100%;margin:0 auto 1rem;justify-content:center;text-align:center}.guest-encouragement{width:100%;text-align:center;margin:1rem auto}.guest-encouragement p{justify-content:center}}@media (max-width: 480px){.hero-content .bus-search-container,.hero-content>div:last-child{width:100%!important;left:0!important;padding:1rem .75rem}}.bus-form-modal{z-index:1000;position:relative}.bus-form-modal .ant-modal-content{border-radius:16px;overflow:hidden;box-shadow:0 20px 40px #00000026;position:relative;z-index:1001}.bus-form-modal .ant-modal-header{background:linear-gradient(135deg,#40a944,#4ade80);border-bottom:none;padding:24px 32px;border-radius:16px 16px 0 0}.bus-form-modal .ant-modal-title{color:#fff!important}.bus-form-modal .ant-modal-close{color:#fff;background:#fff3;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.bus-form-modal .ant-modal-close:hover{background:#ffffff4d}.modal-header{display:flex;align-items:center;justify-content:space-between;color:#fff}.modal-header .ant-typography{color:#fff!important}.bus-form-modal .ant-modal-body{padding:0;overflow:visible!important;position:relative;z-index:1002}.bus-form-container{padding:32px;background:#fafbfc;min-height:600px;max-height:80vh;overflow-y:auto;overflow-x:visible;position:relative}.ant-steps{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e1e5e9}.ant-steps-item-finish .ant-steps-item-icon,.ant-steps-item-active .ant-steps-item-icon{background-color:#40a944!important;border-color:#40a944!important}.ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon,.ant-steps-item-active .ant-steps-item-icon .ant-steps-icon{color:#fff!important}.step-content{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000f;border:1px solid #e1e5e9;min-height:500px;position:relative;overflow:visible!important;z-index:1003}.form-step{display:flex;flex-direction:column;gap:24px}.step-header{text-align:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #f1f3f4}.step-header .ant-typography-title{color:#40a944!important;margin-bottom:8px!important}.step-header .ant-typography{font-size:16px;line-height:1.5;color:#6b7280!important}.bus-form-modal .ant-form-item{margin-bottom:24px;overflow:visible;position:relative;z-index:1004}.bus-form-modal .ant-form-item-label>label{font-weight:600;font-size:14px;color:#374151;height:auto}.bus-form-modal .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before{color:#ef4444}.bus-form-modal .ant-input,.bus-form-modal .ant-input-number,.bus-form-modal .ant-picker{border-radius:8px!important;border:2px solid #e5e7eb!important;transition:all .3s ease!important;font-size:14px}.bus-form-modal .ant-input:focus,.bus-form-modal .ant-input-focused,.bus-form-modal .ant-input-number:focus,.bus-form-modal .ant-input-number-focused,.bus-form-modal .ant-picker:focus,.bus-form-modal .ant-picker-focused{border-color:#40a944!important;box-shadow:0 0 0 3px #40a9441a!important}.bus-form-modal .ant-input:hover,.bus-form-modal .ant-input-number:hover,.bus-form-modal .ant-picker:hover{border-color:#40a944!important}.bus-form-modal .ant-picker{width:100%;height:40px;padding:8px 12px;position:relative;z-index:1005}.bus-form-modal .ant-picker-focused .ant-picker-dropdown{z-index:10006!important}.bus-form-modal .ant-picker-input input{font-size:14px;color:#374151}.bus-form-modal .ant-picker-suffix{color:#40a944}.ant-picker-dropdown,.ant-select-dropdown{background-color:#fff!important;opacity:1!important;z-index:10007!important;position:absolute!important;top:100%!important;left:0!important;transform:none!important;max-height:300px!important;overflow-y:auto!important;box-shadow:0 8px 24px #00000026!important;border-radius:8px!important;border:1px solid #e1e5e9!important}.ant-picker-panel{background-color:#fff!important;border:none!important}.ant-picker-header{border-bottom:1px solid #f0f0f0;padding:16px}.ant-picker-header button{color:#40a944!important}.ant-picker-header button:hover{color:#369938!important}.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{background-color:#40a944!important;border-color:#40a944!important}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:#40a944!important}.ant-picker-time-panel-column{height:224px;overflow-y:auto}.ant-picker-time-panel-cell-selected{background-color:#40a944!important}.ant-picker-cell,.ant-select-item,.ant-select-item-option{background-color:#fff!important}.ant-select-item-option-selected{background-color:#f0f9f0!important;color:#40a944!important}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:24px}.amenity-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s ease;cursor:pointer;position:relative;text-align:center}.amenity-card:hover{border-color:#40a944;transform:translateY(-2px);box-shadow:0 4px 12px #40a94426}.amenity-card .ant-checkbox-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center}.amenity-card .ant-checkbox-wrapper-checked{color:#40a944}.amenity-card .ant-checkbox-wrapper-checked .amenity-card{border-color:#40a944;background:#f0f9f0}.amenity-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-top:8px}.amenity-icon{font-size:32px;margin-bottom:8px;display:block}.amenity-label{font-weight:600;color:#374151;font-size:14px;line-height:1.3}.amenity-checkbox .ant-checkbox{position:absolute;top:12px;right:12px}.amenity-checkbox .ant-checkbox-checked .ant-checkbox-inner{background-color:#40a944!important;border-color:#40a944!important}.amenity-checkbox .ant-checkbox:hover .ant-checkbox-inner{border-color:#40a944!important}.ant-card-small>.ant-card-head{min-height:auto;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#f8fafc}.ant-card-small>.ant-card-body{padding:16px}.ant-card-small{border:1px solid #e1e5e9;border-radius:8px}.form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding:24px 32px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e1e5e9}.form-actions .ant-btn{border-radius:8px!important;font-weight:600!important;height:40px!important;padding:0 24px!important;font-size:14px!important}.form-actions .ant-btn-primary{background:#40a944!important;border-color:#40a944!important;box-shadow:0 2px 8px #40a9444d!important}.form-actions .ant-btn-primary:hover{background:#369938!important;border-color:#369938!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #40a94466!important}.bus-form-modal .ant-form-item-has-error .ant-input,.bus-form-modal .ant-form-item-has-error .ant-input-number,.bus-form-modal .ant-form-item-has-error .ant-picker{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.bus-form-modal .ant-form-item-has-success .ant-input,.bus-form-modal .ant-form-item-has-success .ant-input-number,.bus-form-modal .ant-form-item-has-success .ant-picker{border-color:#10b981!important}.ant-btn-loading{pointer-events:none}.bus-form-modal .ant-input-number{width:100%}.bus-form-modal .ant-input-number-input{font-size:14px;padding:8px 11px}@media (max-width: 1024px){.bus-form-modal{width:95%!important;max-width:1000px!important}.bus-form-container,.step-content{padding:24px}}@media (max-width: 768px){.bus-form-modal{width:95%!important;min-width:auto!important;margin:0 10px}.bus-form-container{padding:16px;max-height:85vh}.step-content{padding:20px 16px;min-height:400px}.form-actions{padding:16px;flex-direction:column;gap:12px}.form-actions .ant-btn{width:100%!important;margin:0!important}.amenities-grid{grid-template-columns:1fr 1fr;gap:12px}.amenity-card{padding:16px}.ant-steps{padding:16px 12px}.ant-steps-item-title{font-size:12px}}@media (max-width: 700px){.bus-form-modal{width:95%!important;min-width:auto!important;margin:0 10px;max-height:95vh}.bus-form-container{padding:20px;max-height:85vh;overflow-y:auto}.step-content{padding:20px 16px;min-height:400px;overflow:visible}.ant-steps{padding:16px 12px;margin-bottom:20px}.ant-steps-item{min-width:auto}.ant-steps-item-title{font-size:12px;line-height:1.2}.ant-steps-item-icon{width:28px;height:28px;line-height:26px}.form-step{gap:20px}.step-header{margin-bottom:24px;padding-bottom:12px}.step-header .ant-typography-title{font-size:20px!important;margin-bottom:6px!important}.step-header .ant-typography{font-size:14px!important}.bus-form-modal .ant-row{margin:0!important}.bus-form-modal .ant-col{padding:0 8px!important;margin-bottom:16px}.bus-form-modal .ant-form-item{margin-bottom:20px}.bus-form-modal .ant-form-item-label>label{font-size:13px;font-weight:600}.bus-form-modal .ant-input,.bus-form-modal .ant-input-number,.bus-form-modal .ant-picker{height:44px!important;font-size:16px!important;border-radius:8px!important}.bus-form-modal .ant-picker{width:100%;min-height:44px}.bus-form-modal .ant-picker-input input{font-size:16px!important;height:42px}.ant-picker-dropdown,.ant-select-dropdown{position:fixed!important;z-index:10007!important;max-height:60vh!important;overflow-y:auto!important;width:90%!important;left:5%!important;background-color:#fff!important}.amenities-grid{grid-template-columns:1fr 1fr;gap:12px}.amenity-card{padding:12px}.amenity-icon{font-size:24px}.amenity-label{font-size:12px}}.intermediate-stop-card{border:1px solid #e1e5e9;border-radius:12px;overflow:hidden}.intermediate-stop-card .ant-card-body{padding:16px}.remove-button-container{display:flex;align-items:flex-end;height:100%;padding-bottom:24px}.remove-intermediate-stop{display:flex;align-items:center;gap:4px;height:32px;padding:4px 8px;border-radius:6px;font-size:12px}@media (max-width: 700px){.intermediate-stop-card{margin-bottom:20px;border-radius:8px}.intermediate-stop-card .ant-card-body{padding:16px 12px}.mobile-intermediate-stop .ant-row{margin:0!important}.mobile-intermediate-stop .ant-col{padding:0 4px!important;margin-bottom:12px}.desktop-intermediate-layout{display:grid!important;grid-template-columns:1fr;gap:12px;align-items:start}.mobile-intermediate-stop .ant-form-item{margin-bottom:12px}.mobile-intermediate-stop .ant-form-item-label{padding-bottom:4px}.mobile-intermediate-stop .ant-form-item-label>label{font-size:13px;font-weight:600;color:#374151}.mobile-intermediate-stop .ant-input,.mobile-intermediate-stop .ant-input-number,.mobile-intermediate-stop .ant-picker{height:40px;font-size:15px;border-radius:6px}.remove-button-col{order:999;margin-top:8px}.remove-button-container{padding-bottom:0;justify-content:center}.remove-intermediate-stop{width:100%;justify-content:center;height:36px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-weight:500}.remove-intermediate-stop:hover{background:#fee2e2;border-color:#fca5a5}.mobile-intermediate-stop+.ant-btn{margin-top:16px;height:44px;font-size:15px;border-radius:8px}}@media (max-width: 700px) and (min-width: 481px){.desktop-intermediate-layout{grid-template-columns:1fr 1fr;gap:16px}.mobile-intermediate-stop .ant-col:first-child{grid-column:1 / -1}.remove-button-col{grid-column:1 / -1;order:999}}@media (max-width: 480px){.intermediate-stop-card{margin-bottom:16px}.intermediate-stop-card .ant-card-body{padding:12px}.desktop-intermediate-layout{grid-template-columns:1fr;gap:10px}.mobile-intermediate-stop .ant-form-item{margin-bottom:10px}.mobile-intermediate-stop .ant-input,.mobile-intermediate-stop .ant-input-number,.mobile-intermediate-stop .ant-picker{height:38px;font-size:14px}.remove-intermediate-stop{height:34px;font-size:12px}}.form-actions{padding:16px;flex-direction:column;gap:12px;position:sticky;bottom:0;background:#fff;box-shadow:0 -2px 8px #0000001a}.form-actions .ant-btn{width:100%!important;height:44px!important;font-size:16px!important;margin:0!important}.bus-form-modal .ant-modal-header{padding:16px 20px}.modal-header .ant-typography{font-size:18px!important}@media (max-width: 480px){.bus-form-modal{width:98%!important;margin:0 4px}.bus-form-container{padding:16px}.step-content{padding:16px 12px}.amenities-grid{grid-template-columns:1fr;gap:10px}.ant-steps{padding:12px 8px}.ant-steps-item-title{font-size:11px}.ant-steps-item-icon{width:24px;height:24px;line-height:22px;font-size:12px}.bus-form-modal .ant-row .ant-col{width:100%!important;flex:none!important}.bus-form-modal .ant-input,.bus-form-modal .ant-input-number,.bus-form-modal .ant-picker{height:40px!important;font-size:15px!important}.step-header .ant-typography-title{font-size:18px!important}}:root{--primary: #40a944;--primary-light: #4ade80;--primary-dark: #15803d;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--background: #f8fafc;--card-bg: #ffffff;--border-color: #e1e5e9;--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--border-radius: 16px;--transition: all .3s ease}.admin-buses-container{max-width:1200px;margin:30px auto;padding:32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background);min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #f1f3f4}.admin-header .page-title,.admin-header h1{color:var(--text-primary);font-size:28px;margin:0;font-weight:600;letter-spacing:-.5px}.add-bus-btn{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:8px;box-shadow:0 2px 12px #40a9444d;text-decoration:none}.add-bus-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #40a94466;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff}.plus-icon{font-size:16px;font-weight:700}.buses-grid{display:flex;flex-direction:column;gap:16px}.bus-card{background:var(--card-bg);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:var(--transition);display:flex;align-items:center;min-height:80px;position:relative}.bus-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.bus-number-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;font-size:18px;font-weight:900;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius) 0 0 var(--border-radius);flex-shrink:0}.bus-main-content{flex:1;padding:16px 20px;display:flex;align-items:center;gap:24px;min-width:0}.bus-info-section{display:flex;flex-direction:column;gap:4px;min-width:200px;flex-shrink:0}.bus-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.bus-route{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-primary);font-weight:600}.route-text{font-weight:700;color:var(--text-primary);font-size:14px}.route-separator{color:var(--primary);margin:0 2px;font-weight:700}.bus-id-inline{font-size:11px;color:var(--primary);font-family:SF Mono,Consolas,Liberation Mono,monospace;font-weight:500;background:#f8fafc;padding:2px 6px;border-radius:4px;border:1px solid #e2e8f0;white-space:nowrap}.bus-all-details{display:flex;align-items:center;gap:20px;flex:1;flex-wrap:wrap;min-width:0}.detail-item{display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap;flex-shrink:0}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-weight:600}.seats-value{color:var(--success)}.seats-value.low{color:var(--warning)}.seats-value.full{color:var(--danger)}.price-value{color:var(--danger);font-weight:700}.bus-actions-inline{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:auto}.action-btn-inline{padding:4px 8px;border-radius:4px;border:none;cursor:pointer;font-size:11px;font-weight:500;transition:var(--transition);white-space:nowrap}.action-btn-inline.edit{background:var(--success);color:#fff}.action-btn-inline.delete{background:var(--danger);color:#fff}.action-btn-inline:hover{transform:translateY(-1px);opacity:.9}.status-select-inline .ant-select-selector{border:1px solid var(--border-color)!important;border-radius:4px!important;min-height:24px!important;font-size:11px!important}.status-select-inline .ant-select-selection-item{font-size:11px!important;line-height:22px!important}.bus-departure-compact{background:#2d3748;color:#fff;padding:16px 20px;border-radius:0 var(--border-radius) var(--border-radius) 0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;text-align:center;flex-shrink:0}.departure-label-compact{font-size:9px;color:#a0aec0;text-transform:lowercase;margin-bottom:4px;letter-spacing:.5px}.departure-time-compact{font-size:16px;font-weight:700;color:#fff;margin-bottom:2px;line-height:1}.departure-date-compact{font-size:11px;color:#a0aec0;font-weight:500}.loading{text-align:center;padding:48px 24px;font-size:16px;color:var(--text-secondary);background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);margin-top:24px}.loading .spinner{border:3px solid #f3f4f6;border-top:3px solid var(--primary);border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite;margin:0 auto 16px}.empty-state{text-align:center;padding:64px 32px;color:var(--text-secondary);background:var(--card-bg);border-radius:12px;margin-top:24px;border:2px dashed var(--border-color)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-state h3{font-size:20px;color:var(--text-primary);margin-bottom:8px;font-weight:600}.empty-state p{font-size:16px;margin:0;color:var(--text-secondary)}@media (max-width: 700px){.admin-buses-container{margin:16px;padding:20px}.admin-header{flex-direction:column;gap:16px;align-items:stretch}.add-bus-btn{width:100%;justify-content:center}.bus-card{flex-direction:column;min-height:auto;max-width:100%}.bus-number-badge{width:100%;height:60px;border-radius:var(--border-radius) var(--border-radius) 0 0;font-size:20px}.bus-main-content{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.bus-info-section{min-width:auto;width:100%}.bus-title{font-size:18px;text-align:center;margin-bottom:8px}.bus-route{justify-content:center;gap:8px;font-size:16px;margin-bottom:12px;padding:8px;background:#f8fafc;border-radius:8px;border:1px solid var(--border-color)}.route-text{font-weight:700;color:var(--text-primary);font-size:16px}.route-separator{color:var(--primary);font-weight:700;font-size:18px}.bus-id-inline{align-self:center;margin-bottom:8px}.bus-all-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:12px}.detail-item{flex-direction:column;align-items:center;text-align:center;padding:8px;background:#f9fafb;border-radius:6px;border:1px solid #f3f4f6;font-size:12px;gap:2px}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.detail-value{font-size:13px;font-weight:700;color:var(--text-primary)}.detail-item:has(.status-select-inline){grid-column:1 / -1}.status-select-inline{width:100%!important}.bus-actions-inline{width:100%;justify-content:center;gap:12px;margin:0}.action-btn-inline{flex:1;padding:8px 16px;font-size:12px;font-weight:600}.bus-departure-compact{border-radius:0 0 var(--border-radius) var(--border-radius);min-width:100%;padding:16px;flex-direction:row;justify-content:space-around;align-items:center;gap:16px}.departure-label-compact,.departure-time-compact,.departure-date-compact{margin:0}.departure-time-compact{font-size:18px}}@media (max-width: 480px){.admin-buses-container{padding:16px;margin:12px}.bus-number-badge{height:50px;font-size:18px}.bus-main-content{padding:12px;gap:10px}.bus-title{font-size:16px}.bus-route{font-size:14px;padding:6px}.route-text{font-size:14px}.route-separator{font-size:16px}.bus-all-details{grid-template-columns:1fr;gap:8px}.detail-item{padding:6px;font-size:11px}.detail-value{font-size:12px}.action-btn-inline{padding:6px 12px;font-size:11px}.bus-departure-compact{padding:12px;flex-direction:column;gap:4px}.departure-time-compact{font-size:16px}}.admin-users-container{max-width:1000px;margin:30px auto;padding:32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f;border:1px solid #e1e5e9;min-height:calc(100vh - 60px)}.page-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #f1f3f4}.page-header h1{display:flex;align-items:center;gap:12px;color:#1a1a1a;font-size:28px;margin:0 0 8px;font-weight:600;letter-spacing:-.5px}.header-icon{width:32px;height:32px;color:#40a944}.page-header p{font-size:16px;color:#64748b;margin:0}.loading-spinner,.error-container{text-align:center;padding:48px 24px;font-size:16px;color:#666;background:#fff;border-radius:12px;border:1px solid #e1e5e9;margin-top:24px}.spinner{border:3px solid #f3f4f6;border-top:3px solid #40a944;border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite;margin:0 auto 16px}.error-container{background:#fff5f5;border:1px solid #fecaca}.error-container h2{color:#dc2626;font-weight:600;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px #00000014;border:1px solid #e5e7eb;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001f;border-color:#d1d5db}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.total-users .stat-icon,.current-month .stat-icon{background:linear-gradient(135deg,#40a944,#40a944);color:#fff;box-shadow:0 2px 12px #40a9444d}.previous-month .stat-icon{background:linear-gradient(135deg,#6b7280,#374151);color:#fff}.growth.positive .stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.growth.negative .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-content h3{font-size:14px;font-weight:500;color:#6b7280;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:24px;font-weight:700;color:#1e293b;margin:0}.users-section{background:#f8fafc;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.section-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.section-header-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.search-container{flex:1;max-width:400px;min-width:250px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;width:18px;height:18px;color:#9ca3af;pointer-events:none;z-index:1}.search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;transition:all .2s ease;outline:none}.search-input:focus{border-color:#40a944;box-shadow:0 0 0 3px #40a9441a}.search-input::placeholder{color:#9ca3af}.clear-search-btn{position:absolute;right:8px;width:24px;height:24px;border:none;background:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9ca3af;transition:all .2s ease}.clear-search-btn:hover{background:#f3f4f6;color:#6b7280}.clear-search-btn svg{width:14px;height:14px}.no-users-found{text-align:center;padding:64px 32px;color:#6b7280;background:#fff;border-radius:12px;margin-top:24px;border:2px dashed #e5e7eb}.no-users-icon{width:48px;height:48px;margin:0 auto 16px;opacity:.6}.no-users-found p{font-size:16px;margin:0 0 12px;color:#374151;font-weight:600}.clear-search-link{background:none;border:none;color:#40a944;font-size:14px;cursor:pointer;text-decoration:underline;padding:0;font-weight:500}.clear-search-link:hover{color:#059669}.users-list{max-height:600px;overflow-y:auto;background:#fff}.user-card{background:#f5f5f5;border-radius:16px;padding:0;border:none;transition:all .3s ease;position:relative;display:flex;align-items:stretch;margin-bottom:12px;overflow:hidden;min-height:80px;cursor:pointer}.user-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.user-card.expanded{background:#f1f5f9;box-shadow:0 8px 32px #0000001f;border:2px solid #40a944}.user-avatar{background:linear-gradient(135deg,#40a944,#40a944);color:#fff;font-size:20px;font-weight:900;width:60px;display:flex;align-items:center;justify-content:center;border-radius:16px 0 0 16px;flex-shrink:0}.user-card-header{flex:1;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:#fff;gap:16px}.user-basic-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-details{flex:1;min-width:0}.user-name{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{display:flex;align-items:center;gap:6px;font-size:13px}.role-icon{width:14px;height:14px}.role-icon.admin{color:#dc2626}.role-icon.vendor{color:#7c3aed}.role-icon.user{color:#059669}.role-text{font-weight:600;padding:2px 8px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.role-text.admin{background:#fef2f2;color:#dc2626}.role-text.vendor{background:#f3f4f6;color:#7c3aed}.role-text.user{background:#ecfdf5;color:#059669}.expand-indicator{display:flex;align-items:center;padding-left:12px;width:40px;height:40px;background:#f8fafc;border-radius:8px;justify-content:center;border:1px solid #e5e7eb}.arrow{font-size:12px;color:#9ca3af;transition:transform .3s ease;-webkit-user-select:none;user-select:none}.arrow.expanded{transform:rotate(180deg);color:#40a944}.user-card-expanded{background:#fff;border-top:1px solid #e5e7eb;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.expanded-content{padding:20px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-row{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.info-icon{width:18px;height:18px;color:#6b7280;margin-top:2px;flex-shrink:0}.info-content{flex:1;display:flex;flex-direction:column;gap:2px}.info-content label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-content span{font-size:14px;font-weight:600;color:#1f2937}@media (max-width: 768px){.admin-users-container{margin:20px;padding:20px}.page-header h1{font-size:24px}.header-icon{width:28px;height:28px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{padding:16px;flex-direction:column;text-align:center;gap:12px}.stat-icon{width:40px;height:40px}.stat-number{font-size:20px}.section-header-content{flex-direction:column;align-items:stretch;gap:16px}.search-container{max-width:none;min-width:auto}.user-card{flex-direction:row;min-height:70px;margin-bottom:8px}.user-avatar{width:50px;height:70px;border-radius:12px 0 0 12px;font-size:16px}.user-card-header{padding:12px 14px;flex-direction:row;align-items:center;gap:8px;min-height:70px}.user-basic-info{gap:8px}.user-details{flex:1;min-width:0}.user-name{font-size:14px;margin-bottom:2px}.user-role{gap:4px}.role-icon{width:12px;height:12px}.role-text{font-size:10px;padding:1px 6px}.expand-indicator{width:32px;height:32px;padding-left:0}.arrow{font-size:10px}.expanded-content{grid-template-columns:1fr;padding:16px;gap:12px}.info-row{padding:10px}.info-icon{width:16px;height:16px}.info-content label{font-size:11px}.info-content span{font-size:13px}}@media (max-width: 480px){.admin-users-container{margin:16px;padding:16px}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{padding:14px;flex-direction:row;text-align:left;gap:12px}.stat-icon{width:36px;height:36px}.stat-number{font-size:18px}.stat-content h3{font-size:12px}.user-card{min-height:65px;margin-bottom:6px}.user-avatar{width:45px;height:65px;font-size:14px}.user-card-header{padding:10px 12px;min-height:65px}.user-name{font-size:13px}.role-text{font-size:9px;padding:1px 4px}.expand-indicator{width:28px;height:28px}.expanded-content{padding:12px;gap:8px}.info-row{padding:8px;flex-direction:column;gap:4px}.info-icon{width:14px;height:14px;align-self:flex-start}.info-content{gap:1px}.info-content label{font-size:10px}.info-content span{font-size:12px}}:root{--primary-green: #10B981;--dark-green: #047857;--light-green: #34D399;--accent-green: #A7F3D0;--text-dark: #1F2937;--text-light: #6B7280;--white: #FFFFFF;--border-radius: 16px;--shadow-lg: 0 10px 40px rgba(0, 0, 0, .1);--transition: all .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.layout-parent{min-height:100vh;display:flex;flex-direction:column;width:100%;background:#ecfdf4}.header{position:sticky;top:0;width:100%;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 20px #0000001a;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid rgba(255,255,255,.2);border-bottom-left-radius:16px;border-bottom-right-radius:16px;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><circle cx="30" cy="30" r="3" fill="white" fill-opacity="0.05"/></svg>');animation:float 15s ease-in-out infinite;pointer-events:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo-section{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.logo{font-size:2rem;font-weight:800;color:var(--white);text-decoration:none;transition:var(--transition);position:relative;letter-spacing:-.5px;margin:0}.logo:hover{transform:scale(1.05);color:var(--accent-green)}.logo:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:3px;background:var(--accent-green);transition:width .3s ease}.logo:hover:after{width:100%}.role{font-size:.85rem;color:#ffffffe6;background:#ffffff26;padding:.25rem .75rem;border-radius:12px;margin-top:.25rem;transition:var(--transition);border:1px solid rgba(255,255,255,.2);margin-bottom:0}.role:hover{background:#ffffff40;transform:scale(1.05)}.menu{display:flex;gap:.5rem;background:#ffffff1a;padding:.5rem;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.menu-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;color:var(--white);font-weight:500;font-size:.9rem;border-radius:12px;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.menu-item:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.menu-item.active-menu-item{background:var(--accent-green);color:var(--dark-green);font-weight:600}.menu-item i{font-size:1.1rem}.mobile-menu-btn{display:none;background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--white);font-size:1.2rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:var(--transition);min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-menu-btn:hover{background:#ffffff4d;transform:scale(1.05)}.sidebar{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:-4px 0 20px #0000004d;z-index:1001;padding:2rem 0;transition:right .3s ease;overflow-y:auto}.sidebar.active{right:0}.sidebar .menu-item{width:100%;justify-content:flex-start;padding:1.25rem 2rem;margin-bottom:.5rem;border-radius:0;font-size:1rem;border-left:4px solid transparent}.sidebar .menu-item:hover{background:#ffffff26;border-left-color:var(--accent-green);transform:none;box-shadow:none}.sidebar .menu-item.active-menu-item{background:#fff3;border-left-color:var(--accent-green);color:var(--white);font-weight:700}.sidebar .menu-item i{font-size:1.2rem;margin-right:.75rem}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:var(--transition)}.sidebar-overlay.active{opacity:1;visibility:visible}.auth-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:var(--transition)}.auth-overlay.show{opacity:1;visibility:visible}.auth-dropdown{position:fixed;top:80px;right:1rem;width:95%;max-width:400px;background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;transform:translateY(-10px);transition:var(--transition)}.auth-dropdown.show{opacity:1;transform:translateY(0)}.auth-dropdown-card{padding:1.5rem}.auth-close{position:absolute;top:.75rem;right:.75rem;background:#ef44441a;border:none;color:#ef4444;font-size:1.1rem;padding:.5rem;border-radius:50%;cursor:pointer;transition:var(--transition)}.auth-close:hover{background:#ef444433;transform:scale(1.1)}.auth-dropdown-card h3{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem;text-align:center}.auth-form-group{margin-bottom:1rem}.auth-input{width:100%;padding:.8rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:var(--transition)}.auth-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #10b9811a}.auth-btn{width:100%;padding:.8rem;background:linear-gradient(135deg,var(--primary-green),var(--light-green));color:var(--white);border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition);margin-top:.5rem}.auth-btn:hover{background:linear-gradient(135deg,var(--dark-green),var(--primary-green));transform:translateY(-2px);box-shadow:0 4px 15px #10b9814d}.auth-switch{text-align:center;font-size:.9rem;color:var(--text-light);margin-top:1rem}.auth-switch button{background:none;border:none;color:var(--primary-green);font-weight:600;cursor:pointer;margin-left:.25rem}.auth-switch button:hover{color:var(--dark-green)}.body{flex:1;width:100%;background:#ecfdf4}.content{max-width:1440px;width:95%;margin:2rem auto;padding:2rem;background:#ecfdf4;border-radius:var(--border-radius);box-shadow:none}@media (max-width: 1200px){.header{padding:1rem 1.5rem}.content{padding:1.5rem;width:95%}.menu{gap:.25rem}.menu-item{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 1024px){.header{padding:1rem}.menu{display:none}.mobile-menu-btn{display:flex}.content{padding:1.5rem;width:95%}.auth-dropdown{top:70px;width:calc(100% - 2rem);right:1rem}}@media (max-width: 768px){.header{padding:.75rem 1rem}.logo{font-size:1.75rem}.role{font-size:.8rem;padding:.2rem .6rem}.sidebar{width:280px}.content{padding:1.5rem;width:calc(100% - 2rem)}}@media (max-width: 480px){.header{padding:.75rem}.logo{font-size:1.6rem}.role{font-size:.75rem}.sidebar{width:260px}.sidebar .menu-item{padding:1rem 1.5rem;font-size:.95rem}.auth-dropdown{top:60px;width:calc(100% - 1rem);right:.5rem}.content{padding:1rem;width:calc(100% - 1rem)}}@media (max-width: 360px){.sidebar{width:240px}.sidebar .menu-item{padding:.875rem 1.25rem;font-size:.9rem}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.header{border-bottom:2px solid var(--white)}.menu-item{border:1px solid var(--white)}.auth-dropdown{border:2px solid var(--text-dark)}}@media print{.header,.sidebar,.auth-dropdown,.menu,.mobile-menu-btn{display:none}.content{box-shadow:none;background:none}}.footer{background:linear-gradient(135deg,#1e7e34,#28a745);color:#fff;padding:0;width:100%;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:3rem 2rem 1.5rem}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.15)}.footer-brand{max-width:280px}.footer-logo{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 1rem;letter-spacing:-.5px}.footer-tagline{color:#ffffffd9;font-size:.95rem;line-height:1.6;margin:0}.footer-heading{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 1.25rem;letter-spacing:.3px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.75rem}.footer-links a,.footer-link-button{color:#ffffffd9;text-decoration:none;font-size:.95rem;transition:color .2s ease;display:inline-block}.footer-link-button{background:none;border:none;padding:0;font:inherit;cursor:pointer;text-align:left}.footer-links a:hover,.footer-link-button:hover{color:#fff}.footer-contact{list-style:none;padding:0;margin:0}.footer-contact li{display:flex;align-items:center;margin-bottom:1rem;gap:.75rem}.footer-icon{font-size:1.1rem;color:#ffffffe6;flex-shrink:0}.footer-contact a{color:#ffffffd9;text-decoration:none;font-size:.95rem;transition:color .2s ease}.footer-contact a:hover{color:#fff}.footer-social{display:flex;gap:.75rem;flex-wrap:wrap}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff26;border-radius:8px;color:#fff;font-size:1.25rem;transition:all .2s ease;cursor:pointer}.social-icon:hover{background:#ffffff40;transform:translateY(-2px)}.social-icon-disabled{opacity:.4;cursor:not-allowed}.social-icon-disabled:hover{background:#ffffff26;transform:none}.social-icon svg{width:20px;height:20px}.footer-bottom{text-align:center;padding-top:1.5rem}.footer-bottom p{color:#ffffffbf;font-size:.9rem;margin:0}@media (max-width: 1024px){.footer-content{grid-template-columns:repeat(2,1fr);gap:2.5rem}.footer-brand{max-width:100%}}@media (max-width: 768px){.footer-container{padding:2.5rem 1.5rem 1.25rem}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-logo{font-size:1.5rem}.footer-heading{font-size:1rem;margin-bottom:1rem}.footer-tagline,.footer-links a,.footer-link-button,.footer-contact a{font-size:.9rem}.footer-bottom{padding-top:1.25rem}.footer-bottom p{font-size:.85rem}}@media (max-width: 480px){.footer-container{padding:2rem 1rem 1rem}.footer-content{gap:1.75rem}.footer-logo{font-size:1.35rem}.social-icon{width:38px;height:38px}.social-icon svg{width:18px;height:18px}}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1 0 auto}:root{--primary-green: #10B981;--dark-green: #047857;--light-green: #34D399;--accent-green: #A7F3D0;--text-dark: #1F2937;--text-light: #6B7280;--text-muted: #9CA3AF;--white: #FFFFFF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--error-red: #EF4444;--error-light: #FEF2F2;--border-radius: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition: all .2s ease}.summary-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1050;padding:1rem;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.summary-modal-container{background:var(--white);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #0000001a,0 8px 10px #0000000a;position:relative;animation:modalSlideIn .3s ease-out}.scroll-indicator{display:none;position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#10b981e6;color:var(--white);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;font-size:16px;animation:bounceArrow 2s infinite;z-index:20;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #10b9814d}.scroll-indicator i{animation:arrowPulse 1.5s ease-in-out infinite}@keyframes bounceArrow{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-8px)}60%{transform:translate(-50%) translateY(-4px)}}@keyframes arrowPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.close-button{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);z-index:10;color:var(--text-light)}.close-button:hover{background:var(--gray-200);color:var(--text-dark);transform:scale(1.05)}.close-button i{font-size:18px}.summary-header{padding:2rem 2rem 1rem;text-align:center;border-bottom:1px solid var(--gray-200)}.summary-header h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0 0 .75rem}.trip-route{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--text-light);font-size:1rem;font-weight:500}.trip-route .city{color:var(--primary-green);font-weight:600}.trip-route i{color:var(--text-muted);font-size:16px}.error-message{margin:1rem 2rem;padding:.75rem 1rem;background:var(--error-light);border:1px solid var(--error-red);border-radius:var(--border-radius);color:var(--error-red);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.error-message i{font-size:16px;flex-shrink:0}.summary-content{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.summary-card{border:1px solid var(--gray-200);border-radius:var(--border-radius);overflow:hidden;background:var(--white);transition:var(--transition)}.summary-card:hover{box-shadow:var(--shadow-md);border-color:var(--light-green)}.card-header{background:var(--gray-50);padding:.875rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--gray-200)}.card-header i{color:var(--primary-green);font-size:16px}.card-header span{font-weight:600;color:var(--text-dark);font-size:.875rem}.trip-info{padding:1rem}.info-row{display:flex;justify-content:space-between;align-items:center}.bus-info{display:flex;flex-direction:column;gap:.25rem}.bus-name{font-weight:600;color:var(--text-dark);font-size:1rem}.date{color:var(--text-light);font-size:.875rem}.time-info .time{background:var(--accent-green);color:var(--dark-green);padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.passenger-info{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:center}.info-item .label{color:var(--text-light);font-size:.875rem;font-weight:500}.info-item .value{color:var(--text-dark);font-weight:600;font-size:.875rem}.seats-list{background:var(--primary-green);color:var(--white);padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.payment-info{padding:1rem}.price-breakdown{margin-bottom:.75rem}.price-item{display:flex;justify-content:space-between;align-items:center;color:var(--text-light);font-size:.875rem}.total-amount{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);margin:.75rem 0;font-weight:700;color:var(--primary-green);font-size:1.1rem}.payment-method{text-align:center;color:var(--text-muted);font-size:.75rem;margin-top:.5rem}.summary-actions{padding:1.5rem 2rem 2rem;display:flex;gap:1rem}.summary-actions button{flex:1;padding:.875rem 1rem;border-radius:var(--border-radius);font-weight:600;font-size:.875rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;text-transform:uppercase;letter-spacing:.025em}.cancel-btn{background:var(--white);color:var(--text-light);border:1px solid var(--gray-200)}.cancel-btn:hover{background:var(--gray-50);color:var(--text-dark);border-color:var(--gray-300)}.confirm-btn{background:linear-gradient(135deg,var(--primary-green),var(--light-green));color:var(--white);box-shadow:0 4px 12px #10b9814d}.confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.confirm-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.confirm-btn i.spinning{animation:spin 1s linear infinite}@media (max-width: 640px){.summary-modal-overlay{padding:.5rem}.summary-modal-container{max-width:100%;border-radius:12px}.scroll-indicator{display:flex}.summary-header{padding:1.5rem 1.5rem 1rem}.summary-header h2{font-size:1.25rem}.trip-route{font-size:.875rem}.summary-content{padding:1rem 1.5rem;gap:1rem;padding-bottom:80px}.card-header{padding:.75rem 1rem}.card-header span{font-size:.8125rem}.trip-info,.passenger-info,.payment-info{padding:.875rem}.info-row{flex-direction:column;align-items:flex-start;gap:.75rem}.time-info{align-self:flex-end}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}.summary-actions{padding:1rem 1.5rem 1.5rem;flex-direction:column}.summary-actions button{width:100%;padding:1rem;font-size:.875rem}.close-button{top:.75rem;right:.75rem;width:28px;height:28px}.close-button i{font-size:16px}}@media (max-width: 480px){.summary-header{padding:1.25rem 1rem .75rem}.summary-content{padding:.875rem 1rem}.summary-actions{padding:.875rem 1rem 1.25rem}.trip-info,.passenger-info,.payment-info{padding:.75rem}}:root{--primary: #1bb253;--primary-50: #f0fdf4;--primary-100: #dcfce7;--primary-200: #bbf7d0;--primary-300: #86efac;--primary-400: #4ade80;--primary-500: #1bb253;--primary-600: #16a34a;--primary-700: #15803d;--primary-800: #166534;--primary-900: #14532d;--error: #DD0303;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #DD0303;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d;--warning: #f59e0b;--info: #3b82f6;--success: var(--primary);--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: var(--gray-900);--text-secondary: var(--gray-700);--text-muted: var(--gray-500);--text-light: var(--gray-400);--text-white: var(--white);--bg-primary: var(--white);--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 1000;--z-modal: 1050;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.book-now-container{min-height:100vh;background:#fff!important;position:relative;overflow-x:hidden}.booking-content{position:relative;max-width:1400px;margin:0 auto;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.booking-header{text-align:center;margin-bottom:var(--space-8)}.booking-title{font-size:var(--text-5xl);font-weight:var(--font-extrabold);color:var(--primary);margin-bottom:var(--space-4);letter-spacing:-.025em;line-height:1.1}.booking-subtitle{font-size:var(--text-xl);color:var(--text-secondary);font-weight:var(--font-medium);margin-bottom:var(--space-6);max-width:600px;margin-left:auto;margin-right:auto}.user-info{display:inline-flex;align-items:center;gap:var(--space-3);background:var(--white);padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);box-shadow:var(--shadow-md);border:2px solid var(--primary-100);font-weight:var(--font-semibold);color:#1bb253!important}.top-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.passenger-info-box,.seat-select-wrapper{background:#fff!important;border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:2px solid var(--gray-200);overflow:hidden;position:relative}.passenger-info-box:before,.seat-select-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary)}.form-header{background:var(--primary);padding:var(--space-8);color:var(--white);display:flex;align-items:center;gap:var(--space-6)}.header-icon{flex-shrink:0;width:4rem;height:4rem;background:#ffffff26;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.header-icon svg{color:var(--white);width:2rem;height:2rem}.header-content h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.passenger-form{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.form-section{display:flex;flex-direction:column;gap:var(--space-6)}.section-header h3{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#000!important;margin-bottom:var(--space-3)}.section-divider{height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-300) 50%,transparent 100%);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.input-group{display:flex;flex-direction:column;gap:var(--space-3)}.input-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:#000!important}.required-indicator{color:var(--error);font-weight:var(--font-bold)}.input-wrapper{position:relative}.form-input{width:100%;padding:var(--space-4) var(--space-5);padding-right:var(--space-12);border:2px solid var(--gray-300);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-medium);background:#fff!important;color:#000!important;transition:var(--transition-fast);outline:none;box-shadow:var(--shadow-sm)}.form-input:hover{border-color:var(--primary-400)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1bb2531a}.form-input::placeholder{color:#999!important;font-weight:var(--font-normal)}.input-icon{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:#666;pointer-events:none}.form-input:focus+.input-icon{color:var(--primary)}.error-input{border-color:var(--error);background:var(--error-50)!important;color:var(--text-primary)!important}.error-input:focus{border-color:var(--error);box-shadow:0 0 0 3px #dd03031a}.error-message{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--error);font-weight:var(--font-medium)}.format-hint{color:var(--primary-600);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--primary-50);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);max-width:480px;margin:var(--space-6) auto 0}.payment-logo{width:100%;max-width:100px;height:64px;object-fit:contain;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.payment-logo:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.seat-select-wrapper{padding:var(--space-8)}.seat-select-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:#000!important;text-align:center;margin-bottom:var(--space-8);position:relative}.seat-select-title:after{content:"";position:absolute;bottom:-var(--space-4);left:50%;transform:translate(-50%);width:120px;height:4px;background:var(--primary);border-radius:var(--radius-full)}.seat-select-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);background:var(--gray-50);padding:var(--space-8);border-radius:var(--radius-2xl);border:2px solid var(--gray-200);position:relative}.seat-selection-header h4{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-6);text-align:center}.max-seat-warning{background:var(--warning);color:var(--white);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-6);text-align:center;box-shadow:var(--shadow-md)}.seat-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-3)}.front-row{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px dashed var(--gray-300)}.front-subcell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;background:var(--gray-100);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:not-allowed}.front-spacer{width:var(--space-10);position:relative}.front-spacer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--gray-300)}.front-icon{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-1)}.seat-label-front{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.passenger-seat{width:40px;height:40px;background:var(--white);border:2px solid var(--gray-300);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);position:relative;box-shadow:var(--shadow-sm)}.passenger-seat:hover:not(.unavailable):not(.booked):not(.disabled-max-reached){border-color:var(--primary);background:var(--primary-50);box-shadow:var(--shadow-md)}.passenger-seat.selected{background:var(--primary);border-color:var(--primary-600);color:var(--white);box-shadow:var(--shadow-md)}.passenger-seat.unavailable,.passenger-seat.booked{background:var(--gray-400);border-color:var(--gray-500);cursor:not-allowed;opacity:.7}.passenger-seat.booked{background:var(--error);border-color:var(--error-600)}.passenger-seat.disabled-max-reached{opacity:.4;pointer-events:none}.seat-icon{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:2px}.passenger-seat:hover:not(.unavailable):not(.booked):not(.disabled-max-reached) .seat-icon,.passenger-seat.selected .seat-icon{color:var(--white)}.seat-label{font-size:10px;font-weight:var(--font-bold);color:var(--text-muted)}.passenger-seat:hover:not(.unavailable):not(.booked):not(.disabled-max-reached) .seat-label,.passenger-seat.selected .seat-label{color:var(--white)}.aisle-spacer{width:var(--space-8);position:relative}.aisle-spacer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:linear-gradient(to bottom,transparent,var(--gray-300),transparent)}.back-row{margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px dashed var(--gray-300)}.seat-legend{display:flex;justify-content:center;gap:var(--space-8);margin-top:var(--space-8);padding:var(--space-6);background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.legend-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.legend-indicator{width:24px;height:24px;border-radius:var(--radius-md);border:2px solid var(--gray-300);box-shadow:var(--shadow-sm)}.legend-available{background:var(--white)}.legend-selected{background:var(--primary);border-color:var(--primary-600)}.legend-booked{background:var(--error);border-color:var(--error-600)}.legend-unavailable{background:var(--gray-400);border-color:var(--gray-500)}.bottom-section{display:flex;flex-direction:column;gap:var(--space-8);align-items:center;margin-top:var(--space-8)}.selection-display{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-xl);width:100%;max-width:800px;position:relative}.selection-display:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.selection-display h3{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-8);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.seat-count{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--primary-600);background:var(--primary-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--primary-200)}.seat-tags{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-8)}.seat-tag{background:var(--primary);color:var(--white);padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);display:flex;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.5px}.total-amount-section{margin-top:var(--space-8);padding:var(--space-8);background:var(--primary-50);border:2px solid var(--primary-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md)}.total-amount-display{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.amount{color:var(--primary-700);font-size:var(--text-4xl);font-weight:var(--font-extrabold)}.amount-breakdown{font-size:var(--text-base);color:var(--primary-600);text-align:right;font-weight:var(--font-medium)}.no-selection{text-align:center;padding:var(--space-16) var(--space-8);color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.no-selection span{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-secondary)}.no-selection small{font-size:var(--text-base);color:var(--text-muted);max-width:400px;line-height:1.6}.book-button{background:var(--primary);color:var(--white);padding:var(--space-6) var(--space-16);border-radius:var(--radius-full);font-size:var(--text-xl);font-weight:var(--font-bold);cursor:pointer;border:none;transition:var(--transition-fast);min-width:320px;box-shadow:var(--shadow-lg);text-transform:uppercase;letter-spacing:1px}.book-button:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-xl)}.book-button:active:not(:disabled){background:var(--primary-700)}.book-button:disabled{background:var(--gray-400);color:var(--gray-600);cursor:not-allowed;box-shadow:var(--shadow-sm);opacity:.6}.progress-indicator{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.progress-bar{width:120px;height:6px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:var(--transition-normal)}.progress-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-16);text-align:center}.loading-state h2{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-2xl)}.loading-state p{color:var(--text-secondary);font-size:var(--text-lg);max-width:500px}.loading-spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);text-align:center;padding:var(--space-10);background:var(--error-50);border:2px solid var(--error-200);border-radius:var(--radius-2xl);margin:var(--space-6);box-shadow:var(--shadow-lg)}.error-state h3{color:var(--error);font-size:var(--text-2xl);font-weight:var(--font-bold)}.error-state p{color:var(--text-secondary);max-width:500px;font-size:var(--text-base)}.retry-button{background:var(--primary);color:var(--white);padding:var(--space-4) var(--space-8);border-radius:var(--radius-xl);border:none;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast);font-size:var(--text-base);box-shadow:var(--shadow-md)}.retry-button:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-lg)}.retry-button:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--error);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--error-50);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--error-200)}.fade-in{opacity:0;animation:fadeIn .6s ease forwards}.slide-up{opacity:0;transform:translateY(20px);animation:slideUp .6s ease forwards}@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.booking-content{padding:var(--space-6)}.top-section{gap:var(--space-10)}}@media (max-width: 1024px){.booking-content{padding:var(--space-5)}.top-section{grid-template-columns:1fr;gap:var(--space-8)}.booking-title{font-size:var(--text-4xl)}.selection-display{max-width:100%;padding:var(--space-8)}}@media (max-width: 768px){.booking-content{padding:var(--space-4);gap:var(--space-6)}.booking-title{font-size:var(--text-3xl)}.booking-subtitle{font-size:var(--text-lg)}.user-info{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);gap:var(--space-2);flex-direction:column;text-align:center}.form-header{padding:var(--space-6);flex-direction:column;text-align:center;gap:var(--space-4)}.header-content h1{font-size:var(--text-2xl)}.header-icon{width:3rem;height:3rem}.passenger-form,.seat-select-wrapper{padding:var(--space-6)}.seat-legend{flex-wrap:wrap;gap:var(--space-4)}.payment-methods{gap:var(--space-4);max-width:360px}.payment-logo{max-width:80px;height:56px}.book-button{min-width:280px;padding:var(--space-5) var(--space-12);font-size:var(--text-lg)}.passenger-seat{width:36px;height:36px}.front-subcell{width:40px;height:40px}.total-amount-display{font-size:var(--text-xl)}.amount{font-size:var(--text-3xl)}}@media (max-width: 480px){.booking-content{padding:var(--space-3);gap:var(--space-4)}.booking-title{font-size:var(--text-2xl)}.booking-subtitle{font-size:var(--text-base)}.form-header{padding:var(--space-4)}.header-content h1{font-size:var(--text-xl)}.passenger-form,.seat-select-wrapper{padding:var(--space-4)}.seat-legend{gap:var(--space-3);padding:var(--space-4)}.legend-item{font-size:var(--text-xs)}.legend-indicator{width:20px;height:20px}.payment-methods{grid-template-columns:repeat(3,1fr);gap:var(--space-3);max-width:100%}.payment-logo{max-width:70px;height:50px}.selection-display{padding:var(--space-6)}.seat-tag{padding:var(--space-3) var(--space-5);font-size:var(--text-xs)}.book-button{min-width:240px;padding:var(--space-4) var(--space-10);font-size:var(--text-base)}.passenger-seat{width:32px;height:32px}.front-subcell{width:36px;height:36px}.seat-icon{font-size:10px}.seat-label,.seat-label-front{font-size:8px}.aisle-spacer{width:var(--space-6)}.total-amount-section{padding:var(--space-6)}.total-amount-display{font-size:var(--text-lg);flex-direction:column;gap:var(--space-2);text-align:center}.amount{font-size:var(--text-2xl)}.amount-breakdown{text-align:center}}@media (max-width: 360px){.booking-content{padding:var(--space-2)}.passenger-seat{width:28px;height:28px}.front-subcell{width:32px;height:32px}.payment-logo{max-width:60px;height:45px}.book-button{min-width:200px;padding:var(--space-3) var(--space-8);font-size:var(--text-sm)}.booking-title{font-size:var(--text-xl)}}.book-button:focus-visible,.passenger-seat:focus-visible,.form-input:focus-visible,.retry-button:focus-visible{outline:3px solid rgba(27,178,83,.5);outline-offset:2px}@media (prefers-contrast: high){.passenger-info-box,.seat-select-wrapper,.selection-display{border:3px solid var(--text-primary);background:var(--white)}.book-button{border:3px solid var(--primary)}.passenger-seat,.front-subcell{border-width:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.book-now-container{background:#fff!important}.passenger-info-box,.seat-select-wrapper,.selection-display{box-shadow:none!important;border:2px solid #000!important}.form-header{background:#fff!important;color:#000!important;border-bottom:3px solid #000}.book-button,.retry-button,.progress-indicator{display:none}.seat-tag{background:#fff!important;color:#000!important;border:2px solid black}.passenger-info-box:before,.seat-select-wrapper:before,.selection-display:before{background:#000!important}}.ticket-container{width:210mm;min-height:auto;background:#fff;font-family:Arial,sans-serif;padding:20mm 15mm;box-sizing:border-box;color:#000}.ticket-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.company-logo{max-width:375px;height:auto;object-fit:contain}.booking-info{text-align:right}.booking-number{font-size:12px;color:#000;opacity:.7;margin-bottom:4px}.booking-date{font-size:12px;color:#000;opacity:.7}.ticket-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #000000}.ticket-title{font-size:18px;font-weight:700;color:#000;opacity:.9}.bus-info-header{font-size:15px;font-weight:700;color:#000;text-transform:uppercase}.main-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.left-section{display:flex;flex-direction:column;gap:15px}.info-row{display:flex;gap:10px;font-size:13px}.info-label{color:#000;opacity:.7;min-width:120px}.info-value{color:#000;font-weight:600;text-transform:capitalize}.section-heading{font-size:16px;font-weight:700;color:#000;margin-top:10px;margin-bottom:10px;text-transform:uppercase}.itinerary-route{font-size:13px;color:#000;font-weight:400;margin-bottom:8px;text-transform:capitalize}.route-highlight{font-size:16px;font-weight:700;text-transform:uppercase}.itinerary-detail{font-size:12px;color:#000;margin-bottom:4px}.payment-table{margin-top:10px}.payment-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid #000000;opacity:.3}.payment-row:last-child{border-bottom:none}.payment-item{color:#000;opacity:.7}.payment-amount{color:#000;font-weight:600}.total-row{border-top:2px solid #000000;padding-top:10px;margin-top:5px;opacity:1}.total-row .payment-item{color:#000;font-weight:700}.total-amount{color:#000;font-size:15px;font-weight:700}.right-section{display:flex;justify-content:center;align-items:flex-start}.seat-map-container{display:flex;flex-direction:column;align-items:center;border:1px solid #000000;opacity:.5;border-radius:8px;padding:15px;width:auto}.seat-map-header{font-size:12px;font-weight:700;color:#000;text-align:center;margin-bottom:10px;text-transform:uppercase}.seat-map{display:flex;flex-direction:column;gap:3px}.seat-row{display:flex;gap:3px;justify-content:center}.seat-row.last-row{margin-top:2px}.seat{width:16px;height:18px;border:1px solid #000000;opacity:.4;border-radius:4px 4px 2px 2px;display:flex;align-items:center;justify-content:center;font-size:7px;background:#fff;color:#000;font-weight:600;position:relative}.seat:before{content:"";position:absolute;top:-3px;left:-1px;right:-1px;height:4px;background:inherit;border:1px solid #000000;border-bottom:none;border-radius:3px 3px 0 0;opacity:inherit}.seat.booked{background:#000;color:#fff;border-color:#000;opacity:1}.seat.booked:before{background:#000;border-color:#000}.aisle{width:8px}.ticket-footer{margin-top:20px;padding-top:15px;border-top:1px solid #000000;opacity:.5}.footer-info{font-size:11px;color:#000;opacity:.7;line-height:1.5;margin-bottom:10px}.footer-info strong{color:#000;opacity:1}.footer-status{text-align:center;font-size:12px;color:#000;opacity:.7}.footer-status strong{color:#000;font-weight:700;font-size:13px;opacity:1}.download-pdf-button-compact{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px;box-shadow:0 2px 12px #10b9814d}.download-pdf-button-compact:hover{transform:translateY(-2px);box-shadow:0 4px 20px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.download-pdf-button-compact:disabled{opacity:.6;cursor:not-allowed;transform:none}@media print{.ticket-container{width:100%!important;margin:0!important;padding:20mm 15mm!important;page-break-inside:avoid}.download-pdf-button-compact{display:none}}.booking-container{max-width:1000px;margin:30px auto;padding:32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f;border:1px solid #e1e5e9}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #f1f3f4}.booking-header h2{color:#1a1a1a;font-size:28px;margin:0;font-weight:600;letter-spacing:-.5px}.refresh-button{background:linear-gradient(135deg,#40a944,#40a944);color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 12px #409c444d}.refresh-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px #409c444d;background:linear-gradient(135deg,#40a944,#40a944)}.booking-tabs{display:flex;gap:12px;margin-bottom:32px;padding:8px;background:#f8fafc;border-radius:12px;border:1px solid #e5e7eb}.tab-button{flex:1;background:transparent;border:none;padding:16px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;color:#6b7280;position:relative}.tab-button:hover{background:#e5e7eb;color:#374151}.tab-button.active{background:linear-gradient(135deg,#40a944,#40a944);color:#fff;box-shadow:0 2px 8px #409c444d;font-weight:600}.tab-icon{font-size:16px}.tab-count{background:#fff3;color:inherit;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;min-width:20px;text-align:center}.tab-button.active .tab-count{background:#ffffff4d;color:#fff}.tab-button:not(.active) .tab-count{background:#e5e7eb;color:#6b7280}.loading,.error{text-align:center;padding:48px 24px;font-size:16px;color:#666;background:#fff;border-radius:12px;border:1px solid #e1e5e9;margin-top:24px}.loading .spinner{border:3px solid #f3f4f6;border-top:3px solid #40a944;border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite;margin:0 auto 16px}.error-container{text-align:center;padding:48px 24px;background:#fff5f5;border:1px solid #fecaca;border-radius:12px;margin-top:24px}.error{color:#dc2626;font-weight:500;margin-bottom:16px}.retry-button{background:#dc2626;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease}.retry-button:hover{background:#b91c1c}.no-bookings{text-align:center;padding:64px 32px;color:#6b7280;background:#fff;border-radius:12px;margin-top:24px;border:2px dashed #e5e7eb}.no-bookings-icon{font-size:48px;margin-bottom:16px;opacity:.6}.no-bookings h3{font-size:20px;color:#374151;margin-bottom:8px;font-weight:600}.no-bookings p{font-size:16px;margin:0;color:#6b7280}.bookings-list{display:grid;grid-template-columns:1fr;gap:24px}.booking-card-journey{background:#f5f5f5;border-radius:16px;padding:0;border:none;transition:all .3s ease;position:relative;display:flex;align-items:stretch;margin-bottom:12px;overflow:hidden;min-height:80px}.booking-card-journey:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.booking-card-journey.past-trip{background:#f0f0f0;opacity:.9}.booking-card-journey.past-trip .journey-number{background:#9ca3af}.booking-card-journey.past-trip .departure-badge{background:#6b7280}.journey-number{background:#fbbf24;color:#1f2937;font-size:24px;font-weight:900;width:60px;display:flex;align-items:center;justify-content:center;border-radius:16px 0 0 16px;flex-shrink:0}.journey-content{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:#fff}.journey-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.bus-info-section{flex:1}.bus-name{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 4px;line-height:1.2}.route-compact{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.route-label{color:#6b7280;font-weight:500}.route-value{color:#1f2937;font-weight:600}.route-separator{color:#9ca3af;font-weight:700}.booking-meta-section{display:flex;align-items:center;gap:8px;flex-shrink:0}.booking-id{font-size:11px;color:#6b7280;font-family:SF Mono,Consolas,Liberation Mono,monospace}.booking-status-small{padding:4px 8px;border-radius:12px;color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-info-journey{font-size:11px;color:#6b7280;padding:4px 8px;background:#f0f4f8;border-radius:4px;border-left:3px solid #0066cc;margin-bottom:4px}.user-label{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-name{font-weight:600;color:#1f2937;margin-left:4px}.user-email{color:#6b7280;margin-left:4px}.journey-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;align-items:center;max-width:100%;overflow:hidden}.detail-group{display:flex;align-items:center;gap:4px;font-size:12px;min-width:0;overflow:hidden}.journey-details-grid>*{min-width:0;max-width:100%;overflow:hidden}.detail-label{color:#6b7280;font-weight:500;min-width:fit-content}.detail-value{color:#1f2937;font-weight:600}.detail-value.price{color:#dc2626;font-weight:700;font-size:13px}.journey-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:100%;overflow:hidden}.action-btn{padding:4px 8px;border-radius:4px;border:none;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s ease;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.journey-actions .download-pdf-button-compact{padding:4px 8px!important;font-size:11px!important;border-radius:4px!important;max-width:100px!important;min-width:auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:none!important;transform:none!important;flex-shrink:1!important}.journey-actions>div{max-width:100px!important;overflow:hidden!important;flex-shrink:1!important;display:flex!important}.journey-actions>div>*{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}.cancel-btn{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.cancel-btn:hover{background:#fee2e2;border-color:#fca5a5}.delete-btn{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.delete-btn:hover{background:#fee2e2;border-color:#fca5a5}.departure-badge{background:#1f2937;color:#fff;padding:12px 16px;border-radius:0 16px 16px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;flex-shrink:0;text-align:center}.departure-label{font-size:10px;color:#d1d5db;text-transform:lowercase;margin-bottom:4px}.departure-time{font-size:18px;font-weight:700;color:#fff;margin-bottom:2px;line-height:1}.departure-date{font-size:12px;color:#d1d5db;font-weight:500}@media (max-width: 768px){.booking-container{margin:20px;padding:20px}.booking-header{flex-direction:column;gap:12px;align-items:center;text-align:center;margin-bottom:24px}.booking-header h2{font-size:24px}.refresh-button{width:100%;justify-content:center}.booking-tabs{padding:6px;gap:8px}.tab-button{padding:14px 16px;font-size:13px;flex-direction:column;gap:4px}.tab-icon{font-size:18px}.tab-count{margin-top:2px}.booking-card-journey{flex-direction:column;min-height:auto;margin-bottom:20px}.journey-number{width:100%;height:60px;border-radius:16px 16px 0 0;font-size:24px}.journey-content{padding:16px;border-radius:0}.journey-header-row{flex-direction:column;align-items:flex-start;gap:8px}.booking-meta-section{align-self:stretch;justify-content:space-between}.bus-name{font-size:16px}.journey-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.detail-group{flex-direction:column;align-items:flex-start;gap:2px;padding:8px;background:#f8fafc;border-radius:6px;font-size:12px}.departure-badge{border-radius:0 0 16px 16px;min-width:100%;padding:16px;flex-direction:row;justify-content:space-around;align-items:center}.departure-label{margin-bottom:0;margin-right:8px}.departure-time{font-size:18px;margin-bottom:0}.departure-date{font-size:12px}.journey-actions{justify-content:center;margin-top:16px;padding-top:12px;border-top:1px solid #f3f4f6}}@media (max-width: 480px){.booking-container{margin:4px;padding:4px}.tab-button{padding:12px 14px;font-size:12px}.tab-icon{font-size:16px}.booking-card-journey{margin-bottom:16px}.journey-number{height:50px;font-size:20px}.journey-content{padding:14px}.bus-name{font-size:15px}.booking-id{font-size:11px}.booking-status-small{font-size:9px;padding:3px 6px}.route-label,.route-value{font-size:13px}.journey-details-grid{grid-template-columns:1fr;gap:6px}.detail-group{padding:6px;font-size:11px}.departure-badge{padding:12px;flex-direction:column;gap:4px}.departure-label{margin-right:0;font-size:11px}.departure-time{font-size:16px}.departure-date{font-size:11px}.action-btn{font-size:11px;padding:5px 10px}.user-info-journey{font-size:11px;padding:4px 8px}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confetti-fall 3s linear forwards}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}.notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding-top:80px;z-index:1000;animation:fadeIn .3s ease-out}.notification{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:420px;width:90%;animation:slideDown .4s ease-out}.notification.error{border-top:4px solid #dc2626}.notification.success{border-top:4px solid #16a34a}.notification.info{border-top:4px solid #2563eb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-content{padding:24px}.notification-content p{margin:0 0 20px;color:#374151;font-size:15px;line-height:1.6}.notification-actions{display:flex;gap:12px;justify-content:flex-end}.btn-try-again,.btn-cancel{padding:10px 24px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-try-again{background:#16a34a;color:#fff}.btn-try-again:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db;transform:translateY(-1px)}.payment-wrapper{min-height:100vh;background:#f9fafb;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.payment-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:0;width:100%;max-width:420px;overflow:hidden}.payment-header{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;padding:32px 24px;text-align:center}.amount-display{display:flex;justify-content:center;align-items:baseline;margin-bottom:12px}.currency{font-size:16px;font-weight:600;margin-right:4px}.amount-value{font-size:48px;font-weight:700;line-height:1}.payment-header h2{margin:0;font-size:18px;font-weight:600;opacity:.95}.payment-form{padding:28px 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.form-group input{width:100%;padding:14px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;box-sizing:border-box;transition:all .2s;background:#fff}.form-group input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.7}.format-hint{color:#16a34a;font-size:12px;margin-top:6px}.otp-section{background:#f0f9ff;padding:20px;border-radius:12px;margin-bottom:20px;border:2px solid #bfdbfe}.otp-section label{color:#1e40af;margin-bottom:10px;display:block;font-weight:600}.otp-section input{background:#fff;margin-bottom:16px;text-align:center;font-size:24px;font-weight:600;letter-spacing:8px}.otp-submit-button{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.otp-submit-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 20px #2563eb4d}.otp-submit-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.pay-button{width:100%;padding:16px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.pay-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.pay-button:hover:not(:disabled):before{width:300px;height:300px}.pay-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #16a34a66}.pay-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 15px #16a34a4d}.pay-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.pay-button.loading{background:#15803d}.spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-status{text-align:center;padding:40px 24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);margin:0 -24px -28px;border-top:2px solid #bbf7d0}.success-checkmark{width:80px;height:80px;margin:0 auto 24px}.check-icon{width:80px;height:80px;position:relative;border-radius:50%;box-sizing:content-box;border:4px solid #16a34a}.check-icon:before{top:3px;left:-2px;width:30px;transform-origin:100% 50%;border-radius:100px 0 0 100px}.check-icon:after{top:0;left:30px;width:60px;transform-origin:0 50%;border-radius:0 100px 100px 0;animation:rotate-circle 4.25s ease-in}.icon-line{height:5px;background-color:#16a34a;display:block;border-radius:2px;position:absolute;z-index:10}.icon-line.line-tip{top:46px;left:14px;width:25px;transform:rotate(45deg);animation:icon-line-tip .75s}.icon-line.line-long{top:38px;right:8px;width:47px;transform:rotate(-45deg);animation:icon-line-long .75s}.icon-circle{top:-4px;left:-4px;z-index:10;width:80px;height:80px;border-radius:50%;position:absolute;box-sizing:content-box;border:4px solid rgba(22,163,74,.5)}.icon-fix{top:8px;width:5px;left:26px;z-index:1;height:85px;position:absolute;transform:rotate(-45deg);background-color:#f0fdf4}@keyframes rotate-circle{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes icon-line-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:45px}}@keyframes icon-line-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}.success-status h3{margin:0 0 16px;color:#15803d;font-size:32px;font-weight:700;letter-spacing:2px}.success-status p{margin:8px 0;color:#166534;font-size:15px}.reference-text{font-size:13px!important;color:#16a34a!important;font-weight:600}.redirect-text{font-size:14px!important;color:#15803d!important;margin-top:16px!important}.pending-status{text-align:center;padding:32px 24px;background:#fffbeb;margin:0 -24px -28px;border-top:2px solid #fef3c7}.pending-status h3{margin:0 0 12px;color:#92400e;font-size:20px}.pending-status p{margin:8px 0 20px;color:#78350f;font-size:14px}.cancel-payment-button{padding:12px 24px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-payment-button:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.cancelled-status{text-align:center;padding:32px 24px;background:#fef2f2;margin:0 -24px -28px;border-top:2px solid #fecaca}.cancelled-status h3{margin:0 0 12px;color:#991b1b;font-size:20px}.cancelled-status p{margin:8px 0;color:#7f1d1d;font-size:14px}@media (max-width: 480px){.payment-wrapper{padding:20px 12px 12px}.amount-value{font-size:40px}.payment-header{padding:28px 20px}.payment-form{padding:24px 20px}.notification{width:95%}.notification-content{padding:20px}.notification-actions{flex-direction:column}.btn-try-again,.btn-cancel{width:100%}.success-status h3{font-size:28px}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#e8f5e9,#f1f8e9)}.tc-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem .5rem;background:linear-gradient(135deg,#e8f5e9,#f1f8e9)}.tc-card{background-color:#fff;box-shadow:0 8px 24px #0000001f;border-radius:16px;max-width:900px;width:100%;padding:0;overflow:hidden;border:1px solid rgba(76,175,80,.1)}.tc-card-header{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;padding:1.5rem 1.25rem;border-bottom:none;margin-bottom:0}.tc-title-container{margin-bottom:.5rem}.tc-title{font-size:2rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.5px}.tc-card-header p{font-size:.9rem;color:#ffffffe6;margin:0;font-weight:400}.tc-content{max-height:450px;overflow-y:auto;padding:1.5rem 1.25rem;border:none;border-radius:0;background-color:#fff;scroll-behavior:smooth}.tc-content::-webkit-scrollbar{width:8px}.tc-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tc-content::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.tc-content::-webkit-scrollbar-thumb:hover{background:#45a049}.tc-content h3{font-size:1.15rem;font-weight:700;color:#1b5e20;margin-top:1.8rem;margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:2px solid #4CAF50;letter-spacing:-.3px}.tc-content h3:first-child{margin-top:0}.tc-content p{font-size:.95rem;color:#424242;line-height:1.7;margin-bottom:1rem}.tc-content ul{list-style-type:none;padding-left:0;margin-bottom:1rem}.tc-content ul li{font-size:.95rem;color:#424242;line-height:1.7;margin-bottom:.6rem;padding-left:1.5rem;position:relative}.tc-content ul li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700;font-size:1.1rem}.tc-consent{background:linear-gradient(to bottom,#f9fbe7,#f1f8e9);border-top:2px solid #4CAF50;padding:1.25rem;margin-top:0}.tc-statement{font-size:.95rem;color:#2e7d32;font-weight:500;margin:0 0 .75rem;line-height:1.6}.tc-hint{font-size:.85rem;color:#558b2f;margin:0;font-style:italic}@media (max-width: 768px){.tc-page{padding:1rem .5rem}.tc-card{border-radius:12px;max-width:100%}.tc-card-header{padding:1.25rem 1rem}.tc-title{font-size:1.6rem}.tc-content{max-height:400px;padding:1.25rem 1rem}.tc-content h3{font-size:1.05rem}.tc-content p,.tc-content ul li{font-size:.9rem}.tc-consent{padding:1rem}}@media (max-width: 640px){.tc-page{padding:1rem .25rem}.tc-card{border-radius:8px}.tc-card-header{padding:1rem .85rem}.tc-title{font-size:1.4rem}.tc-content{max-height:350px;padding:1rem .85rem}.tc-content h3{font-size:1rem;margin-top:1.5rem}.tc-consent{padding:.85rem}}.about-container{min-height:100vh;background-image:url(/gallery/beautifulbus.jpg);background-size:cover;background-position:center;background-attachment:scroll;background-repeat:no-repeat;position:relative}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#00000073,#00000040);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.content-wrapper{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px}.main-heading{font-size:2.5rem;font-weight:900;color:#fff;margin-bottom:24px;text-align:center;letter-spacing:-.05em;line-height:1.1;text-transform:uppercase;text-shadow:0 4px 20px rgba(0,0,0,.8),0 2px 8px rgba(0,0,0,.6);animation:fadeInUp .8s ease-out}.subtitle{font-size:1rem;color:#fffffffa;margin-bottom:56px;text-align:center;max-width:42rem;line-height:1.6;font-weight:400;text-shadow:0 3px 12px rgba(0,0,0,.7),0 1px 4px rgba(0,0,0,.5);animation:fadeInUp .8s ease-out .2s backwards}.features-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:56px;max-width:72rem;width:100%;animation:fadeInUp .8s ease-out .4s backwards}.feature-card{background:linear-gradient(145deg,#fff3,#ffffff14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:24px 20px;text-align:center;box-shadow:0 8px 32px #0000004d;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.feature-card:hover{transform:translateY(-8px);background:linear-gradient(145deg,#ffffff4d,#ffffff26);border-color:#ffffff80;box-shadow:0 16px 48px #0006}.feature-icon{display:none}.feature-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:0;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 3px 10px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.4)}.feature-description{display:none}.cta-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1f2937;font-weight:800;font-size:1rem;padding:16px 48px;border-radius:50px;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 30px #fbbf2480;text-transform:uppercase;letter-spacing:.1em;animation:fadeInUp .8s ease-out .6s backwards}.cta-button:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24);transform:translateY(-4px) scale(1.05);box-shadow:0 16px 40px #fbbf24b3;border-color:#fff9}.cta-button:active{transform:translateY(-2px) scale(1.03)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.about-container{background-size:150%;background-position:center center;background-attachment:scroll}.overlay{background:linear-gradient(135deg,#00000080,#0000004d)}.main-heading{font-size:2.5rem}.subtitle,.feature-title{font-size:1rem}.cta-button{font-size:.95rem;padding:14px 40px}}@media (min-width: 768px){.about-container{background-size:cover;background-position:center center;background-attachment:fixed}.main-heading{font-size:4.5rem}.subtitle{font-size:1.25rem}.features-grid{grid-template-columns:repeat(3,1fr);gap:20px}.feature-title{font-size:1.25rem}.cta-button{font-size:1.125rem;padding:18px 56px}}@media (min-width: 1024px){.main-heading{font-size:5.5rem}.subtitle,.feature-title{font-size:1.375rem}.cta-button{font-size:1.25rem;padding:20px 64px}}@media (min-width: 1280px){.main-heading{font-size:6rem}.subtitle{font-size:1.5rem}}.partners-container{min-height:100vh;background:linear-gradient(to bottom,#f9fafb,#f3f4f6);padding:3rem 1rem}.partners-wrapper{max-width:1280px;margin:0 auto}.partners-section{margin-bottom:4rem}.section-header{text-align:center;margin-bottom:3rem}.main-title{font-size:2.25rem;font-weight:700;color:#111827;margin-bottom:1rem;transition:color .3s ease}.main-title:hover{color:#16a44b}.main-subtitle{font-size:1.125rem;color:#4b5563;max-width:42rem;margin:0 auto;transition:color .3s ease}.main-subtitle:hover{color:#111827}.partners-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.partners-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.partners-grid{grid-template-columns:repeat(3,1fr)}}.partner-card{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem;cursor:pointer;border:1px solid #e5e7eb;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.partner-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(22,164,75,.1),transparent);transition:left .5s ease}.partner-card:hover:before{left:100%}.partner-card:hover{box-shadow:0 20px 25px -5px #16a44b33;transform:translateY(-8px) scale(1.02);border-color:#16a44b}.partner-content{display:flex;flex-direction:column;align-items:center;text-align:center}.partner-icon-wrapper{background-color:#e8f5ee;padding:1rem;border-radius:9999px;margin-bottom:1rem;transition:all .4s ease}.partner-card:hover .partner-icon-wrapper{background-color:#16a44b;transform:rotate(360deg) scale(1.1);box-shadow:0 8px 16px #16a44b4d}.partner-icon{width:2rem;height:2rem;color:#16a44b;transition:color .4s ease}.partner-card:hover .partner-icon{color:#fff}.partner-name{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:.5rem;transition:color .3s ease}.partner-card:hover .partner-name{color:#16a44b}.partner-divider{width:4rem;height:.25rem;background-color:#16a44b;border-radius:9999px;transition:width .4s ease}.partner-card:hover .partner-divider{width:6rem;box-shadow:0 2px 8px #16a44b66}.payment-section{background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;padding:2rem;transition:box-shadow .3s ease}.payment-section:hover{box-shadow:0 20px 25px -5px #16a44b26}@media (min-width: 640px){.payment-section{padding:3rem}}.payment-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.75rem;transition:color .3s ease}.payment-section:hover .payment-title{color:#16a44b}.payment-subtitle{color:#4b5563;transition:color .3s ease}.payment-section:hover .payment-subtitle{color:#111827}.payment-methods{display:flex;justify-content:center;align-items:center;gap:1.5rem;max-width:48rem;margin:0 auto}.payment-card{display:flex;flex-direction:column;align-items:center;padding:.75rem;border-radius:.5rem;border:2px solid #e5e7eb;background-color:#f9fafb;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.payment-card:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background-color:#16a44b;transition:width .4s ease;border-radius:2px}.payment-card:hover:after{width:80%}.payment-card:hover{border-color:#16a44b;box-shadow:0 8px 16px #16a44b33;background-color:#fff;transform:translateY(-4px) scale(1.05)}.payment-image-wrapper{width:3.5rem;height:3.5rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.payment-card:hover .payment-image-wrapper{transform:scale(1.15);box-shadow:0 4px 12px #16a44b33;background-color:#e8f5ee}.payment-image{max-width:100%;max-height:100%;object-fit:contain;padding:.25rem;transition:transform .3s ease}.payment-card:hover .payment-image{transform:scale(1.1)}.payment-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:.5rem}.fallback-icon{width:2rem;height:2rem;color:#9ca3af;transition:color .3s ease}.payment-card:hover .fallback-icon{color:#16a44b}.payment-name{font-size:.75rem;font-weight:600;color:#1f2937;text-align:center;transition:color .3s ease}.payment-card:hover .payment-name{color:#16a44b}@media (max-width: 480px){.partners-container{padding:2rem .5rem}.main-title{font-size:1.875rem}.payment-methods{gap:1rem}.payment-image-wrapper{width:3rem;height:3rem}}
