@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=ABeeZee:ital@0;1&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:ABeeZee,sans-serif;font-size:15px;line-height:1.7;color:#313131;background-color:#fff;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:600;color:#313131;line-height:1.3}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;font-size:inherit}:root{--accent-color: #2cb672;--accent-hover: #3dd687;--text-color: #313131;--text-secondary: #666666;--text-light: #888888;--background-color: #ffffff;--background-light: #efefef;--border-color: #dedede;--footer-bg: #2a2a5e;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15)}#root,.App{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;width:100%;padding:0 20px}.label-with-info{display:inline-flex;align-items:center;gap:6px}.info-icon{width:16px;height:16px;border-radius:50%;border:1px solid #9ca3af;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}html{scroll-behavior:smooth}::selection{background-color:var(--accent-color);color:#fff}::-moz-selection{background-color:var(--accent-color);color:#fff}.animated-hero{width:100%;height:264px;overflow:hidden;position:relative}.hero-static{display:flex;align-items:center;justify-content:center;background:#13b0e7}.hero-static:before{content:none}.hero-pattern{display:none}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#ffffff6b,#fff0 55%),linear-gradient(180deg,#fff0,#fff9 85%,#fff);z-index:2;pointer-events:none}.hero-logo-panel{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:12px}.hero-logo{max-height:150px;width:auto;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.18))}.legacy-hero{display:none}.animated-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(180deg,#fff0,#fff);z-index:4}.hero-svg{width:100%;height:100%;display:block;filter:saturate(.9) contrast(.95) brightness(.98)}.animated-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg,#fff0,#ffffff38 55%,#ffffff61 78%,#fff);pointer-events:none}@keyframes rotateWheel{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wheel-front{transform-origin:665px 280px;animation:rotateWheel .8s linear infinite}.wheel-back{transform-origin:560px 280px;animation:rotateWheel .8s linear infinite}@keyframes scrollBuildings{0%{transform:translate(0)}to{transform:translate(-600px)}}.buildings-back{animation:scrollBuildings 20s linear infinite}@keyframes scrollTrees{0%{transform:translate(0)}to{transform:translate(-600px)}}.trees-layer{animation:scrollTrees 14s linear infinite}@keyframes driftClouds{0%{transform:translate(0)}to{transform:translate(-400px)}}.clouds-layer{animation:driftClouds 50s linear infinite}@keyframes scrollRoad{0%{transform:translate(0)}to{transform:translate(-100px)}}.road-markings{animation:scrollRoad .8s linear infinite}@keyframes busBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bus{animation:busBounce .5s ease-in-out infinite}@keyframes sunPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.sun-rays{transform-origin:100px 70px;animation:sunPulse 3s ease-in-out infinite}@keyframes exhaustPuff{0%,to{opacity:.6;transform:translate(0) scale(1)}50%{opacity:.3;transform:translate(-8px) scale(1.2)}}.exhaust{animation:exhaustPuff 1.5s ease-in-out infinite}@keyframes birdsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.birds{animation:birdsFloat 2s ease-in-out infinite}@keyframes rainbowShimmer{0%,to{opacity:.4}50%{opacity:.55}}.rainbow{animation:rainbowShimmer 4s ease-in-out infinite}@media(max-width:768px){.animated-hero{height:220px}}@media(max-width:480px){.animated-hero{height:180px}}@media(max-width:768px)and (orientation:landscape){.animated-hero{height:160px}}@media(prefers-reduced-motion:reduce){.wheel-front,.wheel-back,.buildings-back,.trees-layer,.clouds-layer,.road-markings,.bus,.sun-rays,.exhaust,.birds,.rainbow{animation:none}}.footer-widget-area{background-color:#fff;padding:60px 0;border-bottom:1px solid #dedede;border-top:1px solid #dedede;width:100%;box-sizing:border-box}.footer-container{max-width:1200px;margin:0 auto;width:100%;padding:0 20px}.footer-widget-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;align-items:start}.footer-widget{display:flex;flex-direction:column;gap:20px}.footer-widget-bordered{padding-left:60px;border-left:1px solid #dedede}.footer-heading{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:.5px;color:#313131;margin:0;text-transform:uppercase}.footer-logo{margin:0}.footer-logo img{width:142px;height:auto;display:block}.footer-description{font-family:ABeeZee,sans-serif;font-size:15px;line-height:1.7;color:#313131;margin:0}.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.footer-nav li{margin:0}.footer-nav a{font-family:ABeeZee,sans-serif;font-size:15px;color:#313131;text-decoration:none;transition:color .3s ease;display:inline-block}.footer-nav a:hover{color:#2cb672}.contact-section{margin-bottom:20px}.contact-section:last-child{margin-bottom:0}.contact-title{font-family:ABeeZee,sans-serif;font-size:15px;font-weight:700;color:#313131;margin:0 0 8px}.contact-info{font-family:ABeeZee,sans-serif;font-size:15px;color:#313131;margin:6px 0;display:flex;align-items:center;gap:8px}.contact-icon{font-size:14px;color:#888}.contact-info a{color:#313131;text-decoration:none;transition:color .3s ease}.contact-info a:hover{color:#2cb672}.footer-section{background-color:#2a2a5e;padding:40px 0;color:#fff;width:100%;box-sizing:border-box;border-top:2px solid #dedede}.footer-socials-section{margin-bottom:30px}.footer-socials{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.footer-socials li{margin:0}.footer-socials a{display:flex;align-items:center;gap:8px;color:#fffc;text-decoration:none;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;letter-spacing:.5px;transition:all .3s ease;padding:8px 12px;border-radius:4px}.footer-socials a:hover{color:#2cb672;background-color:#2cb6721a;transform:translateY(-2px)}.footer-socials a i{font-size:18px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.footer-socials span{text-transform:uppercase}.footer-copyright{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}.footer-copyright p{font-family:ABeeZee,sans-serif;font-size:14px;color:#ffffffb3;margin:0;line-height:1.6}.footer-copyright a{color:#2cb672;text-decoration:none;transition:color .3s ease}.footer-copyright a:hover{color:#3dd687;text-decoration:underline}@media(max-width:992px){.footer-widget-wrapper{grid-template-columns:repeat(2,1fr);gap:40px}.footer-widget-bordered{padding-left:40px}.footer-widget-last{grid-column:1 / -1;border-left:none;padding-left:0;padding-top:40px;border-top:1px solid #dedede}}@media(max-width:768px){.footer-widget-area{padding:40px 0}.footer-widget-wrapper{grid-template-columns:1fr;gap:30px}.footer-widget-bordered{border-left:none;padding-left:0;padding-top:30px;border-top:1px solid #dedede}.footer-widget-last{grid-column:auto;padding-top:30px}.footer-logo img{width:120px}.footer-socials{gap:15px}.footer-socials a{font-size:12px;padding:6px 10px}.footer-socials a i{font-size:16px}.footer-section{padding:30px 0}.footer-container{padding:0 15px}}@media(max-width:480px){.footer-widget-area{padding:30px 0}.footer-container{padding:0 15px}.footer-heading{font-size:13px}.footer-description,.footer-nav a,.contact-info{font-size:14px}.footer-socials{flex-direction:column;gap:10px;width:100%}.footer-socials a{width:100%;justify-content:center}.footer-section{padding:30px 0}.footer-copyright{padding-bottom:0}}.tour-selection{display:flex;flex-direction:column;gap:24px}.tour-selection-section{display:flex;flex-direction:column;gap:12px}.availability-error{background:#fef2f2;border:1px solid #fecdd3;color:#b91c1c;padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}.selected-date-row{display:none;justify-content:space-between;align-items:center;padding:18px;border:1px solid #f1f2f6;border-radius:12px;background:#fff;cursor:pointer}.selected-date-right{display:flex;align-items:center;gap:12px}.selected-date-big{font-size:18px;font-weight:700;color:#313131}.change-date-desktop{background:#fff;border:1px solid #d7d8de;color:#2a2a5e;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.change-date-desktop:hover{background:#f3f4f8;border-color:#c8cbda}.mobile-date-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e6e7ea;border-radius:12px;background:#fff}.rebook-compact-date-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border:1px solid #e6e7ea;border-radius:12px;background:#fff}.rebook-compact-info,.mobile-date-info{display:flex;flex-direction:column;gap:4px}.mobile-date-label{font-family:Poppins,sans-serif;font-size:12px;font-weight:600;color:#666}.mobile-date-value{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:#2a2a5e}.mobile-change-date-btn{background:#f8f9ff;color:#2a2a5e;border:1px solid #d7d8de;border-radius:10px;padding:10px 12px;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease}.mobile-change-date-btn:hover{background:#eef1ff;border-color:#c8cbda}.inline-calendar{margin:12px 0 18px;border:1px solid #e6e7ea;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0000000f;padding:12px;width:100%;max-width:540px;box-sizing:border-box}.inline-calendar .date-selector{box-shadow:none;padding:0}.date-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;z-index:1000;padding:20px}.date-modal{position:relative;background:#fff;border-radius:14px;box-shadow:0 18px 60px #00000052;width:min(92vw,720px);padding:18px 18px 20px;max-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;display:flex;align-items:center;justify-content:center}.date-modal .inline-calendar{margin:0 auto;box-shadow:none;padding:12px;border-radius:10px;background:#fff;width:100%;max-width:100%;box-sizing:border-box}.date-modal-close{position:absolute;top:-6px;right:-6px;width:38px;height:38px;border-radius:50%;border:none;background:#fff;box-shadow:0 4px 10px #0000001f;cursor:pointer;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;z-index:2}.date-modal-close:focus{outline:none;box-shadow:0 0 0 4px #2a2a5e14}.availability-loading{display:inline-flex;align-items:center;gap:10px;margin-top:8px;color:#666;font-family:ABeeZee,sans-serif;font-size:14px}.selected-date-right .availability-loading{margin-top:0}.availability-loading .spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(42,42,94,.12);border-top-color:#2a2a5e;animation:spin .8s linear infinite;display:inline-block}.loading-text{line-height:1.3}@keyframes spin{to{transform:rotate(360deg)}}.availability-note{margin-top:12px;color:#555;font-size:13px;line-height:1.4}.availability-note a{color:#00b5e2;text-decoration:underline}.age-note{margin:10px 0 0;color:#4a4b5e;font-size:13px;font-weight:600}.pick-date-note{color:#666;font-family:ABeeZee,sans-serif;font-size:14px;margin:6px 0}.tour-section-title{font-family:Poppins,sans-serif;font-size:20px;font-weight:600;color:#313131;margin:0}.tour-section-description{font-family:ABeeZee,sans-serif;font-size:14px;color:#666;margin:0;line-height:1.5}.tour-times{display:flex;gap:12px;flex-wrap:wrap}.tour-time-btn{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:#2a2a5e;background:#fff;border:2px solid #2a2a5e;border-radius:10px;padding:12px 28px;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;min-width:120px}.tour-time-btn:hover:not(:disabled){background:#2a2a5e0f;transform:translateY(-1px);box-shadow:0 3px 10px #2a2a5e1f}.tour-time-btn.selected{background:#ff8cb4;border-color:#ff8cb4;color:#fff;transform:translateY(-1px);box-shadow:0 3px 10px #ff8cb44d}.tour-time-btn.selected:hover{background:#ff7aa5;border-color:#ff7aa5;box-shadow:0 4px 12px #ff8cb466}.tour-time-btn.disabled,.tour-time-btn:disabled{background:#f5f6f8;border-color:#e6e7ea;color:#9aa0b3;cursor:not-allowed;box-shadow:none;transform:none}.time-btn-content{display:flex;flex-direction:column;align-items:center;gap:6px}.time-meta{color:#4a4b5e;font-size:12px;font-weight:600}.time-full-note{color:#ea565e;font-size:12px;margin-top:4px;font-weight:700;line-height:1}.times-people-row{display:flex;gap:20px;align-items:flex-start}.times-column{flex:1 1 60%}.people-column{flex:0 0 240px;display:flex;flex-direction:column;gap:12px}.people-control{display:flex;flex-direction:column;gap:6px}.people-label{font-family:ABeeZee,sans-serif;font-size:13px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.people-select{font-family:Poppins,sans-serif;font-size:16px;padding:10px 12px;border-radius:10px;border:2px solid #e6e7ea;background:#fff;color:#2a2a5e;appearance:none}.people-select option{color:#2a2a5e;background-color:#fff}.people-select option:disabled{color:#9ba3b8;background-color:#f3f4f8}.people-select[size]{padding:6px 8px}.people-select:focus{outline:none;box-shadow:0 0 0 3px #2a2a5e14}.infant-checkbox-box{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 12px;border-radius:10px;border:2px solid #e6e7ea;background:#fff;color:#2a2a5e;font-family:Poppins,sans-serif;font-size:16px;transition:border-color .15s ease,background .15s ease;box-sizing:border-box}.infant-checkbox-box:hover{border-color:#c8cbda;background:#f8f8fb}.infant-checkbox{width:18px;height:18px;accent-color:#2a2a5e;cursor:pointer;flex-shrink:0}.infant-checkbox-text{line-height:1}.tour-selection-actions{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #efefef;gap:10px}.secondary-btn{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;color:#2a2a5e;background:#fff;border:1px solid #d7d8de;border-radius:10px;padding:12px 16px;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#f3f4f8}.continue-btn{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:#fff;background:#2a2a5e;border:none;border-radius:10px;padding:14px 28px;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:8px}.continue-btn:hover:not(:disabled){background:#1f1f47;transform:translateY(-2px);box-shadow:0 4px 14px #2a2a5e4d}.continue-btn:disabled{background:#dedede;color:#999;cursor:not-allowed;transform:none;box-shadow:none}.continue-btn svg{transition:transform .25s ease}.continue-btn:hover:not(:disabled) svg{transform:translate(3px)}@media(min-width:769px){.selected-date-row{display:flex}.small-selected-date{display:none}}@media(max-width:768px){.tour-selection{gap:20px}.times-people-row{flex-direction:column}.people-column{flex:1 1 auto}.tour-section-title{font-size:18px}.tour-section-description{font-size:13px}.tour-times{gap:10px}.tour-time-btn{font-size:15px;padding:11px 24px;min-width:110px}.tour-selection-actions{justify-content:stretch}.continue-btn{width:100%;justify-content:center;font-size:14px;padding:13px 24px}}@media(max-width:480px){.tour-selection-section{gap:10px}.tour-section-title{font-size:17px}.tour-section-description{font-size:12px}.tour-times{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-items:start}.tour-time-btn{font-size:14px;padding:10px 12px;border-radius:8px;min-width:0;width:100%}.people-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.people-control{gap:4px;align-items:stretch;min-width:0}.people-label{min-height:18px;display:block;font-size:12px}.mobile-date-row{padding:10px 12px;align-items:flex-start}.mobile-change-date-btn{padding:10px 12px;font-size:12px}.people-select{width:100%;box-sizing:border-box;padding:8px 10px;font-size:14px;border-radius:8px}.infant-checkbox-box{width:100%;padding:8px 10px;font-size:14px;border-radius:8px}.infant-checkbox{width:16px;height:16px}.continue-btn{font-size:14px;padding:12px 20px;border-radius:8px}.continue-btn svg{width:16px;height:16px}.date-modal{border-radius:10px;max-width:100%;padding:12px;height:auto;max-height:calc(100vh - 24px);box-shadow:0 6px 30px #00000038;align-items:flex-start}.date-modal-overlay{padding:8px;background:#00000059}.date-modal-close{top:6px;right:6px;width:36px;height:36px;font-size:20px}}@media(min-width:1024px){.date-modal{width:min(70vw,640px);padding:12px}.date-modal .inline-calendar{max-width:100%}}.date-selector{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #00000014;width:100%;max-width:520px;box-sizing:border-box;margin:0 auto}.date-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.month-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:600;color:#313131;margin:0;text-align:center;flex:1}.month-nav-btn{width:32px;height:32px;border:1.5px solid #2a2a5e;border-radius:50%;background:transparent;color:#2a2a5e;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.month-nav-btn:hover:not(.disabled){background:#2a2a5e;color:#fff;transform:scale(1.05)}.month-nav-btn.disabled{border-color:#dedede;color:#dedede;cursor:not-allowed;opacity:.5}.month-nav-btn svg{width:16px;height:16px}.day-names{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.day-name{font-family:Poppins,sans-serif;font-size:11px;font-weight:600;color:#888;text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:.3px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px}.calendar-day{aspect-ratio:1;border:1.5px solid transparent;border-radius:8px;background:transparent;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;color:#313131;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;min-height:40px;padding:2px}.calendar-day.empty{cursor:default;pointer-events:none}.calendar-day.selectable{border-color:#2a2a5e;background:#2a2a5e0a}.calendar-loading{grid-column:1 / -1;padding:10px 0;text-align:center;font-family:Poppins,sans-serif;font-size:12px;color:#6b7280}.calendar-day.selectable:hover{background:#2a2a5e14;border-color:#2a2a5e;transform:scale(1.05)}.calendar-day.selected{background:#ff8cb4;border-color:#ff8cb4;color:#fff;font-weight:600;transform:scale(1.05);box-shadow:0 2px 8px #ff8cb44d}.calendar-day.selected:hover{background:#ff7aa5;border-color:#ff7aa5}.calendar-day.today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#2cb672;border-radius:50%}.calendar-day.today.selected:after{background:#fff}.calendar-day.disabled{color:#dedede;cursor:not-allowed;border-color:transparent;background:transparent}.calendar-day.disabled:hover{transform:none}.day-number{z-index:1;font-size:12px}@media(max-width:768px){.date-selector{padding:18px}.month-title{font-size:16px}.month-nav-btn{width:30px;height:30px}.month-nav-btn svg{width:14px;height:14px}.day-name{font-size:10px;padding:3px 0}.calendar-day{font-size:12px;min-height:34px;border-radius:6px}.day-number{font-size:11px}.calendar-grid,.day-names{gap:3px}}@media(max-width:480px){.date-selector{padding:14px;border-radius:10px}.date-selector-header{margin-bottom:12px;gap:8px}.month-title{font-size:15px}.month-nav-btn{width:28px;height:28px;border-width:1.5px}.month-nav-btn svg{width:12px;height:12px}.day-name{font-size:9px;padding:2px 0}.calendar-day{font-size:11px;min-height:28px;border-radius:6px;border-width:1.5px}.day-number{font-size:10px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.day-names{gap:2px;margin-bottom:4px}.calendar-day.today:after{width:3px;height:3px;bottom:2px}}@media(max-width:768px)and (orientation:landscape){.date-selector{padding:14px 18px}.calendar-day{min-height:28px}.date-selector-header{margin-bottom:10px}}.seat-selection{display:flex;flex-direction:column;gap:16px}.seat-selection--admin .bus-container{--unit: 17px;--bus-length-scale: 1.05;padding:8px}.seat-selection--admin .bus-body{height:calc(var(--unit) * 16)}.seat-selection--admin .table-unit{padding:7px 9px}.seat-selection--admin .table-label{font-size:9px}.seat-selection--admin .table-surface{min-width:42px;font-size:10px}.seat-selection--admin .bus-viewport{--bus-bleed: 0px;margin:0;width:100%}.seat-selection--admin .seat-selection-actions{display:none}.seat-selection--admin .seat{width:22px;height:22px;border-radius:5px;font-size:10px}.seat-selection--admin .seat-icon{font-size:12px}.seat-selection--admin .seat.assigned.adult .seat-icon{font-size:13px}.seat-selection--admin .seat-number{font-size:9px}.seat-selection--admin .seat-legend{color:#374151;background:#f3f4f6}.seat-selection--admin .legend-seat{width:16px;height:16px}.seat-selection h3{margin:0 0 4px;color:#2a2a5e}.seat-instructions{color:#666;font-size:14px;margin:0}.seat-loading{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;color:#1565c0;font-size:14px}.seat-loading i{font-size:16px}.seat-error{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;font-size:14px}.seat-error i{flex-shrink:0;margin-top:2px}.inventory{display:flex;gap:24px;flex-wrap:wrap;padding:12px 16px;background:#f8f9fa;border-radius:10px;border:1px solid #e0e0e0}.inventory-item{display:flex;align-items:center;gap:8px}.inventory-icon{font-size:20px;color:#2a2a5e}.inventory-label{font-size:14px;color:#555}.inventory-count{font-weight:600;color:#2a2a5e;font-size:15px}.bus-viewport{--bus-bleed: clamp(32px, 8vw, 160px);width:min(calc(100% + var(--bus-bleed) * 2),100vw);margin-left:calc(-1 * var(--bus-bleed));margin-right:calc(-1 * var(--bus-bleed));max-width:100vw;overflow:visible;padding:12px 0 16px;display:flex;justify-content:center}.bus-rotate-frame{width:100%;display:flex;justify-content:center}@media(max-width:1060px){.bus-viewport{--bus-bleed: 0px;width:100%;margin:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;padding:10px 12px;display:block}.bus-rotate-frame{display:inline-block;width:auto;min-width:max-content}}@media(max-width:720px){.bus-viewport{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding:12px 0;width:100%;margin:0;position:relative}.bus-rotate-frame{position:relative;display:inline-block;width:auto;min-width:max-content;padding:0;min-height:unset;overflow:visible}.bus-container{transform:none;box-shadow:none;border-radius:18px;min-width:max-content}}.bus-container{--unit: 20px;--bus-length-scale: 1.1;--item-size: calc(var(--unit) * 6);--gap-small: calc(var(--unit) * 2);--gap-normal: calc(var(--unit) * 3);--gap-large: calc(var(--unit) * 6);position:relative;display:inline-block;background:linear-gradient(135deg,#f0f4f8,#e8ecf0);border-radius:18px;padding:12px;border:2px solid #ccd5e0}.bus-body{display:flex;align-items:stretch;height:calc(var(--unit) * 18)}.bus-end{width:calc(var(--unit) * 3 * var(--bus-length-scale));flex-shrink:0;background:#dce3ec;border:2px solid #b9c6d8;color:#2a2a5e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:600;text-align:center;font-size:11px}.bus-back{border-radius:20px 0 0 20px}.bus-front{border-radius:0 30px 30px 0;background:linear-gradient(90deg,#d9e5f2,#c9d8ea 70%);box-shadow:inset -6px 0 10px #0000000d;position:relative}.bus-front:after{content:"";position:absolute;right:6px;top:10px;bottom:10px;width:10px;border-radius:6px;background:linear-gradient(180deg,#ffffffa6,#c8dcf0cc);box-shadow:-2px 0 4px #00000014}.bus-interior{background:#f6f8fb;border:2px solid #d4dce7;position:relative;overflow:visible;display:flex;flex-direction:column;padding:10px 15px}.bus-row{flex:1;display:flex;flex-direction:row-reverse;align-items:center;position:relative;padding-left:45px}.row-label{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:#555}.bus-aisle{display:flex;align-items:center;justify-content:center;padding:3px 0;margin-left:45px}.aisle-text{font-size:10px;color:#999;letter-spacing:3px;background:#f6f8fb;padding:0 15px;position:relative;z-index:1}.bus-aisle:before{content:"";position:absolute;left:45px;right:15px;height:1px;background:linear-gradient(90deg,transparent 0%,#d4dce7 5%,#d4dce7 95%,transparent 100%)}.grid-item{width:calc(var(--item-size) * var(--bus-length-scale));height:90%;flex-shrink:0}.gap-normal{width:calc(var(--gap-normal) * var(--bus-length-scale));flex-shrink:0}.gap-small{width:calc(var(--gap-small) * var(--bus-length-scale));flex-shrink:0}.gap-large{width:calc(var(--gap-large) * var(--bus-length-scale));flex-shrink:0}.gap-xlarge{width:calc(var(--gap-large) * 1.25 * var(--bus-length-scale));flex-shrink:0}.gap-driver{width:calc(var(--gap-normal) * 1.15 * var(--bus-length-scale));flex-shrink:0}.table-unit{width:100%;height:100%;background:#fdfdff;border-radius:10px;padding:6px 8px;box-shadow:0 2px 6px #00000014;border:1px solid #d9e3ef;display:flex;flex-direction:column;box-sizing:border-box;overflow:visible}.table-label{font-size:10px;text-align:center;color:#3a4a6a;font-weight:700;flex-shrink:0;line-height:1.2;margin-bottom:2px}.table-grid{display:flex;flex-direction:row;align-items:stretch;flex:1;gap:3px;min-width:0}.seat-column{display:flex;flex-direction:column;justify-content:space-around;gap:3px;flex-shrink:0}.table-surface{background-color:#93bee8;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><rect width='16' height='16' x='0' y='0' fill='%236fa4da'/><rect width='6' height='6' x='1' y='1' fill='%2393bee8'/><rect width='6' height='6' x='9' y='1' fill='%23f5e1a4'/><rect width='6' height='6' x='1' y='9' fill='%23f5e1a4'/><rect width='6' height='6' x='9' y='9' fill='%2393bee8'/></svg>");background-repeat:repeat;background-size:28px 28px;color:#2a2a5e;font-weight:700;font-size:11px;border-radius:6px;flex:1;min-width:40px;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 1px #ffffff59}.driver-section{width:100%;height:100%;background:#d9e5f2;border:2px solid #b9c6d8;color:#2a2a5e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:700;font-size:10px;border-radius:8px;box-sizing:border-box}.driver-section i{font-size:18px}.bus-stairs{width:100%;height:100%;background:#e8eef5;border:2px solid #aebdd2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;box-shadow:0 2px 6px #0000001a;box-sizing:border-box}.stairs-steps{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.stair-step{height:8px;background:linear-gradient(180deg,#d9e3ef,#c2cfdf,#b5c5d8);border:1px solid #a0b4c8;border-radius:2px;box-shadow:0 1px 2px #0000001a,inset 0 1px #ffffff80}.stair-step:nth-child(1){width:40%}.stair-step:nth-child(2){width:60%}.stair-step:nth-child(3){width:80%}.stairs-label{font-size:8px;font-weight:700;color:#5a6a8a;margin-top:3px;letter-spacing:.5px;text-transform:uppercase}.seat-wrapper{position:relative;z-index:1}.seat-wrapper.dropdown-open{z-index:99990}.seat{width:28px;height:28px;border-radius:6px;border:2px solid #b6a2d8;background:#f7f0ff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s ease;box-shadow:0 1px 3px #0000000f}.seat:hover:not(:disabled){transform:scale(1.1);box-shadow:0 2px 8px #00000026;z-index:10}.seat.available{background:#ad96dc;border-color:#8b72c5;color:#fff}.seat.occupied{background:#f5f5f5;border-color:#ccc;color:#bbb;cursor:not-allowed}.seat.assigned.adult{background:#e8f5e9;border-color:#81c784;color:#2e7d32}.seat.assigned.child{background:#fff3e0;border-color:#ffb74d;color:#e65100}.seat-icon{font-size:14px}.seat-number{font-size:10px;font-weight:600;color:#fff}.seat.assigned.adult .seat-icon{font-size:16px}.occupied-x{font-size:14px;color:#bbb}.seat-dropdown{position:absolute;left:50%;transform:translate(-50%);z-index:99999;background:#fff;border-radius:7px;box-shadow:0 4px 16px #00000038;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:76px}.seat-dropdown.dropdown-above{bottom:calc(100% + 6px);top:auto}.seat-dropdown.dropdown-below{top:calc(100% + 6px);bottom:auto}.dropdown-option{padding:6px 9px;border:none;background:#f8f9fa;border-radius:5px;cursor:pointer;font-size:11px;text-align:left;transition:background .12s;display:flex;align-items:center;gap:6px}.dropdown-option:hover:not(:disabled){background:#e3f2fd}.dropdown-option:disabled{opacity:.5;cursor:not-allowed}.dropdown-cancel{padding:5px 8px;border:none;background:transparent;color:#888;cursor:pointer;font-size:9px;text-align:center}.dropdown-cancel:hover{color:#333}.seat-legend{display:flex;gap:16px;flex-wrap:wrap;padding:8px 12px;background:#fafafa;border-radius:8px;font-size:13px}.legend-item{display:flex;align-items:center;gap:6px}.legend-seat{width:20px;height:20px;border-radius:4px;border:2px solid}.legend-seat.available{background:#ad96dc;border-color:#8b72c5}.legend-seat.occupied{background:#f5f5f5;border-color:#ccc}.legend-seat.adult{background:#e8f5e9;border-color:#81c784}.legend-seat.child{background:#fff3e0;border-color:#ffb74d}.seat-selection-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.seat-selection .back-btn{display:flex;align-items:center;gap:6px;background:#f0f0f0;color:#555;border:none;padding:10px 18px;border-radius:8px;font-size:15px;cursor:pointer;transition:background .15s}.seat-selection .back-btn:hover{background:#e0e0e0}.seat-selection .continue-btn{display:flex;align-items:center;gap:6px;background:#2a2a5e;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:15px;cursor:pointer;transition:background .15s,opacity .15s}.seat-selection .continue-btn:hover:not(:disabled){background:#3d3d7a}.seat-selection .continue-btn:disabled{opacity:.6;cursor:not-allowed}.bus-loading-overlay{position:absolute;inset:0;background:#ffffffe6;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:100}.loading-seats{display:flex;gap:10px}.loading-seat{width:24px;height:24px;border-radius:6px;border:3px solid #90caf9;background:#e3f2fd;animation:seatPulse 1.4s ease-in-out infinite}.loading-seat:nth-child(2){animation-delay:.15s}.loading-seat:nth-child(3){animation-delay:.3s}.loading-seat:nth-child(4){animation-delay:.45s}.loading-text{font-size:14px;color:#2a2a5e;font-weight:600}@keyframes seatPulse{0%{transform:scale(1);box-shadow:0 0 #90caf9b3}50%{transform:scale(1.12);box-shadow:0 0 0 10px #90caf900}to{transform:scale(1);box-shadow:0 0 #90caf900}}@media(max-width:1100px){.bus-container{--unit: 18px}.seat{width:26px;height:26px}}@media(max-width:950px){.bus-container{--unit: 16px}.seat{width:24px;height:24px}.seat-icon{font-size:12px}.seat-number{font-size:9px}}@media(max-width:850px){.bus-container{--unit: 14px}.seat{width:22px;height:22px}.driver-section{font-size:8px}.driver-section i{font-size:14px}.stairs-label{font-size:6px}.table-label{font-size:8px}}@media(max-width:768px){.bus-viewport{-webkit-overflow-scrolling:touch;touch-action:pan-x pinch-zoom;padding:12px 0}.bus-container{--unit: 13px}.seat{width:20px;height:20px}.inventory{flex-direction:column;gap:8px}.seat-legend{flex-wrap:wrap;justify-content:center}.seat-selection-actions{flex-direction:column}.seat-selection .back-btn,.seat-selection .continue-btn{justify-content:center;width:100%}.bus-viewport:after{content:"Swipe to see full bus →";display:block;text-align:center;font-size:11px;color:#888;padding:8px 0 0;animation:fadeHint 4s ease-out forwards}.bus-end,.row-label{font-size:9px}.aisle-text{font-size:8px}}@media(max-width:600px){.bus-container{--unit: 16px}.seat{width:18px;height:18px}.seat-icon{font-size:10px}.seat-number{font-size:7px}.table-surface span{display:none}.table-label{font-size:7px}}@media(max-width:480px){.bus-container{--unit: 14px}.seat{width:16px;height:16px}.seat-icon{font-size:9px}.seat-number{font-size:6px}.driver-section span,.stairs-label{display:none}.table-label{font-size:6px}}@keyframes fadeHint{0%,80%{opacity:1}to{opacity:0}}.seat.locked{cursor:not-allowed;position:relative}.seat.locked.assigned.adult,.seat.locked.assigned.child{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#15803d}.seat-lock-icon{position:absolute;bottom:2px;right:2px;font-size:8px;color:#ffffffe6}.seat-wrapper.locked-wrapper{position:relative}.seat-wrapper.locked-wrapper:after{content:"Locked";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);font-size:8px;color:#15803d;white-space:nowrap;font-weight:600}@media(max-width:768px){.seat-wrapper.locked-wrapper:after{font-size:7px;bottom:-14px}.seat-lock-icon{font-size:6px}}.meal-selection{display:flex;flex-direction:column;gap:18px;background:linear-gradient(145deg,#f8f9ff,#fff);border:1px solid #e3e8ff;border-radius:16px;padding:20px;position:relative;box-shadow:0 18px 46px #2a2d5b1f,0 2px 10px #0000000a;overflow:hidden}.meal-selection:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(79,70,229,.08),transparent 32%),radial-gradient(circle at 80% 10%,rgba(236,72,153,.06),transparent 30%);pointer-events:none;z-index:0}.meal-selection>*{position:relative;z-index:1}.meal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.meal-header h3{margin:0;font-size:20px;letter-spacing:-.01em}.meal-header .sub{margin:4px 0 0;color:#4b5563;font-size:14px}.meal-note{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:14px 16px;color:#7c2d12;font-size:14px;box-shadow:0 8px 24px #ff8b401f}.meal-note ul{margin:4px 0 8px 18px}.menu-key{display:flex;flex-wrap:wrap;gap:8px}.menu-pill{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;font-size:13px}.meal-tables{display:flex;flex-direction:column;gap:18px}.meal-table-header h4{margin:0;font-size:16px;font-weight:700;color:#1f2937}.meal-totals{border:1px solid #dfe4ff;border-radius:14px;padding:14px;background:linear-gradient(135deg,#f6f8ff,#eef2ff);display:flex;flex-direction:column;gap:6px}.total-row{display:flex;justify-content:space-between;font-size:14px}.total-row.total{font-weight:700;font-size:16px}.total-divider{height:1px;background:#e5e7eb;margin:4px 0}.meal-table{border:1px solid #e3e7f3;border-radius:14px;padding:14px;background:#fff;box-shadow:0 10px 30px #1118270f}.meal-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meal-rows{display:flex;flex-direction:column;gap:12px}.meal-row{display:grid;grid-template-columns:120px 90px 120px 1fr 240px 1.4fr;gap:10px;align-items:center;background:#fff;padding:10px 12px;border-radius:10px;border:1px solid #ecedf2;box-shadow:inset 0 1px #fffc}.meal-row:hover{border-color:#d6d9f5;box-shadow:0 10px 20px #1118270a}.meal-row.headings{background:transparent;border:none;box-shadow:none;padding:0 4px 6px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:12px}.meal-row.headings .meal-cell{padding:0}.col-help{display:inline-block;margin-left:6px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:700;border:1px solid #dbe4ff;cursor:help}.meal-cell select,.meal-cell input[type=text]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #d8ddea;font-size:14px;background:#f8fafc;color:#111827;transition:border .15s ease,box-shadow .15s ease,background .15s ease}.meal-cell select:focus,.meal-cell input[type=text]:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f;background:#fff}.meal-cell.seat{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#111827}.meal-cell.occupant{color:#111827;font-weight:600}.meal-cell .age-adult{color:#6b7280}.seat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.seat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;background:#eef2ff;color:#312e81;font-weight:700;border-radius:12px;border:1px solid #c7d2fe;box-shadow:inset 0 1px #ffffffe6}.chip-text{font-size:13px}.meal-cell.menu select{background:#f8fafc}.menu-cost{color:#6b7280;font-size:12px}.meal-cell.addons{display:flex;align-items:center;gap:10px;flex-direction:column;align-items:flex-start}.meal-cell.add-ons{display:flex;align-items:center;gap:10px}.meal-row.headings .meal-cell.add-ons{justify-content:flex-start}.addon-help{display:inline-flex;align-items:center;gap:6px;border:none;background:#eef2ff;color:#312e81;font-weight:600;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;border:1px solid #c7d2fe;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.addon-help:hover{background:#e0e7ff;box-shadow:0 6px 14px #4f46e51f;transform:translateY(-1px)}.addon-help .help-icon{width:18px;height:18px;border-radius:50%;background:#4f46e5;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.chip-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid #dcdff0;background:#f7f8ff;color:#111827;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border .15s ease,background .15s ease;width:100%;justify-content:space-between}.chip-toggle .chip-icon{font-size:16px}.chip-toggle .chip-price{font-size:12px;color:#4f46e5;font-weight:700}.chip-toggle.active{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 10px 30px #4f46e538;transform:translateY(-1px)}.chip-toggle.active .chip-icon,.chip-toggle.active .chip-text,.chip-toggle.active .chip-price{color:#fff}.chip-toggle:not(.active) .chip-price{color:#4f46e5;font-weight:700}.chip-toggle.active .chip-price{background:#ffffff1f;padding:2px 6px;border-radius:8px;color:#fff;font-weight:700}.chip-toggle.birthday.active{background:#ec4899;border-color:#ec4899;box-shadow:0 10px 30px #ec48993d}.chip-toggle.birthday:not(.active) .chip-price{color:#ec4899}.chip-toggle:not(.active):hover{border-color:#bfc6ff;box-shadow:0 6px 14px #4f46e51f}.chip-toggle:focus-visible{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e52e}.chip-hint{margin:0;font-size:12px;color:#6b7280}.meal-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecdd3;padding:10px;border-radius:8px}.meal-selection-actions{display:flex;gap:12px;margin-top:8px;justify-content:flex-end}.meal-selection .continue-btn:not(:disabled),.meal-selection .secondary-btn{padding:10px 18px;border-radius:8px;border:none;cursor:pointer}.meal-selection .continue-btn:not(:disabled){background:#2a2a5e;color:#fff}.meal-selection .secondary-btn{background:#e5e7eb;color:#111827}@media(max-width:960px){.meal-row{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-row.headings{display:none}.meal-cell.addons,.meal-cell.allergens{grid-column:1 / -1}.meal-cell.add-ons{grid-column:1 / -1;justify-content:space-between}.addon-help{font-size:11px;padding:4px 8px}.chip-toggle{padding:10px 12px}.meal-cell.seat,.meal-cell.occupant{font-size:14px}}.addon-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:2000}.addon-modal{background:#fff;border-radius:16px;max-width:860px;width:100%;position:relative;padding:20px;box-shadow:0 20px 50px #0f172a4d}.addon-modal-close{position:absolute;right:16px;top:16px;border:none;background:#f3f4f6;color:#111827;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.addon-modal-content{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.addon-modal-content .cupcake-copy h4{margin:0 0 8px}.addon-modal-content .cupcake-copy p{margin:0 0 8px;color:#4b5563;font-size:14px}.addon-modal-content .cupcake-cta{font-weight:600;color:#312e81}.cupcake-media{border-radius:14px;overflow:hidden;background:#111827}.cupcake-player{width:100%;height:auto;display:block}@media(max-width:900px){.addon-modal-content{grid-template-columns:1fr}}.cupcake-media{border-radius:16px;background:#fff;border:1px solid rgba(226,231,255,.85);box-shadow:0 14px 40px #10182814;overflow:hidden;height:320px;flex:0 0 360px;--crop-top: 10%;--crop-bottom: 20%}.cupcake-media:hover{transform:translateY(-6px);box-shadow:0 22px 60px #1018281f}.cupcake-player{width:100%;height:100%;display:block;object-fit:cover;object-position:50% calc(var(--crop-top) + (100% - var(--crop-top) - var(--crop-bottom)) / 2)}.cupcake-copy{max-width:560px}.cupcake-copy h4{margin:0 0 6px;font-size:16px}.cupcake-copy p{margin:0 0 6px;color:#374151;font-size:14px;line-height:1.45}.cupcake-cta{margin-top:8px;font-weight:700;color:#4f46e5}@media(max-width:640px){.cupcake-video{flex-direction:column;align-items:stretch}.cupcake-player{width:100%;max-width:none;min-width:0}}.meal-row.existing-seat{background:linear-gradient(90deg,#f0fdf4 0%,transparent 100%);border-left:3px solid #22c55e}.new-seat-badge{display:inline-block;background:#3b82f6;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase;letter-spacing:.5px}.upgrade-hint{display:block;font-size:11px;color:#92400e;margin-top:4px}.chip-toggle.locked{opacity:.7;cursor:not-allowed;background:#e5e7eb}.chip-toggle.locked:hover{transform:none}.review-payment{display:flex;flex-direction:column;gap:16px}.review-columns{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.review-left h3{margin:0 0 4px}.review-left .sub{margin:0 0 12px;color:#4b5563}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 4px 10px #00000008}.card h4{margin:0 0 8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.agent-block{display:flex;flex-direction:column;gap:8px}.contact-separator{height:1px;background:#e6e9ee;margin:8px 0 12px;grid-column:1 / -1}@media(min-width:640px){.form-grid>label:nth-child(1),.form-grid>label:nth-child(2),.agent-block{align-self:start}.agent-block{grid-column:auto / span 1;min-width:220px}}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#111827}.form-grid input{padding:8px;border-radius:8px;border:1px solid #d1d5db;font-size:14px}.field-error{margin-top:6px;font-size:13px;color:#b91c1c}.form-grid input[aria-invalid=true]{border-color:#fca5a5;box-shadow:0 0 0 3px #f973160f}.hint{color:#6b7280;font-size:13px;margin:0 0 8px}.phone-field{grid-column:1 / -1;min-width:0}.phone-field .phone-inputs{display:grid;grid-template-columns:110px 1fr;gap:6px;min-width:0;width:100%;box-sizing:border-box}.phone-inputs .country-code{text-align:right;min-width:0}.phone-inputs .phone-number{min-width:0;width:100%;box-sizing:border-box}.checkbox-row{flex-direction:row!important;align-items:center;gap:8px!important}.terms-row{margin-top:8px;font-weight:600}.terms-row a{color:#312e81;font-weight:700}.terms-link{border:none;background:none;padding:0;color:#312e81;font-weight:700;text-decoration:underline;cursor:pointer}.terms-row.terms-error{border:1px solid #fecaca;background:#fff1f2;border-radius:8px;padding:8px 10px}.non-refundable-note{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#374151;margin:4px 0 0}.non-refundable-icon{width:16px;height:16px;border-radius:50%;border:1px solid #9ca3af;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.terms-modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000}.terms-modal{background:#fff;border-radius:14px;width:min(900px,95vw);height:min(90vh,720px);padding:16px;box-shadow:0 24px 60px #0f172a59;position:relative;display:flex;flex-direction:column;gap:12px}.terms-modal h4{margin:0}.terms-modal-close{position:absolute;right:12px;top:10px;border:none;background:#f3f4f6;color:#111827;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.terms-modal-body{flex:1;min-height:0;height:100%}.terms-modal-body iframe{width:100%;height:100%;border:none}.meal-summary-list{display:flex;flex-direction:column;gap:8px}.meal-summary-row{border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#f9fafb;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px}.review-payment-actions{display:flex;justify-content:flex-end;gap:10px}.review-payment .continue-btn,.review-payment .secondary-btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer}.review-payment .continue-btn{background:#2a2a5e;color:#fff}.review-payment .secondary-btn{background:#e5e7eb;color:#111827}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecdd3;padding:10px;border-radius:8px}.info{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;padding:10px;border-radius:8px;font-weight:600}.review-right .sticky{position:sticky;top:12px}.summary-row{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}.summary-row.total{font-weight:700;font-size:16px}.mobile-summary{display:none}.success-view{display:flex;flex-direction:column;gap:16px}.success-hero{text-align:center;padding:16px;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:12px;color:#065f46}.check-circle{display:inline-flex;align-items:center;justify-content:center;color:#16a34a;margin-bottom:8px}.success-summary .summary-row.total{font-size:18px}@media(max-width:900px){.review-columns{grid-template-columns:1fr}.review-right .sticky{position:static}.mobile-summary{display:block}.review-right{display:none}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.phone-field .phone-inputs{grid-template-columns:90px 1fr}}.booking-logic{display:flex;flex-direction:column;gap:18px}.booking-summary-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7f2ff,#eef4ff);border:1px solid #e0d6f5;border-radius:14px;padding:12px 14px;box-shadow:0 6px 14px #0000000d}.booking-summary-bar.subtle{background:transparent;border:none;box-shadow:none;padding:6px 0;justify-content:flex-start;gap:12px}.summary-pill{display:flex;align-items:baseline;gap:8px;padding:8px 12px;background:#fff;border-radius:12px;border:1px solid #d9e3ef;box-shadow:inset 0 1px #fff9}.booking-summary-bar.subtle .summary-pill{background:transparent;border:none;box-shadow:none;padding:4px 6px}.summary-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6a6d85;font-weight:700}.summary-value{font-size:16px;font-weight:700;color:#2a2a5e}.booking-summary-bar.subtle .summary-label{font-size:11px;color:#666;font-weight:600}.booking-summary-bar.subtle .summary-value{font-size:14px;color:#333;font-weight:700}.booking-steps{display:flex;align-items:center}.mobile-stepper{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8f9ff;border:1px solid #e3e8ff;border-radius:12px}.mobile-step-bubble{width:36px;height:36px;border-radius:18px;background:#4a67ff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.mobile-step-text{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.mobile-step-title{font-weight:700;color:#1a1b2d;font-size:14px}.mobile-step-count{font-size:13px;color:#4a4b5e}.mobile-selected-date{margin-top:4px;font-size:13px;color:#4a4b5e;padding-left:4px}.steps-line{position:relative;width:100%;height:60px;background:transparent}.steps-line:before{content:"";position:absolute;left:8%;right:8%;top:28px;height:6px;background:#e6e7ea;border-radius:4px}.steps-line-fill{position:absolute;left:8%;right:8%;top:28px;height:6px;background:#82c341;border-radius:4px;transform-origin:left center;transform:scaleX(0);transition:transform .3s ease}.steps-nodes{position:absolute;left:8%;right:8%;top:0;display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.steps-line{display:none}.booking-summary-bar{align-items:stretch;justify-content:stretch}.summary-pill{width:100%;justify-content:space-between}.mobile-stepper{padding:8px 10px;gap:8px}.mobile-step-text{gap:6px}}.step-node-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.step-node{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #e6e7ea;transition:all .2s ease}.step-node.done{background:#82c341;border-color:#82c341}.step-label{font-size:12px;color:#555;white-space:nowrap;margin-top:4px}.booking-steps-content{background:#fff;padding:18px;border-radius:10px;box-shadow:0 6px 20px #0a0a0a0f}.hold-error{padding:12px 16px;background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;font-size:14px;margin-bottom:12px}.payment-result-page{min-height:100vh;background:linear-gradient(180deg,#f8f5ff,#fff 55%)}.payment-result-main{padding:2.5rem 1.5rem 4rem}.payment-result-container{max-width:860px;margin:0 auto}.payment-card{background:#fff;border-radius:20px;box-shadow:0 24px 60px #0f172a1f;padding:2.5rem;text-align:center}.status-icon{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin-bottom:1rem}.status-icon.success{background:#e6f8f0;color:#0f9d66}.status-icon.warning{background:#fff3e0;color:#f57c00}.payment-card h2{font-size:2rem;margin-bottom:.5rem}.status-subtitle{color:#475569;margin-bottom:1.5rem}.booking-ref{background:#f1f5f9;border-radius:10px;padding:.75rem 1rem;display:inline-block;margin-bottom:1.5rem;font-weight:600}.verification-block{margin-bottom:1.5rem}.card.summary-card{text-align:left;margin:1rem auto 0;max-width:520px}.summary-row{display:flex;justify-content:space-between;padding:.4rem 0;font-weight:500}.hint{margin-top:.75rem;color:#64748b;font-size:.95rem}.info{background:#eef2ff;color:#4338ca;padding:.75rem 1rem;border-radius:10px;margin:.75rem 0;font-weight:600}.error{background:#fee2e2;color:#b91c1c;padding:.75rem 1rem;border-radius:10px;margin:.75rem 0;font-weight:600}.retry-block{margin:1.5rem 0 1rem}.primary-btn{background:#5b21b6;color:#fff;border:none;padding:.85rem 1.75rem;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #5b21b640}.action-links{margin-top:1.5rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.secondary-link{color:#5b21b6;font-weight:600;text-decoration:none}.secondary-link:hover{text-decoration:underline}@media(max-width:640px){.payment-card{padding:2rem 1.5rem}.summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.booking-page{display:flex;flex-direction:column;min-height:100vh;background:#f7f9fc}.booking-main{flex:1}.booking-container{max-width:1200px;margin:0 auto;padding:24px 20px 48px}.booking-content{background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:16px}.booking-switch{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;padding:12px 14px;margin-bottom:12px;color:#312e81;font-weight:600}.booking-switch a{color:#1d4ed8;font-weight:700}.ramadan-offer-banner{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 14px;margin-bottom:16px;color:#7c2d12;font-weight:600}.ramadan-offer-banner p{margin-top:6px;font-weight:500;color:#9a3412}.ramadan-offer-title{display:inline-flex;align-items:center;gap:8px;font-size:16px}@media(max-width:768px){.booking-container{padding:16px}.booking-content{padding:12px}}.rebook-lookup{max-width:500px;margin:0 auto;padding:2rem}.rebook-lookup-header{text-align:center;margin-bottom:2rem}.rebook-lookup-header h2{font-size:1.75rem;color:var(--primary-color, #7c3aed);margin-bottom:.75rem}.rebook-intro{color:#666;font-size:1rem;line-height:1.5;margin-bottom:1rem}.rebook-rules-hint{text-align:left;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:1rem;font-size:.9rem}.rebook-rules-hint strong{color:#92400e}.rebook-rules-hint ul{margin:.5rem 0 0 1.25rem;padding:0;color:#78350f}.rebook-rules-hint li{margin-bottom:.25rem}.rebook-lookup-form{display:flex;flex-direction:column;gap:1.25rem}.rebook-lookup-form .form-group{display:flex;flex-direction:column;gap:.5rem}.rebook-lookup-form label{font-weight:600;color:#333;display:flex;flex-direction:column;gap:.25rem}.rebook-lookup-form .field-hint{font-weight:400;font-size:.85rem;color:#666}.rebook-lookup-form input{padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;color:#111827;transition:border-color .2s,box-shadow .2s}.rebook-lookup-form input:focus,.rebook-lookup-form input:not(:placeholder-shown){color:#111827}.rebook-lookup-form input::placeholder{color:#9ca3af}.rebook-lookup-form input:focus{outline:none;border-color:var(--primary-color, #7c3aed);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.rebook-lookup-form input:disabled{background:#f5f5f5;cursor:not-allowed}.rebook-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;color:#dc2626;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.rebook-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--primary-color, #7c3aed);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.rebook-submit-btn:hover:not(:disabled){background:var(--primary-dark, #6d28d9)}.rebook-submit-btn:active:not(:disabled){transform:scale(.98)}.rebook-submit-btn:disabled{opacity:.7;cursor:not-allowed}.rebook-help{margin-top:2rem;text-align:center;font-size:.9rem;color:#666}.rebook-help a{color:var(--primary-color, #7c3aed);text-decoration:none}.rebook-help a:hover{text-decoration:underline}@media(max-width:600px){.rebook-lookup{padding:1rem}.rebook-lookup-header h2{font-size:1.5rem}}.rebook-review-payment{display:flex;flex-direction:column;gap:20px}.rebook-review-payment .review-columns{display:flex;gap:24px;align-items:flex-start}.rebook-review-payment .review-left{flex:1;display:flex;flex-direction:column;gap:20px}.rebook-review-payment .review-right{width:320px;flex-shrink:0}.rebook-review-payment h3{margin:0;font-size:1.5rem;color:#2a2a5e}.rebook-review-payment .sub{color:#666;margin:4px 0 0}.rebook-review-payment .card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.rebook-review-payment .card h4{margin:0 0 16px;font-size:1.1rem;color:#1f2937}.rebook-review-payment .card.sticky{position:sticky;top:20px}.changes-summary .change-section{margin-bottom:16px}.changes-summary .change-section:last-child{margin-bottom:0}.changes-summary h5{margin:0 0 8px;font-size:.9rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.change-row{display:grid;grid-template-columns:100px 1fr auto 1fr;gap:8px;align-items:center;padding:6px 0;font-size:.95rem}.change-row .old-value{color:#9ca3af;text-decoration:line-through}.change-row .arrow{color:#9ca3af;font-size:1.1rem}.change-row .new-value{font-weight:600;color:#1f2937}.change-row .new-value.increased{color:#059669}.cost-comparison{background:linear-gradient(135deg,#f8f9ff,#eef2ff)}.cost-comparison-header{display:grid;grid-template-columns:120px 100px 30px 100px 1fr;gap:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase}.cost-comparison-row{display:grid;grid-template-columns:120px 100px 30px 100px 1fr;gap:8px;align-items:center;padding:10px 0;font-size:.95rem}.cost-comparison-row.changed{background:#3b82f60d;margin:0 -20px;padding:10px 20px}.cost-label{font-weight:500;color:#374151}.cost-old{color:#9ca3af}.cost-arrow{color:#9ca3af;text-align:center}.cost-new{font-weight:600;color:#1f2937}.cost-diff{font-weight:600;font-size:.9rem;padding:2px 8px;border-radius:4px}.cost-diff.increase{background:#fef3c7;color:#92400e}.cost-diff.decrease{background:#d1fae5;color:#065f46}.cost-divider{height:1px;background:#e5e7eb;margin:8px 0}.amount-due-banner{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center}.amount-due-label{font-size:1rem;font-weight:500}.amount-due-value{font-size:1.5rem;font-weight:700}.meal-summary-list{display:flex;flex-direction:column;gap:12px}.meal-summary-row{padding:12px;background:#f9fafb;border-radius:8px;font-size:.9rem}.meal-summary-row.new-guest{background:linear-gradient(90deg,#eff6ff,#f9fafb);border-left:3px solid #3b82f6}.new-badge{display:inline-block;background:#3b82f6;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase}.no-changes-note{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:.95rem}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.95rem}.summary-row.highlight{background:#fef3c7;margin:0 -20px;padding:8px 20px;font-weight:600}.summary-row.total{font-weight:700;font-size:1.1rem}.summary-row.amount-due{color:var(--primary-color)}.summary-divider{height:1px;background:#e5e7eb;margin:8px 0}.rebook-actions{display:flex;gap:12px;justify-content:flex-end}.rebook-actions .secondary-btn{padding:12px 24px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.rebook-actions .secondary-btn:hover:not(:disabled){background:#e5e7eb}.rebook-actions .continue-btn{padding:12px 24px;background:var(--primary-color, #7c3aed);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.rebook-actions .continue-btn:hover:not(:disabled){background:var(--primary-dark, #6d28d9)}.rebook-actions button:disabled{opacity:.6;cursor:not-allowed}.rebook-review-payment .error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626}.rebook-review-payment .info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:12px 16px;color:#4338ca;font-weight:600}.rebook-review-payment.success-view{text-align:center;padding:40px 20px}.success-hero{margin-bottom:32px}.success-hero .check-circle{width:80px;height:80px;margin:0 auto 20px;background:#d1fae5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#059669}.success-hero h3{color:#059669;margin-bottom:8px}.success-hero p{color:#6b7280}.success-summary{max-width:400px;margin:0 auto;text-align:left}@media(max-width:900px){.rebook-review-payment .review-columns{flex-direction:column}.rebook-review-payment .review-right{width:100%;order:-1}.rebook-review-payment .card.sticky{position:static}.cost-comparison-header,.cost-comparison-row{grid-template-columns:1fr;gap:4px}.cost-comparison-header{display:none}.cost-comparison-row{display:flex;flex-wrap:wrap;gap:8px}.cost-label{flex:1 0 100%;font-weight:600}.cost-old:before{content:"Was: ";color:#9ca3af}.cost-new:before{content:"Now: ";color:#6b7280}.change-row{grid-template-columns:80px 1fr auto 1fr}}@media(max-width:600px){.rebook-actions{flex-direction:column}.rebook-actions button{width:100%}}.rebooking-logic{display:flex;flex-direction:column;gap:20px}.rebooking-logic.success-only{min-height:400px;display:flex;align-items:center;justify-content:center}.rebook-booking-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;font-size:.95rem}.rebook-booking-banner .banner-label{color:#1e40af;font-weight:500}.rebook-booking-banner .banner-id{font-family:monospace;font-weight:700;color:#1e3a8a;background:#fff;padding:4px 10px;border-radius:6px;border:1px solid #bfdbfe}.rebooking-logic .booking-steps{position:relative;padding:20px 0}.rebooking-logic .steps-line{position:relative;display:flex;justify-content:space-between;align-items:flex-start;max-width:800px;margin:0 auto;padding:0 40px}.rebooking-logic .steps-line:before{content:"";position:absolute;top:12px;left:40px;right:40px;height:3px;background:#e5e7eb;z-index:0}.rebooking-logic .steps-line-fill{position:absolute;top:12px;left:40px;right:40px;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));transform-origin:left;z-index:1;transition:transform .3s ease}.rebooking-logic .steps-nodes{display:flex;justify-content:space-between;width:100%;position:relative;z-index:2}.rebooking-logic .step-node-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.rebooking-logic .step-node{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid #e5e7eb;transition:all .2s ease}.rebooking-logic .step-node.done{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-color:var(--primary-color)}.rebooking-logic .step-label{font-size:12px;color:#6b7280;text-align:center;max-width:80px}.rebooking-logic .mobile-stepper{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#f8f9ff,#eef2ff);border-radius:12px;border:1px solid #e3e8ff}.rebooking-logic .mobile-step-bubble{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.rebooking-logic .mobile-step-text{display:flex;flex-direction:column}.rebooking-logic .mobile-step-title{font-weight:600;color:#1f2937}.rebooking-logic .mobile-step-count{font-size:13px;color:#6b7280}.rebooking-logic .booking-summary-bar{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.rebooking-logic .summary-pill{display:flex;align-items:center;gap:8px}.rebooking-logic .summary-label{font-size:13px;color:#6b7280}.rebooking-logic .summary-value{font-weight:600;color:#1f2937}.rebooking-logic .original-strike{text-decoration:line-through;color:#6b7280;opacity:.9}.rebooking-logic .pricing-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626}.rebooking-logic .tour-selection{display:flex;flex-direction:column;gap:20px}.rebooking-logic .tour-selection-section{display:flex;flex-direction:column;gap:12px}.rebooking-logic .tour-section-title{font-size:1.25rem;color:#1f2937;margin:0}.rebooking-logic .tour-section-description{color:#6b7280;margin:0}.rebooking-logic .tour-selection-actions{display:flex;gap:12px;justify-content:flex-end}.rebooking-logic .continue-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.rebooking-logic .continue-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark),var(--primary-dark))}.rebooking-logic .continue-btn:disabled{opacity:.6;cursor:not-allowed}.rebooking-logic .secondary-btn{padding:12px 24px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.rebooking-logic .secondary-btn:hover:not(:disabled){background:#e5e7eb}.rebooking-logic .booking-steps-content{min-height:300px}@media(max-width:768px){.rebooking-logic .steps-line{display:none}.rebook-booking-banner{flex-direction:column;text-align:center;gap:8px}.rebooking-logic .tour-selection-actions{flex-direction:column}.rebooking-logic .tour-selection-actions button{width:100%}}.rebook-page{display:flex;flex-direction:column;min-height:100vh;background:#f7f9fc;--primary-color: #2cb672;--primary-dark: #23925b;--primary-rgb: 44,182,114}.rebook-main{flex:1}.rebook-container{max-width:1200px;margin:0 auto;padding:24px 20px 48px}.rebook-content{background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:16px}.rebook-switch{background:#2cb6721f;border:1px solid rgba(44,182,114,.35);border-radius:12px;padding:12px 14px;margin-bottom:12px;color:#1f6b44;font-weight:600}.rebook-switch a{color:#1d4ed8;font-weight:700}@media(max-width:768px){.rebook-container{padding:16px}.rebook-content{padding:12px}}.pending-payment-page{background:#f8fafc;min-height:100vh}.pending-payment-main{padding:32px 16px 64px}.pending-payment-container{max-width:720px;margin:0 auto}.pending-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 18px 60px #0f172a1f;display:flex;flex-direction:column;gap:16px}.pending-card h2{margin:0;font-size:26px}.pending-card .subtitle{margin:0;color:#64748b}.booking-ref{background:#0f172a0a;padding:12px 14px;border-radius:12px;font-weight:600}.summary-card{border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:grid;gap:8px}.summary-card h4{margin:0 0 8px}.summary-table{display:flex;flex-direction:column;gap:10px;font-size:14px}.summary-table-row{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:8px 12px;align-items:center}.summary-table-header{padding-bottom:6px;border-bottom:1px solid #e2e8f0}.summary-header{font-weight:600;color:#1f2937}.summary-row{display:flex;justify-content:space-between;gap:12px;font-size:15px}@media(max-width:640px){.pending-card{padding:20px}.summary-table-header{display:none}.summary-table-row{grid-template-columns:1fr;gap:6px;padding:12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.summary-table-row>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.summary-table-row>div:before{content:attr(data-label);font-weight:600;color:#1f2937}}.primary-btn{background:linear-gradient(90deg,#6366f1,#a855f7);border:none;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;cursor:pointer}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.error{background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#b91c1c;padding:10px 12px;border-radius:10px}.info{background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#1d4ed8;padding:10px 12px;border-radius:10px}.admin-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(44,182,114,.12),transparent 30%),radial-gradient(circle at 80% 0%,rgba(31,63,114,.14),transparent 30%),#f4f7fb;padding:24px}.admin-login__card{width:min(520px,96vw);background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);border:1px solid #e6eaf0;padding:22px 24px}.admin-login__header{margin-bottom:16px}.login-badge{display:inline-block;background:#1f3f72;color:#fff;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.06em}.admin-login__header h1{margin:10px 0 4px}.admin-login__header p{color:var(--text-secondary)}.admin-login__form{display:flex;flex-direction:column;gap:12px}.admin-login__form label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#1f2a3d}.admin-login__form input{border:1px solid #d9e1ec;border-radius:12px;padding:12px 14px;font-size:15px;background:#f9fbff}.admin-login__error{background:#fff0f0;color:#c0392b;border:1px solid #ffd6d6;border-radius:12px;padding:10px 12px}.admin-login__submit{background:linear-gradient(135deg,#2cb672,#1f8f58);color:#fff;border:none;padding:12px 16px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px #2cb67238}.admin-login__footer{margin-top:16px;padding:12px;background:#f8fafc;border-radius:12px;border:1px solid #e6eaf0}.tip-title{font-weight:700;margin-bottom:8px}.admin-login__footer ul{padding-left:16px;color:var(--text-secondary)}.admin-login__footer li+li{margin-top:4px}.abm-root{display:flex;flex-direction:column;gap:10px}.abm-legend-text{font-size:13px;color:var(--text-secondary, #64748b);margin:0}.abm-legend-row{display:flex;gap:20px;flex-wrap:wrap}.abm-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.abm-legend-dot{width:14px;height:14px;border-radius:4px;display:inline-block;flex-shrink:0}.abm-legend-available{background:#ad96dc;border:2px solid #8b72c5}.abm-legend-booked{background:#fecdd3;border:2px solid #fb7185}.abm-legend-pending{background:repeating-linear-gradient(-45deg,#fecdd3 0px 4px,#64748b 4px 8px);border:2px solid #fb7185}.abm-viewport{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding:10px 0 14px}.abm-bus-container{--u: 18px;--ls: 1.08;--item: calc(var(--u) * 6);--gap: calc(var(--u) * 3 * var(--ls));--gap-sm: calc(var(--u) * 2 * var(--ls));--gap-xl: calc(var(--u) * 7.5 * var(--ls));--gap-drv: calc(var(--u) * 3.5 * var(--ls));display:inline-block;background:linear-gradient(135deg,#f0f4f8,#e8ecf0);border-radius:18px;padding:10px;border:2px solid #ccd5e0;min-width:max-content}.abm-bus-body{display:flex;align-items:stretch;height:calc(var(--u) * 18)}.abm-bus-end{width:calc(var(--u) * 3 * var(--ls));flex-shrink:0;background:#dce3ec;border:2px solid #b9c6d8;color:#2a2a5e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-weight:600;font-size:11px}.abm-bus-back{border-radius:20px 0 0 20px}.abm-bus-front{border-radius:0 30px 30px 0;background:linear-gradient(90deg,#d9e5f2,#c9d8ea 70%)}.abm-bus-interior{background:#f6f8fb;border:2px solid #d4dce7;display:flex;flex-direction:column;padding:10px 14px;overflow:visible}.abm-bus-row{flex:1;display:flex;flex-direction:row-reverse;align-items:center;position:relative;padding-left:30px}.abm-row-label{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:#555}.abm-aisle{display:flex;align-items:center;justify-content:center;padding:3px 0;margin-left:30px;position:relative}.abm-aisle:before{content:"";position:absolute;left:0;right:14px;height:1px;background:linear-gradient(90deg,transparent,#d4dce7 5%,#d4dce7 95%,transparent)}.abm-aisle-text{font-size:10px;color:#999;letter-spacing:3px;background:#f6f8fb;padding:0 12px;z-index:1;position:relative}.abm-grid-item{width:calc(var(--item) * var(--ls));height:90%;flex-shrink:0}.abm-gap{width:var(--gap);flex-shrink:0}.abm-gap-sm{width:var(--gap-sm);flex-shrink:0}.abm-gap-xl{width:var(--gap-xl);flex-shrink:0}.abm-gap-driver{width:var(--gap-drv);flex-shrink:0}.abm-table-unit{width:100%;height:100%;background:#fdfdff;border-radius:10px;padding:5px 7px;box-shadow:0 2px 6px #00000014;border:1px solid #d9e3ef;display:flex;flex-direction:column;box-sizing:border-box}.abm-table-label{font-size:9px;text-align:center;color:#3a4a6a;font-weight:700;line-height:1.2;margin-bottom:2px}.abm-table-grid{display:flex;flex-direction:row;align-items:stretch;flex:1;gap:3px;min-width:0}.abm-seat-col{display:flex;flex-direction:column;justify-content:space-around;gap:3px;flex-shrink:0}.abm-left-col{align-items:flex-end}.abm-right-col{align-items:flex-start}.abm-table-surface{background-color:#93bee8;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><rect width='16' height='16' x='0' y='0' fill='%236fa4da'/><rect width='6' height='6' x='1' y='1' fill='%2393bee8'/><rect width='6' height='6' x='9' y='1' fill='%23f5e1a4'/><rect width='6' height='6' x='1' y='9' fill='%23f5e1a4'/><rect width='6' height='6' x='9' y='9' fill='%2393bee8'/></svg>");background-repeat:repeat;background-size:24px 24px;color:#2a2a5e;font-weight:700;font-size:10px;border-radius:6px;flex:1;min-width:34px;display:flex;align-items:center;justify-content:center;text-align:center}.abm-seat-wrapper{position:relative}.abm-seat{width:26px;height:26px;border-radius:6px;border:2px solid #b6a2d8;display:flex;align-items:center;justify-content:center;font-weight:700;transition:transform .1s ease;box-sizing:border-box}.abm-seat:hover{transform:scale(1.12);z-index:10;position:relative}.abm-available{background:#ad96dc;border-color:#8b72c5}.abm-occupied{border-width:2px;box-shadow:0 0 0 1px #0000001f}.abm-pending{border-width:2px;border-style:dashed;box-shadow:0 0 0 1px #0000001a;opacity:.85}.abm-seat-num{font-size:8px;color:inherit}.abm-occupied .abm-seat-num,.abm-pending .abm-seat-num{color:#0f172a;font-weight:800}.abm-available .abm-seat-num{color:#fff}.abm-driver{width:100%;height:100%;background:#d9e5f2;border:2px solid #b9c6d8;color:#2a2a5e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:700;font-size:9px;border-radius:8px;box-sizing:border-box}.abm-driver i{font-size:16px}.abm-stairs{width:100%;height:100%;background:#e8eef5;border:2px solid #aebdd2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;box-sizing:border-box}.abm-stair-steps{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.abm-stair-step{height:7px;background:linear-gradient(180deg,#d9e3ef,#b5c5d8);border:1px solid #a0b4c8;border-radius:2px}.abm-stair-step:nth-child(1){width:40%}.abm-stair-step:nth-child(2){width:60%}.abm-stair-step:nth-child(3){width:80%}.abm-stairs-label{font-size:7px;font-weight:700;color:#5a6a8a;margin-top:3px;letter-spacing:.5px;text-transform:uppercase}.admin-meal-table{display:flex;flex-direction:column;gap:12px}.admin-meal-header h4{margin:0 0 4px}.admin-meal-table__wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.admin-meal-table table{width:100%;border-collapse:collapse;min-width:680px}.admin-meal-table th,.admin-meal-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;color:#1e293b;font-size:14px}.chip-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#ede9fe;color:#4f46e5;margin-bottom:6px}.admin-meal-table th{background:#f1f5f9;font-weight:600;color:#0f172a}.admin-meal-table tr:last-child td{border-bottom:none}.admin-meal-table select,.admin-meal-table input[type=text],.admin-meal-table input[type=number]{width:100%;background:#fff;border:1px solid #cbd5e1;color:#0f172a;border-radius:8px;padding:6px 8px}.admin-meal-table select:focus,.admin-meal-table input[type=text]:focus,.admin-meal-table input[type=number]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.admin-meal-table tr:hover td{background:#f8fafc}.checkbox-chip{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#1e293b}.checkbox-chip input{width:16px;height:16px;accent-color:#6366f1}.reschedule-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;animation:reschModalFadeIn .2s ease}@keyframes reschModalFadeIn{0%{opacity:0}to{opacity:1}}.reschedule-modal{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 24px 80px #00000038;width:100%;max-width:1320px;max-height:90vh;overflow-y:auto;padding:28px 32px 24px;animation:reschModalSlideUp .25s ease}@keyframes reschModalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reschedule-modal__close{position:absolute;top:14px;right:18px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;width:32px;height:32px;font-size:18px;display:grid;place-items:center;cursor:pointer;color:#64748b;transition:background .15s,color .15s;z-index:2}.reschedule-modal__close:hover{background:#e2e8f0;color:#0f172a}.reschedule-modal .ops-flow{max-height:none}@media(max-width:768px){.reschedule-modal{max-width:100%;padding:18px 16px;border-radius:14px}}.manage-panel{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #dfe7f3;border-left:5px solid #94a3b8;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.06));position:relative}.manage-panel__reload-overlay{position:absolute;inset:0;background:#f8fafcc7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:20;border-radius:14px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:mpOverlayFadeIn .18s ease}@keyframes mpOverlayFadeIn{0%{opacity:0}to{opacity:1}}.manage-panel__reload-spinner{display:block;width:28px;height:28px;border:3px solid #cbd5e1;border-top-color:#6366f1;border-radius:50%;animation:mpSpin .7s linear infinite}@keyframes mpSpin{to{transform:rotate(360deg)}}.manage-panel__reload-label{font-size:13px;font-weight:600;color:#64748b;letter-spacing:.01em}.manage-panel__header{display:flex;flex-direction:column;gap:8px;padding:14px 18px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.manage-panel__back{align-self:flex-start;background:none;border:none;color:#6366f1;font-weight:600;font-size:13px;cursor:pointer;padding:0}.manage-panel__back:hover{text-decoration:underline}.manage-panel__title{display:flex;align-items:center;gap:10px}.manage-panel__title h3{margin:0;font-size:16px;color:#0f172a}.manage-panel__chip{display:inline-block;width:14px;height:14px;border-radius:4px;flex-shrink:0}.manage-panel__id{font-size:12px;color:#64748b;font-weight:600;font-family:SF Mono,Fira Code,monospace}.manage-panel__loading{padding:24px 18px;text-align:center;color:#64748b;font-size:14px}.manage-panel__error{margin:12px 18px;padding:10px 14px;background:#fff0f0;color:#b42318;border:1px solid #ffd6d6;border-radius:10px;font-size:13px}.manage-panel__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:14px}.manage-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.manage-panel__feedback{padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600}.manage-panel__feedback.success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.manage-panel__feedback.error{background:#fff0f0;color:#b42318;border:1px solid #ffd6d6}.manage-panel__payment-link-box{grid-column:1 / -1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:12px 14px}.manage-panel__payment-link-label{font-size:12px;color:#0c4a6e;font-weight:600;margin-bottom:8px}.manage-panel__payment-link-row{display:flex;gap:6px;align-items:center}.manage-panel__payment-link-input{flex:1;font-size:11px;font-family:monospace;padding:6px 10px;border:1px solid #bae6fd;border-radius:8px;background:#fff;color:#0f172a;min-width:0}.manage-panel__payment-link-copy{flex-shrink:0;background:#0284c7;color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.manage-panel__payment-link-copy:hover{background:#0369a1}.manage-panel__payment-info{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.manage-panel__payment-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.manage-panel__payment-pill.paid{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.manage-panel__payment-pill.outstanding{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.manage-panel .manage-action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}.manage-panel .manage-action-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.manage-panel .manage-action-btn:disabled{opacity:.45;cursor:not-allowed}.manage-panel .manage-action-btn.accent{background:#eef2ff;border-color:#c7d2fe}.manage-panel .manage-action-btn.accent:hover:not(:disabled){background:#e0e7ff;border-color:#6366f1}.manage-panel .manage-action-btn.warning{background:#fefce8;border-color:#fde68a}.manage-panel .manage-action-btn.warning:hover:not(:disabled){background:#fef9c3;border-color:#f59e0b}.manage-panel .manage-action-btn.danger{background:#fef2f2;border-color:#fecaca}.manage-panel .manage-action-btn.danger:hover:not(:disabled){background:#fde2e2;border-color:#ef4444}.manage-panel .manage-action-icon{font-size:20px;flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.manage-panel .manage-action-text{display:flex;flex-direction:column;gap:2px}.manage-panel .manage-action-text strong{font-size:13px;font-weight:600;color:#0f172a}.manage-panel .manage-action-text small{font-size:11px;color:#64748b;font-weight:400}.admin-bookings{display:flex;flex-direction:column;gap:18px}.admin-bookings__header{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-bookings__header .muted{color:var(--text-secondary)}.actions{display:flex;gap:8px}.tour-tabs{display:flex;flex-wrap:wrap;gap:10px}.tour-tab{background:#f2f5fb;border:1px solid #dfe7f3;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:140px;text-align:left;color:#1f2a3d;font-weight:700}.tour-tab.active{background:#1f3f72;color:#fff;border-color:#1f3f72;box-shadow:0 10px 26px #1f3f7240}.tour-time{font-size:16px}.tour-sub{font-size:12px;color:inherit;opacity:.8}.seat-map-wrapper{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:16px;box-shadow:var(--shadow-md)}.seat-map-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.bookings-list{display:flex;flex-direction:column;gap:16px;position:relative}.bookings-list__heading{display:flex;align-items:baseline;gap:12px}.bookings-list__heading h3{margin:0}.booking-card{border:1px solid #dfe7f3;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:opacity .3s ease,filter .3s ease}.booking-card-wrapper{position:relative}.booking-card--hidden{opacity:0;pointer-events:none;max-height:0;overflow:hidden;transition:opacity .25s ease,max-height .35s ease}.booking-card-manage-slide{animation:manageFadeIn .3s ease both}@keyframes manageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.booking-card__header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.btn-manage-booking{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn-manage-booking:hover{background:#e0e7ff;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.bookings-list--reloading>*:not(.bookings-list__reload-overlay){opacity:.4;pointer-events:none;filter:grayscale(.3);transition:opacity .3s ease,filter .3s ease}.bookings-list__reload-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;font-weight:700;font-size:15px;color:#475569;pointer-events:none}.booking-card__header{padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:#0f172a;background:#f8fafc}.booking-card__header-left{display:flex;align-items:flex-start;gap:10px}.booking-card__color-chip{display:inline-block;width:14px;height:14px;border-radius:4px;flex-shrink:0;margin-top:4px}.booking-card__contact{margin:4px 0 0;font-size:13px;color:#374151}.badge{background:#f1f5f9;border:1px solid #e2e8f0;padding:4px 10px;border-radius:10px;font-weight:700;font-size:12px;color:#374151;white-space:nowrap}.booking-card__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;padding:12px 14px;border-bottom:1px solid #eef2f7}.label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #64748b);font-weight:800;margin:0 0 2px}.value{font-weight:700;color:#0f172a;margin:0}.booking-card__tables-wrapper{display:flex;flex-direction:column;gap:0}.booking-table-group{border-top:1px solid #eef2f7}.booking-table-group__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:#f8fafc;margin-left:0}.booking-table-group__title{font-weight:800;font-size:13px;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.booking-table-group__seats{font-size:12px;color:#64748b;font-weight:600}.booking-card__table{width:100%;border-collapse:collapse}.booking-card__table th,.booking-card__table td{border-bottom:1px solid #f1f5f9;padding:8px 14px;text-align:left;font-size:13px}.booking-card__table th{background:#fff;font-weight:800;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.booking-card__table tbody tr:last-child td{border-bottom:none}.booking-card__table tbody tr:hover{background:#f9fafb}.status.error{background:#fff0f0;color:#b42318;border:1px solid #ffd6d6;padding:10px 12px;border-radius:12px}.btn-choose-date{display:inline-flex;align-items:center;gap:8px;background:#1f3f72;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s ease,transform .08s ease}.btn-choose-date:hover{background:#163060;transform:translateY(-1px)}@media(max-width:768px){.admin-bookings__header{flex-direction:column;align-items:flex-start}.seat-map-title{flex-direction:column;align-items:flex-start;gap:4px}.booking-card__header{flex-direction:column}.booking-card__table th,.booking-card__table td{padding:7px 10px}}.booking-card__unbook-row{padding:12px 16px 14px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end}.btn-unbook{background:transparent;border:1px solid #f43f5e;color:#f43f5e;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.btn-unbook:hover{background:#fff1f3}.booking-card-wrapper--expired .booking-card{border-left-style:dashed!important}.booking-card--expired{background:#fffbf0}.booking-card-wrapper--pending-upgrade .booking-card{border-left-style:dashed!important}.booking-card--pending-upgrade{background:#f0f9ff}.booking-card__expired-banner{display:flex;align-items:flex-start;gap:10px;background:#fef3c7;border-bottom:1px solid #fde68a;color:#92400e;padding:10px 16px;font-size:13px;line-height:1.5}.booking-card__expired-banner i{flex-shrink:0;margin-top:2px;color:#d97706}.booking-card__pending-upgrade-banner{display:flex;align-items:flex-start;gap:10px;background:#e0f2fe;border-bottom:1px solid #bae6fd;color:#0c4a6e;padding:10px 16px;font-size:13px;line-height:1.5}.booking-card__pending-upgrade-banner i{flex-shrink:0;margin-top:2px;color:#0284c7}.value--expired{color:#d97706!important;font-weight:700!important;text-transform:uppercase;font-size:12px}.value--pending-upgrade{color:#0284c7!important;font-weight:700!important;text-transform:uppercase;font-size:12px}.value--outstanding{color:#dc2626!important;font-weight:700!important}.pending-seats-label{color:#0284c7;font-size:12px;font-style:italic;margin-left:4px}.seat-row--pending{background:#fef9ee;color:#78716c}.seat-row--pending td{text-decoration:line-through;text-decoration-color:#d97706}.seat-row--pending td:first-child{text-decoration:none}.badge-payment-expired{display:inline-block;margin-left:6px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:4px;font-size:9px;font-weight:700;padding:1px 5px;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}.badge-payment-pending{display:inline-block;margin-left:6px;background:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd;border-radius:4px;font-size:9px;font-weight:700;padding:1px 5px;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}.booking-card__expired-actions{padding:12px 16px 14px;border-top:1px solid #fde68a;background:#fffbf0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.booking-card__expired-actions--pending{border-top-color:#bae6fd;background:#f0f9ff}.booking-card__expired-actions--pending .expired-actions__info{color:#0c4a6e}.expired-actions__info{font-size:13px;color:#92400e}.expired-actions__buttons{display:flex;align-items:center;gap:10px}.btn-resend-payment{background:#d97706;color:#fff;border:none;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-resend-payment:hover:not(:disabled){background:#b45309}.btn-resend-payment:disabled{opacity:.6;cursor:not-allowed}.resend-success{font-size:12px;color:#16a34a;font-weight:600}.resend-error{font-size:12px;color:#dc2626;font-weight:600}.resend-url-box{width:100%;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08)}.resend-url-label{font-size:12px;color:#64748b;margin-bottom:6px}.resend-url-row{display:flex;gap:6px;align-items:center}.resend-url-input{flex:1;font-size:12px;font-family:monospace;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;min-width:0}.resend-url-copy{flex-shrink:0;background:#0f172a;color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.resend-url-copy:hover{background:#1e293b}.unbook-modal{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px 20px 20px;max-width:420px;width:100%;box-shadow:0 24px 70px #0000002e;position:relative;color:#0f172a;text-align:center}.unbook-modal__icon{font-size:36px;margin-bottom:10px}.unbook-modal h3{margin:0 0 6px;font-size:18px;color:#0f172a}.unbook-modal__name{font-weight:700;margin:0 0 10px;color:#1e293b}.unbook-modal__desc{font-size:14px;color:#475569;margin:0 0 16px;line-height:1.5}.unbook-modal__error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:12px}.unbook-modal__actions{display:flex;gap:10px;justify-content:center}.unbook-modal__btn-cancel{background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;transition:background .15s ease}.unbook-modal__btn-cancel:hover:not(:disabled){background:#e2e8f0}.unbook-modal__btn-confirm{background:linear-gradient(90deg,#f43f5e,#ef4444);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.unbook-modal__btn-confirm:hover:not(:disabled){opacity:.88}.unbook-modal__btn-cancel:disabled,.unbook-modal__btn-confirm:disabled{opacity:.5;cursor:not-allowed}.unbook-success-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#0f172a;color:#fff;border-radius:12px;padding:12px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 30px #00000040;z-index:2000;font-weight:600;font-size:14px;max-width:90vw}.unbook-success-toast button{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0;line-height:1}.unbook-success-toast button:hover{color:#fff}.date-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.date-modal{background:#fff;border-radius:16px;padding:20px;box-shadow:0 24px 64px #00000038;position:relative;max-width:420px;width:100%}.date-modal-close{position:absolute;top:12px;right:14px;background:transparent;border:none;font-size:22px;cursor:pointer;color:#64748b;line-height:1}.date-modal-close:hover{color:#0f172a}.inline-calendar{margin-top:8px}.admin-data-exploration{background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:22px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:18px}.admin-data-exploration{box-sizing:border-box;width:100%;max-width:1100px;margin-left:auto;margin-right:auto}.ade-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ade-head h2{margin:6px 0 2px}.ade-head .muted.small{margin-top:4px}.ade-actions{display:flex;align-items:center;gap:10px}.btn-export{display:inline-flex;align-items:center;gap:8px;background:#1f3f72;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s ease,transform .08s ease}.btn-export:hover:not(:disabled){background:#163060;transform:translateY(-1px)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;background:#f8fafc;border:1px solid #e6eaf0;border-radius:12px;padding:12px}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field label{font-size:12px;font-weight:700;color:var(--text-secondary)}.filter-field input,.filter-row input{width:100%;border:1px solid #d8dfeb;border-radius:8px;padding:8px 10px;font-size:14px;background:#fff}.table-wrapper{overflow:auto;border:1px solid #e6eaf0;border-radius:12px}.ade-table{width:100%;border-collapse:collapse;min-width:720px}.ade-table th,.ade-table td{padding:10px 12px;border-bottom:1px solid #ecf0f6;text-align:left;vertical-align:top}.ade-table thead th{background:#f6f8fc;font-size:13px;font-weight:800;color:#1f3f72;position:sticky;top:0;z-index:1}.filter-row th{background:#fff;position:sticky;top:46px;z-index:1;border-bottom:1px solid #e1e8f2}.filter-row input{font-size:13px;padding:6px 8px}.ade-table tbody tr:hover{background:#f9fbff}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.pill-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid #e6eaf0;background:#f5f7fb;font-weight:700;font-size:12px}.status{padding:12px;border-radius:10px;background:#f7faff;border:1px solid #dce7ff;color:#1f3f72}.status.error{background:#fff5f5;border-color:#fbcfd0;color:#b42318}.ade-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.pager{display:flex;align-items:center;gap:10px}.center{text-align:center}.muted.small{font-size:12px}.contact-link{font-weight:700;text-decoration:none}.contact-link:hover{text-decoration:underline}.contact-email{color:#0b66ff}.contact-whatsapp{color:#16a34a}.contact-plain{color:inherit}.seats-collapsed,.seats-expanded{display:inline-flex;align-items:center;gap:8px}.seats-collapsed .ghost.small,.seats-expanded .ghost.small{padding:4px 8px;font-size:12px}@media(max-width:900px){.ade-head{flex-direction:column}.ade-actions{width:100%;justify-content:flex-start}.filter-bar{grid-template-columns:1fr}.table-wrapper{overflow-x:auto}}:root{--ops-bg: #f0f4fa;--ops-surface: #ffffff;--ops-surface-alt: #f8fafc;--ops-border: #e2e8f0;--ops-border-focus: #6366f1;--ops-text: #0f172a;--ops-text-muted: #64748b;--ops-text-label: #475569;--ops-primary: #1e40af;--ops-primary-hover: #1d3a9e;--ops-danger: #ef4444;--ops-success-bg: #f0fdf4;--ops-success-border: #bbf7d0;--ops-success-text: #166534;--ops-error-bg: #fef2f2;--ops-error-border: #fecaca;--ops-error-text: #991b1b;--ops-radius: 12px;--ops-radius-lg: 16px}.admin-operations{background:var(--ops-bg);color:var(--ops-text);min-height:calc(100vh - 80px);padding:0 0 64px;overflow-x:clip}.admin-operations .muted,.admin-operations .eyebrow{color:var(--ops-text-label)}.admin-operations h3,.admin-operations h4{color:var(--ops-text);margin:0}.ops-topbar{display:flex;align-items:center;gap:0;background:var(--ops-surface);border-bottom:1px solid var(--ops-border);padding:0 24px}.ops-topbar__title{font-size:15px;font-weight:700;color:var(--ops-text);margin-right:32px;padding:14px 0;white-space:nowrap}.ops-topbar__tabs{display:flex;gap:0}.ops-topbar__tab{background:none;border:none;border-bottom:3px solid transparent;color:var(--ops-text-muted);font-weight:600;font-size:14px;padding:14px 20px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.ops-topbar__tab:hover{color:var(--ops-text)}.ops-topbar__tab.active{color:var(--ops-primary);border-bottom-color:var(--ops-primary)}.ops-content{max-width:1200px;margin:0 auto;padding:24px 24px 0;overflow:visible}.ops-subnav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.ops-subnav__btn{display:flex;align-items:center;gap:6px;background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--ops-text-label);cursor:pointer;transition:all .15s;white-space:nowrap}.ops-subnav__btn:hover{background:#eef2ff;border-color:#c7d2fe;color:var(--ops-primary)}.ops-subnav__btn.active{background:#eef2ff;border-color:var(--ops-primary);color:var(--ops-primary);box-shadow:0 0 0 1px var(--ops-primary)}.ops-subnav__btn .subnav-icon{font-size:14px}.ops-card{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius-lg);box-shadow:0 1px 3px #0f172a0a;overflow:visible}.ops-card+.ops-card{margin-top:16px}.ops-card__body,.ops-block{padding:20px}.ops-block+.ops-block{border-top:1px solid var(--ops-border)}.ops-block__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ops-block__header h4{font-size:14px;font-weight:700;color:var(--ops-text);display:flex;align-items:center;gap:8px}.ops-block__header .muted{font-size:13px}.ops-toggle-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.ops-toggle-chip{display:flex;align-items:center;gap:8px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);padding:10px 14px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.ops-toggle-chip:hover{border-color:#c7d2fe;background:#f5f7ff}.ops-toggle-chip.checked{background:#eef2ff;border-color:var(--ops-primary)}.ops-toggle-chip input[type=checkbox]{accent-color:var(--ops-primary);width:16px;height:16px;margin:0;cursor:pointer}.ops-toggle-chip__label{font-size:13px;font-weight:600;color:var(--ops-text);line-height:1.3}.ops-toggle-chip__hint{font-size:12px;font-weight:400;color:var(--ops-text-muted)}.ops-override-row{display:flex;align-items:center;gap:12px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);padding:10px 14px}.ops-override-row .ghost{white-space:nowrap;flex-shrink:0}.ops-override-row input[type=number]{max-width:140px}.ops-pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ops-pricing-cell{background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:10px;padding:10px 12px}.ops-pricing-cell .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ops-text-muted);margin:0 0 2px}.ops-pricing-cell .value{font-size:15px;font-weight:700;color:var(--ops-text);margin:0}.ops-pricing-cell .muted{font-size:12px;margin:2px 0 0}.ops-stepper-group{display:flex;align-items:center;gap:2px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);padding:4px;width:fit-content}.ops-stepper-group button{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;color:var(--ops-text);transition:background .1s;padding:0;font-size:16px}.ops-stepper-group button:hover:not(:disabled){background:#eef2ff}.ops-stepper-group button:disabled{opacity:.35;cursor:not-allowed}.ops-stepper-group .ops-stepper-value{min-width:56px;text-align:center;font-weight:700;font-size:15px;color:var(--ops-text);padding:0 4px;background:none;border:none}.ops-comment-area{width:100%;box-sizing:border-box;resize:vertical;min-height:72px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);color:var(--ops-text);border-radius:var(--ops-radius);padding:10px 12px;font-family:inherit;font-size:14px}.ops-comment-area::placeholder{color:#94a3b8}.ops-comment-area:focus{outline:none;border-color:var(--ops-border-focus);box-shadow:0 0 0 3px #6366f11f}.ops-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--ops-border);background:var(--ops-surface-alt)}.ops-action-bar .muted{font-size:13px}.ops-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ops-summary-grid .label{color:var(--ops-text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ops-summary-grid .value{font-weight:700;color:var(--ops-text)}.ops-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.label{font-weight:700;color:#1e293b;font-size:13px}.field-inline{display:flex;gap:10px;align-items:center}.field-inline input,.field-inline button{flex:1}input[type=text],input[type=email],input[type=date],input[type=time],input[type=number],textarea{background:var(--ops-surface-alt);border:1px solid var(--ops-border);color:var(--ops-text);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,textarea:focus{outline:none;border-color:var(--ops-border-focus);box-shadow:0 0 0 3px #6366f11f}textarea{min-height:72px;resize:vertical}button.primary,button.danger,button.ghost{border:1px solid transparent;border-radius:10px;padding:10px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .08s ease,box-shadow .1s ease,background .1s ease;font-family:inherit}button.primary{background:var(--ops-primary);color:#fff;border-color:var(--ops-primary)}button.primary:hover:not(:disabled){background:var(--ops-primary-hover)}button.danger{background:linear-gradient(135deg,#f43f5e,#ef4444);color:#fff;border-color:#ffffff1f}button.ghost{background:var(--ops-surface);color:var(--ops-text);border-color:var(--ops-border)}button.ghost:hover:not(:disabled){background:#f1f5f9}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){transform:translateY(-1px)}.segmented{display:inline-flex;background:#f1f5f9;border:1px solid var(--ops-border);border-radius:999px;padding:4px;gap:4px}.segmented__btn{background:transparent;color:var(--ops-text-label);border-radius:999px;padding:8px 14px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.segmented__btn.active{background:var(--ops-primary);color:#fff;border-color:var(--ops-primary);box-shadow:0 2px 8px #1e40af40}.status{padding:10px 14px;border-radius:10px;border:1px solid var(--ops-border);font-weight:600;font-size:13px;color:var(--ops-text)}.status.error{background:var(--ops-error-bg);border-color:var(--ops-error-border);color:var(--ops-error-text)}.status.success{background:var(--ops-success-bg);border-color:var(--ops-success-border);color:var(--ops-success-text)}.badge{background:#dbeafe;color:var(--ops-primary);padding:4px 10px;border-radius:999px;border:1px solid #bfdbfe;font-weight:700;font-size:11px;white-space:nowrap}.pill{background:#dbeafe;color:var(--ops-primary);padding:6px 12px;border-radius:999px;border:1px solid #bfdbfe;font-weight:600;font-size:12px}.ops-results{display:flex;flex-direction:column;gap:16px}.booking-summary-card{background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);padding:16px}.booking-summary__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.booking-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.booking-summary__grid .label{color:var(--ops-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.booking-summary__grid .value{font-weight:700;color:var(--ops-text)}.ops-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ops-actions .muted{color:var(--ops-text-label)}.ops-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ops-inline input[type=number]{max-width:140px}.manage-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.manage-action-btn{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);cursor:pointer;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}.manage-action-btn:hover:not(:disabled){background:#eef2ff;border-color:var(--ops-primary);box-shadow:0 0 0 2px #6366f11a}.manage-action-btn:disabled{opacity:.45;cursor:not-allowed}.manage-action-btn.accent{background:#eef2ff;border-color:#c7d2fe}.manage-action-btn.accent:hover:not(:disabled){background:#e0e7ff;border-color:var(--ops-primary)}.manage-action-btn.warning{background:#fefce8;border-color:#fde68a}.manage-action-btn.warning:hover:not(:disabled){background:#fef9c3;border-color:#f59e0b}.manage-action-btn.danger{background:var(--ops-error-bg);border-color:var(--ops-error-border)}.manage-action-btn.danger:hover:not(:disabled){background:#fde2e2;border-color:var(--ops-danger)}.manage-action-icon{font-size:20px;flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--ops-surface);border:1px solid var(--ops-border)}.manage-action-text{display:flex;flex-direction:column;gap:2px}.manage-action-text strong{font-size:13px;font-weight:600;color:var(--ops-text)}.manage-action-text small{font-size:11px;color:var(--ops-text-muted);font-weight:400}.ops-flow{display:flex;flex-direction:column;gap:16px}.ops-panel{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius-lg);padding:0;display:flex;flex-direction:column;box-shadow:0 1px 3px #0f172a0a;overflow:visible}.ops-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px;border-bottom:1px solid var(--ops-border)}.ops-section{display:flex;flex-direction:column;gap:10px;padding:20px}.ops-section+.ops-section{border-top:1px solid var(--ops-border)}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.ops-chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--ops-border);border-radius:999px;padding:6px 14px;background:var(--ops-surface);color:var(--ops-text);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.chip:hover{border-color:#c7d2fe;background:#f5f7ff}.chip.active{background:var(--ops-primary);border-color:var(--ops-primary);color:#fff}.ops-pending-link{margin-top:4px;display:flex;flex-direction:column;gap:6px}.ops-pending-link .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ops-text-muted)}.ops-pending-link__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ops-pending-link__url{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:8px;padding:6px 10px;word-break:break-all;flex:1}.ops-link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--ops-radius);border:1px dashed #94a3b8;background:var(--ops-surface-alt);color:var(--ops-text)}.ops-stepper{display:inline-flex;align-items:center;gap:8px}.ops-stepper input{max-width:100px;text-align:center}.mono{font-family:JetBrains Mono,Fira Code,monospace}.placeholder-panel{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--ops-radius);padding:14px 16px;color:var(--ops-primary);font-size:14px}.checkbox-chip{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-chip input[type=checkbox]{accent-color:var(--ops-primary);width:16px;height:16px}.tour-list{display:flex;flex-direction:column;gap:12px}.tour-day-card{background:var(--ops-surface-alt);border:1px solid var(--ops-border);border-radius:var(--ops-radius);padding:14px}.tour-day-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.tour-day-list{display:flex;flex-direction:column;gap:8px}.tour-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid var(--ops-border);background:var(--ops-surface);color:var(--ops-text)}.tour-entry__time{font-weight:700;margin:0 0 2px;color:var(--ops-text)}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius-lg);padding:20px;max-width:480px;width:100%;box-shadow:0 24px 70px #0000002e;position:relative;color:var(--ops-text)}.modal h3{margin:0 0 8px;color:var(--ops-text)}.modal .muted{color:var(--ops-text-label)}.modal-close{position:absolute;top:12px;right:12px;background:transparent;color:var(--ops-text-label);border:none;font-size:20px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.pending-search-row{margin-bottom:8px}.pending-search{width:100%;box-sizing:border-box}.pending-search:focus{outline:none;border-color:var(--ops-border-focus);box-shadow:0 0 0 3px #6366f126}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ops-surface);border:1px solid var(--ops-border);border-left:4px solid #f59e0b;border-radius:var(--ops-radius);padding:14px 16px}.pending-card__left{display:flex;flex-direction:column;gap:4px;min-width:0}.pending-badge{display:inline-block;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;width:fit-content}.pending-card__name{font-weight:700;color:var(--ops-text);font-size:15px;margin:0}.pending-card__meta{color:var(--ops-text-muted);font-size:13px;margin:0}.pending-card__counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pending-card__counts span{background:#f1f5f9;border:1px solid var(--ops-border);border-radius:999px;padding:2px 10px;font-size:12px;color:#334155;font-weight:600}.pending-card__comment{font-size:13px;color:var(--ops-text-label);margin:4px 0 0;font-style:italic}.btn-unbook-ops{background:transparent;border:1px solid #f43f5e;color:#f43f5e;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-unbook-ops:hover:not(:disabled){background:#fff1f3}.btn-unbook-ops:disabled{opacity:.5;cursor:not-allowed}.draft-card{border-left-color:#6366f1}.draft-badge{display:inline-block;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;width:fit-content}.draft-card__actions{display:flex;gap:8px;flex-shrink:0}.ops-action-bar__left{display:flex;align-items:center;gap:8px;min-width:0}.ops-action-bar__right{display:flex;align-items:center;gap:8px}@media(max-width:768px){.ops-topbar{padding:0 16px}.ops-topbar__title{display:none}.ops-content{padding:16px}.field-inline{flex-direction:column}.ops-actions{flex-direction:column;align-items:flex-start}.ops-subnav{overflow-x:auto;flex-wrap:nowrap;gap:6px}.tour-entry{flex-direction:column;align-items:flex-start}.pending-card{flex-direction:column;align-items:flex-start;gap:14px}.pending-card button{width:100%}.draft-card__actions{flex-direction:column;width:100%}.draft-card__actions button{width:100%}.ops-action-bar__right{flex-direction:column;width:100%}.ops-action-bar__right button{width:100%}.ops-action-bar,.ops-override-row{flex-direction:column;align-items:flex-start}.ops-toggle-row{flex-direction:column}.ops-section{padding:16px}.ops-panel-header{padding:16px;flex-direction:column;align-items:flex-start}}.manage-search-type{height:40px;padding:0 10px;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-surface);color:var(--ops-text);font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0;min-width:90px}.manage-results-list{display:flex;flex-direction:column;gap:16px;position:relative}.manage-results__reload-overlay{position:absolute;inset:0;background:#f0f4fad1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:30;border-radius:14px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:opsOverlayFadeIn .18s ease;pointer-events:all}@keyframes opsOverlayFadeIn{0%{opacity:0}to{opacity:1}}.manage-results__reload-spinner{display:block;width:30px;height:30px;border:3px solid #cbd5e1;border-top-color:#6366f1;border-radius:50%;animation:opsSpin .7s linear infinite}@keyframes opsSpin{to{transform:rotate(360deg)}}.manage-results__reload-label{font-size:13px;font-weight:600;color:#475569;letter-spacing:.01em}.manage-results-list--reloading .manage-result-card{opacity:.45;pointer-events:none;transition:opacity .2s ease}.manage-result-card{padding:0}.manage-result-card .booking-summary__grid,.manage-result-card .manage-actions-grid,.manage-result-card .ops-pending-link{padding-left:24px;padding-right:24px}.manage-result-card .status.success,.manage-result-card .status.error{margin-left:20px;margin-right:20px}.manage-result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--ops-border)}.manage-result-header__left{display:flex;flex-direction:column;gap:4px}.manage-result-header__right{text-align:right;flex-shrink:0}.manage-result-name{font-size:18px;font-weight:700;color:var(--ops-text);margin:0}.manage-result-meta{font-size:13px;color:var(--ops-text-muted);margin:0}.manage-result-tour{font-size:13px;color:var(--ops-text);margin:0 0 2px}.manage-result-cost{font-size:15px;font-weight:700;color:var(--ops-primary);margin:0}.status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;width:fit-content}.status-badge--paid{background:#dcfce7;color:#166534}.status-badge--pending{background:#fef9c3;color:#854d0e}.status-badge--expired{background:#ffedd5;color:#9a3412}.status-badge--cancelled{background:#fee2e2;color:#991b1b}.status-badge--influencer{background:#fffbeb;color:#b45309}.status-badge--default{background:#f1f5f9;color:#475569}@media(max-width:600px){.manage-result-header{flex-direction:column}.manage-result-header__right{text-align:left}}.manage-payment-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600}.manage-payment-pill--paid{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.manage-payment-pill--outstanding{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.invoice-catchup-card{border:1px dashed var(--ops-border);background:var(--ops-surface-alt)}.badge--muted{background:#f1f5f9;color:#64748b}.invoice-catchup-result{margin-top:12px}.invoice-catchup-errors{margin:6px 0 0;padding-left:20px;font-size:13px;line-height:1.6}.invoice-catchup-errors li{margin-bottom:2px}.admin-settings{background:#fff;border:1px solid #e6eaf0;border-radius:18px;box-shadow:var(--shadow-md);padding:22px;position:relative}.admin-settings__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-settings__header .muted{color:var(--text-secondary)}.admin-settings__card{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;border:1px solid #e1e7f0;border-radius:14px;padding:16px;background:#f8fafc}.label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-weight:700}.value{font-size:16px;font-weight:700}.primary{background:linear-gradient(135deg,#2cb672,#1f8f58);color:#fff;border:none;padding:12px 16px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px #2cb67238}.ghost{background:#f0f2f7;color:#1f2a3d;border:1px solid #d7deea;padding:10px 14px;border-radius:12px;font-weight:700}.status{margin-top:16px;border-radius:12px;padding:12px 14px;font-weight:700}.status.success{background:#eefaf2;color:#1f8f58;border:1px solid #cceedd}.status.error{background:#fff0f0;color:#c0392b;border:1px solid #ffd6d6}.modal-overlay{position:fixed;inset:0;background:#00000061;display:grid;place-items:center;padding:18px;z-index:2000}.modal{width:min(520px,96vw);background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow-lg);border:1px solid #e6eaf0}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal__form{display:flex;flex-direction:column;gap:12px}.modal__form label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#1f2a3d}.modal__form input{border:1px solid #d9e1ec;border-radius:12px;padding:12px 14px;font-size:15px;background:#f9fbff}.modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media(max-width:640px){.admin-settings__header{flex-direction:column;align-items:flex-start}.modal__actions{flex-direction:column}.modal__actions button{width:100%}}.admin-sidebar{width:260px;background:linear-gradient(180deg,#1f3f72,#162b4f);color:#fff;min-height:100vh;padding:24px 18px;position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .25s ease,box-shadow .25s ease;box-shadow:var(--shadow-md);z-index:1000}.admin-sidebar.open{transform:translate(0)}.admin-sidebar__brand{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff0f;border-radius:12px;margin-bottom:24px;box-shadow:0 8px 24px #00000026}.brand-icon{width:44px;height:44px;border-radius:12px;background:#fff;color:#1f3f72;display:grid;place-items:center;font-size:22px;font-weight:700}.brand-label{font-size:16px;font-weight:700;letter-spacing:.4px}.brand-sub{font-size:12px;color:#fffc}.admin-nav{display:flex;flex-direction:column;gap:8px}.admin-nav__link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#ffffffe6;transition:background .2s ease,transform .2s ease;font-weight:600}.admin-nav__link i{width:20px;text-align:center}.admin-nav__link:hover{background:#ffffff14;transform:translate(4px)}.admin-nav__link.active{background:#ffffff29;color:#fff;box-shadow:inset 0 0 0 1px #ffffff26}@media(min-width:960px){.admin-sidebar{transform:translate(0);position:sticky;top:0}}.admin-layout{display:grid;grid-template-columns:1fr;min-height:100vh;background:#f6f8fb}.admin-layout__main{margin-left:0;display:flex;flex-direction:column;min-height:100vh}.admin-overlay{position:fixed;inset:0;background:#00000059;z-index:900}.admin-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;background:#fff;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:5}.admin-topbar__title h1{font-size:20px;margin-bottom:4px}.admin-topbar__title p{color:var(--text-secondary);font-size:14px}.admin-topbar__user{display:flex;align-items:center;gap:12px;background:#f2f5fb;border:1px solid #e2e8f5;padding:10px 14px;border-radius:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2cb672,#1f8f58);color:#fff;display:grid;place-items:center;font-weight:700}.user-name{font-weight:700;font-size:14px}.user-email{font-size:12px;color:var(--text-secondary)}.logout-btn{display:inline-flex;align-items:center;gap:6px;background:#fff3f0;color:#c0392b;border:1px solid #ffd6cc;padding:8px 10px;border-radius:10px;transition:background .2s ease,transform .2s ease}.logout-btn:hover{background:#ffeae3;transform:translateY(-1px)}.admin-menu-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-color);background:#fff;box-shadow:var(--shadow-sm)}.admin-content{padding:24px;flex:1}@media(min-width:960px){.admin-layout{grid-template-columns:260px 1fr}.admin-layout__main{margin-left:0}.admin-menu-btn{display:none}}@media(max-width:768px){.admin-topbar{grid-template-columns:auto 1fr;grid-template-areas:"menu title" "user user";row-gap:10px}.admin-topbar__title{grid-area:title}.admin-topbar__user{grid-area:user;width:100%}}#root{display:flex;flex-direction:column;min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
