{"id":125,"date":"2026-07-24T17:11:52","date_gmt":"2026-07-24T10:11:52","guid":{"rendered":"https:\/\/tripand.app\/bus-global-search\/"},"modified":"2026-07-29T12:05:41","modified_gmt":"2026-07-29T05:05:41","slug":"visa-run","status":"publish","type":"page","link":"https:\/\/tripand.app\/ru\/visa-run\/","title":{"rendered":"Visa Run"},"content":{"rendered":"<style id=\"tripand-visarun-css\" data-noptimize=\"1\">.tvr-app{--blue:#236bff;--orange:#ffac0a;max-width:1180px;margin:0 auto;font-family:inherit;color:#172033}.tvr-app h2,.tvr-app h3{font-family:Poppins,sans-serif}.tvr-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;padding:22px;background:#f4f7ff;border-radius:18px;margin-bottom:32px}.tvr-filter label,.tvr-book-form>label{display:grid;gap:7px;font-weight:600}.tvr-filter select,.tvr-filter input,.tvr-book-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d6dbea;border-radius:10px;background:#fff}.tvr-filter button,.tvr-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:10px;background:var(--blue);color:#fff!important;text-decoration:none;font-weight:700;cursor:pointer}.tvr-list{display:grid;gap:14px}.tvr-card{display:grid;grid-template-columns:150px minmax(180px,1.25fr) minmax(190px,1fr) minmax(120px,.65fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}.tvr-card-media{display:grid;place-items:center;overflow:hidden;width:150px;aspect-ratio:4\/3;border-radius:12px;background:#eef2f8;color:#667085;font-size:42px}.tvr-card-media img{display:block;width:100%;height:100%;object-fit:cover}.tvr-card-route,.tvr-card-transport{display:grid;gap:4px;min-width:0}.tvr-card-transport>span{color:#667085;font-size:13px}.tvr-card-features{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.tvr-card-features span{padding:4px 7px;border-radius:7px;background:#f4f7ff;color:#475467;font-size:12px;line-height:1.25}.tvr-card-price{display:grid;gap:4px}.tvr-card-price>strong{white-space:nowrap}.tvr-date{color:var(--blue);font-weight:700}.tvr-layout{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(300px,.9fr);gap:34px}.tvr-seats{display:grid;grid-template-columns:repeat(var(--columns),minmax(48px,1fr));gap:10px;padding:22px;border:1px solid #e4e7ec;border-radius:18px}.tvr-seat{min-height:54px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#172033;cursor:pointer}.tvr-seat.has-map-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.1}.tvr-seat-primary{font-size:16px;font-weight:800}.tvr-seat-map-label{color:#667085;font-size:11px;font-weight:600}.tvr-seat.is-selected{border-color:var(--orange);background:var(--orange);color:#172033}.tvr-seat.is-selected .tvr-seat-map-label{color:rgba(23,32,51,.72)}.tvr-seat.is-taken{background:#e5e7eb;color:#98a2b3;cursor:not-allowed}.tvr-seat.is-taken .tvr-seat-map-label{color:inherit}.tvr-booking[data-mode=free] .tvr-seat:not(.is-taken){opacity:.55;pointer-events:none}.tvr-book-form{display:grid;gap:14px;padding:24px;border-radius:18px;background:#f7f9fc}.tvr-book-form>label:has(input[type=radio]){display:flex;align-items:center}.tvr-book-form input[type=radio]{width:auto;min-height:auto}.tvr-total{font-size:20px;padding-top:10px}.tvr-message{font-weight:600}.tvr-message.is-error{color:#c62828}.tvr-message.is-success{color:#08783d}@media(max-width:980px){.tvr-card{grid-template-columns:130px 1fr 1fr}.tvr-card-media{width:130px}.tvr-card-price{grid-column:2}.tvr-card>.tvr-button{grid-column:3;grid-row:2}}@media(max-width:800px){.tvr-filter,.tvr-card,.tvr-layout{grid-template-columns:1fr}.tvr-card{gap:12px}.tvr-card-media{width:100%;aspect-ratio:16\/9}.tvr-card-price,.tvr-card>.tvr-button{grid-column:auto;grid-row:auto}.tvr-card>.tvr-button{width:100%}}\r\n.tripand-service-visa-run #ast-desktop-header .tripand-account-avatar-menu{margin-left:auto}\r\n.tvr-booking-unavailable{box-sizing:border-box;display:grid;place-items:center;min-height:calc(100vh - 250px);padding:64px 20px}.tvr-booking-unavailable-card{box-sizing:border-box;width:min(660px,100%);padding:52px 54px;border:1px solid #dfe7f4;border-radius:28px;background:linear-gradient(145deg,#fff 0%,#f8faff 100%);box-shadow:0 24px 70px rgba(23,32,51,.1);text-align:center}.tvr-booking-unavailable-icon{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 22px;border-radius:26px;background:linear-gradient(145deg,#eaf2ff,#fff5dc);color:var(--blue);box-shadow:inset 0 0 0 1px rgba(35,107,255,.1)}.tvr-booking-unavailable-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tvr-booking-unavailable-eyebrow{margin:0 0 8px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tvr-booking-unavailable h1{margin:0;color:#172033;font:800 clamp(30px,4vw,44px)\/1.15 Poppins,Arial,sans-serif;letter-spacing:-.025em}.tvr-booking-unavailable-description{max-width:520px;margin:18px auto 0;color:#475467;font-size:18px;line-height:1.55}.tvr-booking-unavailable-hint{max-width:500px;margin:10px auto 0;color:#667085;font-size:15px;line-height:1.55}.tvr-booking-unavailable-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}.tvr-booking-unavailable-actions .tvr-button{min-width:180px}.tvr-booking-unavailable-actions .tvr-button-secondary{border:1px solid #cfd9eb;background:#fff;color:#236bff!important;box-shadow:none}\r\n@media(max-width:700px){.tvr-booking-unavailable{min-height:calc(100svh - 190px);padding:32px 0}.tvr-booking-unavailable-card{padding:38px 22px;border-radius:22px}.tvr-booking-unavailable-icon{width:76px;height:76px;border-radius:22px}.tvr-booking-unavailable h1{font-size:30px}.tvr-booking-unavailable-description{font-size:16px}.tvr-booking-unavailable-actions{display:grid}.tvr-booking-unavailable-actions .tvr-button{width:100%;min-width:0}}\r\n\r\n\/* Localized catalogue date input; the submitted value remains ISO yyyy-mm-dd. *\/\r\n.tvr-search-field{display:grid;gap:7px;font-weight:600}.tvr-date-control{position:relative;min-width:0}.tvr-date-display{padding-right:46px!important;font-variant-numeric:tabular-nums}.tvr-date-picker-input{position:absolute!important;right:10px!important;bottom:5px!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none}.tvr-filter .tvr-date-picker-button{position:absolute;top:50%;right:3px;display:grid;width:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:#172033!important;transform:translateY(-50%);box-shadow:none}.tvr-filter .tvr-date-picker-button:hover,.tvr-filter .tvr-date-picker-button:focus-visible{background:#edf3ff;color:var(--blue)!important}.tvr-filter .tvr-date-picker-button:focus-visible{outline:3px solid rgba(35,107,255,.2);outline-offset:1px}.tvr-date-display:invalid{border-color:#c62828}.tvr-home-embed .tvr-date-display{min-height:44px;padding:7px 46px 7px 11px!important}\r\n.tvr-localized-datetime-control{position:relative;display:block;min-width:0}.tvr-localized-datetime-control .tvr-localized-datetime-display{width:100%;padding-right:50px!important;font-variant-numeric:tabular-nums}.tvr-localized-datetime-button{position:absolute;z-index:2;top:50%;right:3px;display:grid;place-items:center;width:42px;min-height:42px;padding:0!important;border:0!important;border-radius:9px;background:transparent!important;color:inherit!important;transform:translateY(-50%);box-shadow:none!important;cursor:pointer}.tvr-localized-datetime-button:hover,.tvr-localized-datetime-button:focus-visible{background:#edf3ff!important;color:var(--blue)!important}.tvr-localized-datetime-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.tvr-localized-picker{position:absolute!important;right:8px!important;bottom:6px!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none}.tvr-localized-datetime-display:invalid{border-color:#c62828!important}\r\n\r\n.tvr-button.is-disabled{background:#aeb7c8;color:#fff!important;cursor:not-allowed;pointer-events:none}\r\n.tvr-home-embed .tvr-card-media-features .tvr-card-feature{padding:0;border-radius:0;background:transparent}\r\n.tvr-button:not(.is-disabled):hover,.tvr-button:not(.is-disabled):focus-visible,.tvr-search-submit:hover,.tvr-search-submit:focus-visible,.tvr-ai-launcher:hover,.tvr-ai-launcher:focus-visible{background:var(--orange)!important;color:#172033!important}\r\n.tvr-card-features{gap:7px;margin-top:5px}.tvr-card-features .tvr-amenity-icon{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:9px;background:#edf3ff;color:var(--blue);font-size:0;line-height:1}.tvr-amenity-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-load-more{display:flex;justify-content:center;margin-top:24px}.tvr-load-more .tvr-button{min-width:210px}.tvr-load-more>a.tvr-button,.tvr-load-more>a.tvr-button:visited,.tvr-load-more>a.tvr-button:hover,.tvr-load-more>a.tvr-button:focus,.tvr-load-more>a.tvr-button:active{text-decoration:none!important}.tvr-load-more .tvr-button[aria-busy=\"true\"]{opacity:.65;pointer-events:none}\r\n.tvr-list.is-loading{position:relative;min-height:180px;pointer-events:none}.tvr-list.is-loading:before{content:\"\";position:absolute;z-index:2;top:-7px;left:0;width:38%;height:3px;border-radius:999px;background:var(--orange);transform:translateX(0);opacity:0;animation:tvr-list-progress 1s ease-in-out infinite}@keyframes tvr-list-progress{0%{transform:translateX(0);opacity:0}12%,88%{opacity:1}100%{transform:translateX(163%);opacity:0}}@media(prefers-reduced-motion:reduce){.tvr-list.is-loading:before{width:100%;transform:none;opacity:1;animation:none}}\r\n.tvr-catalog-loading{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.tvr-card-media-image picture{display:contents}.tvr-card-skeleton{display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;height:150px!important;overflow:hidden;background:#edf2fa!important}.tvr-card-skeleton__media{background:#dfe7f4}.tvr-card-skeleton__body{margin:18px;border-radius:10px;background:#f7f9fc;opacity:.65;animation:tvr-skeleton-pulse .8s ease-in-out infinite alternate}@keyframes tvr-skeleton-pulse{to{opacity:1}}@media(prefers-reduced-motion:reduce){.tvr-card-skeleton__body{animation:none}}\r\n.tvr-seat-bundles{margin-top:18px;padding:14px;border:1px solid #dbe3f1;border-radius:14px;background:#f8faff}.tvr-seat-bundles h4{margin:0 0 10px}.tvr-seat-bundle{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 8px 8px 0;padding:10px 14px;border:1px solid #b9c8df;border-radius:10px;background:#fff;color:#17233a;cursor:pointer}.tvr-seat-bundle small{color:#667085}.tvr-seat-bundle.is-selected{border-color:#236bff;background:#eaf1ff;color:#1555d7}.tvr-seat-bundle.is-taken,.tvr-seat-bundle:disabled{opacity:.55;cursor:not-allowed}\r\n.tvr-seat-bundle>span{max-width:380px;color:#475467;font-size:13px;line-height:1.4}.tvr-seat-map-heading>div:first-child{display:grid;gap:5px}.tvr-seat-help-open{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:3px 0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.tvr-seat-help-open>span{display:inline-flex;flex:0 0 18px;width:18px;height:18px}.tvr-seat-help-open>span>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.tvr-seat-help-open:hover,.tvr-seat-help-open:focus,.tvr-seat-help-open:focus-visible,.tvr-seat-help-open:active{background:transparent!important;color:var(--blue)!important;text-decoration:underline}.tvr-seat-choice-help{display:grid;gap:7px;margin-top:14px;padding:15px 16px;border:1px solid #cbdcff;border-radius:14px;background:#f1f6ff}.tvr-seat-choice-help[hidden]{display:none}.tvr-seat-choice-help>div{display:flex;justify-content:space-between;gap:12px}.tvr-seat-choice-help strong,.tvr-seat-choice-help b{color:#172033}.tvr-seat-choice-help b{white-space:nowrap}.tvr-seat-choice-help p{margin:0;color:#475467;line-height:1.45}.tvr-seat-help-dialog{width:min(620px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 48px));padding:0;border:0;border-radius:20px;background:#fff;color:#172033;box-shadow:0 24px 80px rgba(23,32,51,.28)}.tvr-seat-help-dialog::backdrop{background:rgba(23,32,51,.56)}.tvr-seat-help-shell{position:relative;display:grid;gap:18px;padding:28px}.tvr-seat-help-dialog h4{margin:0;padding-right:38px;font-size:26px}.tvr-seat-help-close{position:absolute;top:18px;right:18px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#f2f4f7;color:#344054;font-size:28px;line-height:1;cursor:pointer}.tvr-seat-help-list{display:grid;max-height:min(540px,calc(100vh - 230px));overflow:auto}.tvr-seat-help-list article{display:grid;gap:7px;padding:16px 0;border-top:1px solid #e1e7f0}.tvr-seat-help-list article:first-child{padding-top:0;border-top:0}.tvr-seat-help-list article>div{display:flex;justify-content:space-between;gap:14px}.tvr-seat-help-list strong{font-size:17px}.tvr-seat-help-list b{color:#174fc4;white-space:nowrap}.tvr-seat-help-list p{margin:0;color:#475467;line-height:1.48}.tvr-seat-help-done{width:100%}\r\n@media(max-width:800px){.tvr-seat-map-heading{display:grid}.tvr-seat-map-heading .tvr-seat-legend{justify-content:flex-start}.tvr-seat-choice-help>div,.tvr-seat-help-list article>div{align-items:flex-start}.tvr-seat-help-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:88vh;margin:0;border-radius:22px 22px 0 0}.tvr-seat-help-shell{gap:15px;padding:26px 18px 18px}.tvr-seat-help-shell:before{content:\"\";position:absolute;top:9px;left:50%;width:54px;height:5px;border-radius:999px;background:#b7c0cf;transform:translateX(-50%)}.tvr-seat-help-dialog h4{font-size:23px}.tvr-seat-help-close{top:16px;right:14px}.tvr-seat-help-list{max-height:calc(88vh - 180px)}.tvr-seat-help-list article{padding:14px 0}.tvr-seat-help-list article>div{display:grid;gap:3px}.tvr-seat-help-list b{white-space:normal}}\r\n.tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.tvr-results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.tvr-results-heading h2{margin:0}.tvr-filter-menu{position:relative;z-index:8}.tvr-filter-toggle{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid #d6dbea;border-radius:12px;background:#fff;color:#172033;box-shadow:0 4px 14px rgba(23,32,51,.08);cursor:pointer;list-style:none}.tvr-filter-toggle::-webkit-details-marker{display:none}.tvr-filter-toggle:hover,.tvr-filter-toggle:focus-visible,.tvr-filter-menu[open]>.tvr-filter-toggle{border-color:var(--blue);color:var(--blue)}.tvr-filter-toggle:focus-visible{outline:3px solid rgba(35,107,255,.2);outline-offset:2px}.tvr-filter-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tvr-filter-count{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid #fff;border-radius:999px;background:var(--orange);color:#172033;font-size:12px;font-weight:800}.tvr-result-filter{position:absolute;top:calc(100% + 10px);right:0;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;align-items:end;width:min(520px,calc(100vw - 48px));padding:18px;border:1px solid #dce4f5;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(23,32,51,.18)}.tvr-result-filter-title{grid-column:1\/-1;font-size:17px}.tvr-result-filter label{display:grid;gap:7px;font-weight:600}.tvr-result-filter select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d6dbea;border-radius:10px;background:#fff}.tvr-result-filter .tvr-button{grid-column:1\/-1;white-space:nowrap}\r\n.tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.tvr-filter-options{display:grid;gap:4px;min-width:0;margin:0;padding:0;border:0}.tvr-filter-options+.tvr-filter-options{margin-top:10px}.tvr-filter-options legend{margin:0 0 5px;color:#667085;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tvr-result-filter .tvr-filter-option{display:flex;align-items:center;gap:9px;min-width:0;padding:6px 0;border:0;border-radius:0;background:transparent;font-weight:500;cursor:pointer}.tvr-filter-option input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--blue)}.tvr-filter-option span{min-width:0}.tvr-filter-option:has(input:checked){margin:0 -8px;padding:6px 8px;border-radius:8px;background:#edf3ff;color:#1555d7}.tvr-filter-option:has(input:disabled){color:#98a2b3;cursor:not-allowed}\r\n.tvr-auth-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.tvr-auth-nav button{min-width:140px}.tvr-wizard-nav .tvr-submit{margin-left:auto}@media(max-width:800px){.tvr-auth-nav{position:sticky;bottom:0;z-index:5;margin:18px -18px -18px;padding:12px 18px;background:rgba(255,255,255,.96);box-shadow:0 -4px 16px rgba(23,32,51,.08)}.tvr-auth-nav button{min-width:0;flex:1}}\r\n@media(max-width:800px){.tvr-book-form>.tvr-wizard-nav{margin:18px 0 0;padding:12px 0}}\r\n@media(min-width:1000px){.tvr-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:auto auto auto;gap:18px 32px;align-items:start}.tvr-results-heading{display:contents}.tvr-results-heading h2{grid-column:1;grid-row:1}.tvr-filter-menu{position:sticky;top:24px;z-index:2;grid-column:2;grid-row:2\/4}.tvr-filter-toggle{display:none}.tvr-filter-menu:not([open])>.tvr-result-filter,.tvr-filter-menu>.tvr-result-filter{position:static;display:grid;grid-template-columns:1fr;width:100%;padding:18px;box-shadow:0 8px 28px rgba(23,32,51,.08)}.tvr-result-filter-title,.tvr-result-filter .tvr-button{grid-column:auto}.tvr-list{grid-column:1;grid-row:2;min-width:0}.tvr-list .tvr-card{grid-template-columns:clamp(120px,10vw,150px) minmax(0,1.25fr) minmax(0,.75fr) max-content max-content;gap:14px;min-width:0}.tvr-list .tvr-card-media{width:clamp(120px,10vw,150px)}.tvr-list .tvr-card>.tvr-button{white-space:nowrap}.tvr-load-more{grid-column:1;grid-row:3;margin-top:6px}}\r\n@media(max-width:999px){.tvr-search-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n@media(max-width:800px){.tvr-search-filter{grid-template-columns:1fr}.tvr-results-heading{align-items:center}.tvr-result-filter{grid-template-columns:1fr;width:min(420px,calc(100vw - 32px));padding:16px}.tvr-result-filter-title,.tvr-result-filter .tvr-button{grid-column:auto}.tvr-result-filter .tvr-button{width:100%}}\r\n\r\n\/* Monday-first calendar for the localized catalogue date control. *\/\r\n.tvr-calendar[hidden]{display:none!important}.tvr-calendar{position:absolute;z-index:100;top:calc(100% + 8px);left:0;width:min(310px,calc(100vw - 32px));padding:14px;border:1px solid #dce4f5;border-radius:14px;background:#fff;color:#172033;box-shadow:0 18px 48px rgba(23,32,51,.2)}.tvr-calendar-header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center;margin-bottom:10px}.tvr-calendar-month{text-align:center;text-transform:capitalize}.tvr-filter .tvr-calendar .tvr-calendar-nav{display:grid;width:36px;min-height:36px;padding:0;border:1px solid #dce4f5;border-radius:9px;background:#fff;color:#172033!important;font-size:24px;line-height:1}.tvr-filter .tvr-calendar .tvr-calendar-nav:hover,.tvr-filter .tvr-calendar .tvr-calendar-nav:focus-visible{border-color:var(--blue);background:#edf3ff;color:var(--blue)!important}.tvr-calendar-weekdays,.tvr-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tvr-calendar-weekdays{margin-bottom:4px;color:#667085;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase}.tvr-calendar-weekdays span{padding:4px 0}.tvr-calendar-blank{display:block;min-height:34px}.tvr-filter .tvr-calendar .tvr-calendar-day{display:grid;min-width:0;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#172033!important;font-size:13px;font-weight:700}.tvr-filter .tvr-calendar .tvr-calendar-day:hover,.tvr-filter .tvr-calendar .tvr-calendar-day:focus-visible{background:#edf3ff;color:var(--blue)!important}.tvr-filter .tvr-calendar .tvr-calendar-day.is-selected{background:var(--blue);color:#fff!important}.tvr-filter .tvr-calendar .tvr-calendar-day[aria-current=date]:not(.is-selected){box-shadow:inset 0 0 0 1px var(--blue)}.tvr-filter .tvr-calendar .tvr-calendar-day:disabled{opacity:.35;cursor:not-allowed}\r\n\r\n\/* Three-zone trip cards: media, journey details, and booking action. *\/\r\n.tvr-card{grid-template-columns:116px minmax(0,1fr) 118px;grid-template-rows:auto;gap:0;padding:0;align-items:stretch;overflow:hidden}.tvr-card-media{grid-column:1;grid-row:1;width:100%;height:100%;min-height:218px;aspect-ratio:auto;border-radius:0}.tvr-card-details{grid-column:2;grid-row:1;display:grid;align-content:space-between;gap:18px;min-width:0;padding:18px 16px}.tvr-card-action{grid-column:3;grid-row:1;display:grid;align-content:center;gap:13px;min-width:0;padding:18px 13px;border-left:1px solid #e4e7ec;background:#f7f9fc;text-align:left}.tvr-card-legacy{display:none!important}.tvr-card-meta{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;flex-wrap:wrap}.tvr-date{display:inline-flex;align-items:center;gap:7px;color:#172033;font-weight:800;white-space:nowrap}.tvr-date svg,.tvr-card-border-result svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tvr-date svg{color:var(--blue)}.tvr-card-border-result{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border:0;border-radius:999px;background:#edf3ff;color:#174cae;font-size:12px;font-weight:800;white-space:nowrap}.tvr-card-timeline{display:flex;align-items:flex-start;gap:0;min-width:0;margin:8px 0 0;padding:0;list-style:none}.tvr-card-timeline li{position:relative;flex:1 1 0;min-width:0;padding:27px 4px 0;color:#667085;font-size:11px;font-weight:600;line-height:1.25;text-align:center;overflow-wrap:anywhere}.tvr-card-timeline li:before{content:\"\";position:absolute;z-index:1;top:15px;left:0;width:100%;height:2px;background:#b9ccf5}.tvr-card-timeline li:first-child:before{left:50%;width:50%}.tvr-card-timeline li:last-child:before{width:50%}.tvr-card-timeline li:after{content:\"\";position:absolute;z-index:2;top:10px;left:50%;width:11px;height:11px;border:2px solid var(--blue);border-radius:50%;background:#fff;transform:translateX(-50%)}.tvr-card-timeline li:last-child:after{border-color:var(--orange)}.tvr-card-timeline time{position:absolute;top:-5px;left:50%;color:#172033;font-size:13px;font-weight:800;white-space:nowrap;transform:translateX(-50%)}.tvr-card-bottom{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-width:0}.tvr-card-features{display:flex;flex-wrap:wrap;gap:8px 11px;margin:0}.tvr-card-feature{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#667085;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}.tvr-card-features .tvr-card-feature .tvr-amenity-icon{width:18px;height:18px;padding:0;border:0;border-radius:0;background:transparent}.tvr-card-features .tvr-card-feature .tvr-amenity-icon svg{width:16px;height:16px}.tvr-card-price{display:grid;gap:2px;margin:0;white-space:nowrap}.tvr-card-price-label{color:#667085;font-size:11px;line-height:1.2}.tvr-card-price>strong{color:#172033;font-size:18px;line-height:1.2}.tvr-card-action>.tvr-button{width:100%;min-height:42px;padding:10px 9px;font-size:13px;white-space:normal;text-align:center}.tvr-card-action>.tvr-button:not(.is-disabled):after{content:\"\u2192\";margin-left:6px}.tvr-card-action>.tvr-button.is-disabled{display:inline-flex}\r\n@media(min-width:801px){.tvr-list .tvr-card{grid-template-columns:116px minmax(0,1fr) 118px;gap:0}.tvr-list .tvr-card-media{width:100%}}\r\n@media(max-width:800px){.tvr-card{grid-template-columns:1fr;grid-template-rows:auto;gap:0;padding:0}.tvr-card-media,.tvr-card-details,.tvr-card-action{grid-column:1;grid-row:auto}.tvr-card-media{width:100%;height:auto;min-height:0;aspect-ratio:16\/9}.tvr-card-details{padding:18px}.tvr-card-meta{align-items:flex-start}.tvr-card-timeline{overflow-x:auto;padding:5px 0 4px}.tvr-card-timeline li{flex:0 0 88px}.tvr-card-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px 18px;border-top:1px solid #e4e7ec;border-left:0}.tvr-card-action>.tvr-button{width:auto;min-width:118px;white-space:nowrap}}\r\n\r\n@media(min-width:801px){.tvr-list .tvr-card{height:150px;box-sizing:border-box}.tvr-list .tvr-card-media{display:grid;grid-template-rows:99px 51px;width:132px;height:150px;min-height:0;aspect-ratio:auto;align-self:stretch;border-right:1px solid #e4e7ec;background:#f7f9fc}.tvr-list .tvr-card-media-image{display:grid;place-items:center;overflow:hidden;width:100%;height:99px;background:#eef2f8}.tvr-list .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}.tvr-list .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;align-content:center;gap:4px;overflow:hidden;margin:0;padding:6px;background:#f7f9fc}.tvr-list .tvr-card-media-features .tvr-card-feature{display:inline-flex;flex:0 0 auto}.tvr-list .tvr-card-media-features .tvr-card-feature .tvr-amenity-icon{width:20px;height:20px}.tvr-list .tvr-card-details{gap:10px;padding:12px 14px}.tvr-list .tvr-card-action{gap:10px;min-width:0;overflow:hidden;padding:12px}}\r\n.tvr-card-feature>span:not(.tvr-amenity-icon){display:none}.tvr-card-action>.tvr-button{box-sizing:border-box;max-width:100%;overflow:hidden;padding-right:8px;padding-left:8px;text-decoration:none!important;white-space:nowrap}\r\n.tvr-card-primary{min-width:0;color:inherit;text-decoration:none!important}.tvr-card-primary:focus-visible{z-index:1;outline:3px solid rgba(35,107,255,.3);outline-offset:-3px}.tvr-card-primary[href]{cursor:pointer}.tvr-card-primary[href]:hover .tvr-card-details{background:#f8faff}\r\n.tvr-card-title{display:block;min-width:0;overflow:hidden;color:#172033;font-size:16px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.tvr-card-meta .tvr-date,.tvr-card-meta .tvr-card-border-result{font-size:14px}\r\n@media(max-width:800px){.tvr-card-media{display:grid;grid-template-rows:auto auto;aspect-ratio:auto}.tvr-card-media-image{display:grid;place-items:center;overflow:hidden;width:100%;aspect-ratio:16\/9;background:#eef2f8}.tvr-card-media-image img{width:100%;height:100%;object-fit:cover}.tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;overflow:hidden;margin:0;padding:10px 14px;border-top:1px solid #e4e7ec;background:#f7f9fc}}\r\n@media(max-width:800px){.tvr-card{border-radius:15px}}\r\n\r\n\/* Embedded Ask Tripand AI. *\/\r\n.tvr-ai{display:flex;align-items:center;gap:16px;margin:-6px 0 24px;padding:13px 15px;border:1px solid #dce4f5;border-radius:16px;background:linear-gradient(135deg,#fff 0,#f7f9ff 100%);box-shadow:0 8px 26px rgba(35,107,255,.06)}\r\n.tvr-ai-heading{flex:0 0 auto}.tvr-ai-heading h2{margin:0;font-size:21px;white-space:nowrap}\r\n.tvr-ai-quick{display:flex;flex:1 1 auto;gap:8px;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:thin}.tvr-ai-quick[hidden]{display:none!important}\r\n.tvr-ai-card{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;padding:8px 11px;border:1px solid #dce4f5;border-radius:999px;background:#fff;color:#172033;text-align:left;font:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}\r\n.tvr-ai-card span{color:var(--orange);font-size:15px}.tvr-ai-card:hover,.tvr-ai-card:focus-visible{border-color:var(--blue);box-shadow:0 5px 14px rgba(35,107,255,.13);transform:translateY(-1px);outline:0}\r\n.tvr-ai-launcher{position:fixed;z-index:99990;right:24px;bottom:24px;display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:#236bff;color:#fff;font:inherit;font-size:25px;cursor:pointer;box-shadow:0 12px 30px rgba(35,107,255,.34);transition:transform .15s ease,box-shadow .15s ease}.tvr-ai-launcher:hover,.tvr-ai-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 15px 34px rgba(35,107,255,.4);outline:3px solid rgba(35,107,255,.22);outline-offset:3px}.tvr-ai-launcher[aria-expanded=\"true\"]{background:#1555d7}\r\n.tvr-ai-chat{position:fixed;z-index:99991;right:24px;bottom:94px;display:grid;grid-template-rows:auto minmax(120px,1fr) auto auto;gap:12px;width:min(400px,calc(100vw - 32px));max-height:min(590px,calc(100vh - 120px));padding:16px;border:1px solid #dce4f5;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(23,32,51,.24)}.tvr-ai-chat[hidden]{display:none!important}\r\n.tvr-ai-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#172033;font-size:17px}.tvr-ai-collapse{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dce4f5;border-radius:50%;background:#f7f9ff;color:#475467;font:inherit;font-size:25px;line-height:1;cursor:pointer}.tvr-ai-collapse:hover,.tvr-ai-collapse:focus-visible{border-color:#236bff;color:#1555d7;outline:0}\r\n.tvr-ai-messages{display:grid;align-content:start;gap:10px;max-height:340px;overflow:auto;padding:4px}.tvr-ai-message{max-width:88%;padding:11px 13px;border-radius:14px;background:#edf3ff;color:#172033}.tvr-ai-message.is-user{justify-self:end;background:#236bff;color:#fff}.tvr-ai-message strong{display:block;margin-bottom:4px;font-size:12px}.tvr-ai-message p{margin:0;white-space:pre-wrap;line-height:1.42}.tvr-ai-message.is-typing p{color:#667085;font-style:italic}.tvr-ai-message.is-error{background:#fff1f0;color:#9f1d16}.tvr-ai-retry{margin-top:9px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}\r\n.tvr-ai-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.tvr-ai-form textarea{width:100%;min-height:78px;max-height:180px;padding:10px 11px;border:1px solid #cbd9ff;border-radius:10px;background:#fff;font:inherit;line-height:1.4;resize:vertical}.tvr-ai-send{width:46px;height:46px;min-height:46px;padding:0}.tvr-ai-send svg{display:block;width:22px;height:22px}.tvr-ai-actions{display:flex;flex-wrap:wrap;gap:8px}.tvr-ai-action{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #cbd9ff;border-radius:9px;background:#fff;color:#1555d7!important;font-weight:800;text-decoration:none}\r\n.tvr-ai-feedback{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tvr-ai-feedback>button{padding:4px 8px;border:1px solid #cbd9ff;border-radius:8px;background:#fff;cursor:pointer}.tvr-ai-feedback-editor{display:grid;flex:1 0 100%;gap:6px}.tvr-ai-feedback-editor[hidden]{display:none}.tvr-ai-feedback-editor select,.tvr-ai-feedback-editor textarea{width:100%;padding:7px;border:1px solid #cbd9ff;border-radius:8px;background:#fff;font:inherit}.tvr-ai-feedback-editor button{justify-self:start;padding:7px 10px;border:0;border-radius:8px;background:#236bff;color:#fff;font:inherit;font-weight:700;cursor:pointer}\r\n@media(max-width:999px){.tvr-ai-launcher{right:16px;bottom:calc(86px + env(safe-area-inset-bottom))}.tvr-ai-chat{right:12px;bottom:calc(150px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:calc(100vh - 174px - env(safe-area-inset-bottom))}}\r\n@media(max-width:600px){.tvr-ai{display:grid;gap:9px;margin-top:0;padding:12px}.tvr-ai-heading h2{font-size:19px}.tvr-ai-quick{width:100%;padding-bottom:3px;scroll-snap-type:x mandatory}.tvr-ai-card{min-height:38px;scroll-snap-align:start}.tvr-ai-chat{right:0;bottom:calc(72px + env(safe-area-inset-bottom));left:0;width:100%;max-height:calc(100vh - 88px - env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.tvr-ai-form{grid-template-columns:1fr auto}.tvr-ai-message{max-width:94%}}\r\n.tvr-ai-launcher[hidden]{display:none!important}\r\n.tph-app:has(.tvr-home-embed){overflow-x:clip;overflow-y:visible}\r\n.tvr-home-embed .tvr-results-heading{justify-content:flex-end}.tvr-home-embed .tvr-results-heading h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n.tvr-home-embed .tvr-search-filter{gap:10px;padding:10px 14px;border-radius:14px}.tvr-home-embed .tvr-search-field{position:relative;display:block}.tvr-home-embed .tvr-search-field--from .tvr-search-field-label{position:absolute;z-index:1;top:5px;left:12px;color:#667085;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.tvr-home-embed .tvr-search-field--from select{min-height:44px;padding:17px 36px 3px 11px}.tvr-home-embed .tvr-search-field--date .tvr-search-field-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tvr-home-embed .tvr-search-field--date input{min-height:44px;padding:7px 11px}.tvr-home-embed .tvr-search-field--border-result .tvr-search-field-label{position:absolute;z-index:1;top:5px;left:12px;color:#667085;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.tvr-home-embed .tvr-search-field--border-result select{min-height:44px;padding:17px 36px 3px 11px}.tvr-home-embed .tvr-search-filter>button{min-height:44px;padding:9px 17px}.tvr-search-submit-icon{display:none}\r\n\/* Keep the selected trip-card layout above catalogue-wide desktop rules. *\/\r\n@media(min-width:801px){.tvr-list .tvr-card{grid-template-columns:132px minmax(0,1fr) 168px;gap:0}.tvr-list .tvr-card-media{width:132px}}\r\n.tvr-home-embed .tvr-results-heading{display:none!important}\r\n\r\n\/* Keep every desktop summary inside the agreed 150px trip-card frame. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{height:150px;min-height:150px}\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-details{box-sizing:border-box;grid-template-rows:20px 28px 64px;align-content:start;gap:8px;height:150px;padding:7px 14px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-title{line-height:20px}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;height:28px;overflow:hidden;flex-wrap:nowrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date{flex:0 0 auto;font-size:13px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-card-border-result{flex:0 1 auto;overflow:hidden;font-size:12px;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-timeline{align-self:end;height:64px;min-height:64px;margin:0;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-timeline li{padding-top:43px;overflow:visible;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{top:32px}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{top:27px}\r\n\t.tvr-home-embed .tvr-card-timeline time{top:3px;line-height:18px}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\r\n}\r\n\r\n\/* Canonical homepage desktop layout. *\/\r\n@media(min-width:1000px){\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-search-card{\r\n\t\tmin-height:0;\r\n\t\tpadding:0;\r\n\t\tborder:0;\r\n\t\tbackground:transparent;\r\n\t\tbox-shadow:none;\r\n\t}\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-tabs{\r\n\t\tposition:relative;\r\n\t\tz-index:2;\r\n\t\tbox-sizing:border-box;\r\n\t\twidth:1014px;\r\n\t\tmax-width:100%;\r\n\t\tpadding:0 18px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-bottom:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.07);\r\n\t}\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-panel--visa-async{\r\n\t\tpadding-top:0;\r\n\t}\r\n\t.tvr-home-embed .tvr-app{\r\n\t\tdisplay:grid;\r\n\t\tgrid-template-columns:minmax(0,1fr) 286px;\r\n\t\tgrid-template-rows:auto auto;\r\n\t\tgap:clamp(10px, calc(100vw - 990px), 24px);\r\n\t\talign-items:start;\r\n\t\twidth:100%;\r\n\t\tmax-width:1014px;\r\n\t}\r\n\t.tvr-home-embed .tvr-search-filter{\r\n\t\tposition:sticky;\r\n\t\ttop:16px;\r\n\t\tz-index:40;\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:2;\r\n\t\tgrid-row:1\/-1;\r\n\t\talign-self:start;\r\n\t\twidth:100%;\r\n\t\tmax-width:100%;\r\n\t\tmargin:0;\r\n\t\tpadding:16px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-top:1px solid #e1e8f3;\r\n\t\tborder-radius:18px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 14px 34px rgba(16,24,40,.08);\r\n\t}\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-home-embed .tvr-search-filter>.tvr-search-submit{width:100%}\r\n\tbody.admin-bar .tvr-home-embed .tvr-search-filter{top:40px}\r\n\t.tvr-home-embed .tvr-results-layout{\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:1\/-1;\r\n\t\tdisplay:grid;\r\n\t\tgrid-template-columns:minmax(0,1fr);\r\n\t\tgrid-template-rows:auto auto;\r\n\t\tgap:12px;\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t\tpadding:24px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.06);\r\n\t}\r\n\t.tvr-home-embed .tvr-results-heading{grid-column:1;grid-row:1;margin:0}\r\n\t.tvr-home-embed .tvr-filter-menu{position:relative;top:auto;z-index:8;grid-column:auto;grid-row:auto}\r\n\t.tvr-home-embed .tvr-filter-toggle{display:grid}\r\n\t.tvr-home-embed .tvr-filter-menu:not([open])>.tvr-result-filter{display:none}\r\n\t.tvr-home-embed .tvr-filter-menu[open]>.tvr-result-filter{position:absolute;top:calc(100% + 10px);right:0;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(520px,calc(100vw - 48px));padding:18px;box-shadow:0 18px 48px rgba(23,32,51,.18)}\r\n\t.tvr-home-embed .tvr-result-filter-title,.tvr-home-embed .tvr-result-filter .tvr-button{grid-column:1\/-1}\r\n\t.tvr-home-embed .tvr-list{\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:1;\r\n\t\tgap:14px;\r\n\t\tgrid-template-columns:minmax(0,1fr);\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t}\r\n\t.tvr-home-embed .tvr-load-more{\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:2;\r\n\t\tmargin-top:6px;\r\n\t}\r\n\t.tvr-home-embed .tvr-list .tvr-card{\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t\tborder-color:#e2e9f5;\r\n\t\tborder-radius:16px;\r\n\t\tbackground:#f8faff;\r\n\t\tbox-shadow:none;\r\n\t\toverflow:hidden;\r\n\t}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action,\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{\r\n\t\tbackground:#f3f6fd;\r\n\t}\r\n\t.tvr-home-embed .tvr-ai{\r\n\t\tposition:sticky;\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:2;\r\n\t\tgrid-row:2;\r\n\t\tdisplay:grid;\r\n\t\talign-items:stretch;\r\n\t\tgap:12px;\r\n\t\twidth:362px;\r\n\t\ttop:var(--tvr-home-sticky-offset,auto);\r\n\t\tmargin:0;\r\n\t\tpadding:24px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.06);\r\n\t}\r\n\t.tvr-home-embed .tvr-ai-heading h2{white-space:normal}\r\n\t.tvr-home-embed .tvr-ai-quick{flex-wrap:wrap;overflow:visible}\r\n\t.tvr-home-embed .tvr-ai-card{white-space:normal}\r\n\t.tvr-home-embed .tvr-ai-launcher{display:none!important}\r\n\t.tvr-home-embed .tvr-ai-chat{position:static;display:grid!important;grid-template-rows:minmax(140px,1fr) auto auto;width:100%;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}\r\n\t.tvr-home-embed .tvr-ai-chat-heading{display:none}\r\n\t.tvr-home-embed .tvr-ai-messages{max-height:320px}\r\n}\r\n\r\n\/* Keep sticky and anchor targets below the measured search filter. *\/\r\n@media(min-width:1000px){.tvr-home-embed{--tvr-home-sticky-gap:16px}.tvr-home-embed .tvr-results-layout,.tvr-home-embed #tvr-trip-list{scroll-margin-top:var(--tvr-home-sticky-offset,0px)}}\r\n\r\n\/* Mobile home\/TMA polish. Desktop rules remain isolated above 1000px. *\/\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-app{width:100%;max-width:100%}\r\n\t.tvr-home-embed .tvr-search-filter{gap:10px;margin:0;padding:16px;border:1px solid #e3e9f4;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(23,32,51,.07)}\r\n\t.tvr-home-embed .tvr-results-layout{gap:14px;margin-top:16px}\r\n\t.tvr-home-embed .tvr-ai{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}\r\n\t.tvr-home-embed .tvr-ai-heading,.tvr-home-embed .tvr-ai-quick{display:none!important}\r\n\t.tvr-ai-launcher{bottom:calc(96px + max(env(safe-area-inset-bottom),var(--tripand-tg-content-safe-area-bottom,0px)))}\r\n\t.tvr-ai-chat{max-height:calc(var(--tripand-visual-viewport-height,100vh) - 174px - max(env(safe-area-inset-bottom),var(--tripand-tg-content-safe-area-bottom,0px)))}\r\n}\r\n@media(max-width:800px){\r\n\tbody.tripand-keyboard-open .tvr-ai-launcher{display:none!important}\r\n\tbody.tripand-keyboard-open .tvr-ai-chat{top:12px;right:12px;bottom:12px;left:12px;width:auto;max-height:calc(var(--tripand-visual-viewport-height,100vh) - 24px);border-radius:18px}\r\n\tbody.tripand-keyboard-open .tvr-wizard-nav,body.tripand-keyboard-open .tvr-auth-nav{position:static}\r\n}\r\n@media(max-width:520px){.tvr-home-embed .tvr-search-filter{padding:14px}}\r\n\r\n@media(min-width:600px) and (max-width:999px){\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) 48px}\r\n\t.tvr-home-embed .tvr-search-submit{width:48px;min-width:48px;padding:0}\r\n\t.tvr-home-embed .tvr-search-submit-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n\t.tvr-home-embed .tvr-search-submit-icon{display:block}\r\n}\r\n@media(max-width:599px){\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:1fr}\r\n\t.tvr-home-embed .tvr-search-submit{width:100%}\r\n}\r\n\r\n.tvr-card-departure{display:none}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear{grid-column:1\/-1;justify-self:end;display:inline-flex;width:auto;min-height:30px;margin:-2px 0 -8px;padding:3px 5px;border:0;border-radius:7px;background:transparent;color:#667085!important;box-shadow:none;font-size:12px;font-weight:600;line-height:1.2}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear[hidden]{display:none!important}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear:hover,.tvr-home-embed .tvr-search-filter>.tvr-search-clear:focus-visible,.tvr-home-embed .tvr-search-filter>.tvr-search-clear:active{background:#edf3ff;color:var(--blue)!important;box-shadow:none}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear:focus-visible{outline:2px solid rgba(35,107,255,.24);outline-offset:1px}\r\n.tvr-search-clear svg{flex:0 0 auto;margin-right:6px}\r\n@media(max-width:999px){.tvr-home-embed .tvr-search-filter>.tvr-search-clear{grid-column:1\/-1;justify-self:end;margin-top:0}}\r\n.tvr-card-action>.tvr-button:not(.is-disabled):after{content:none}\r\n\r\n\/* Approved compact mobile trip-card row. *\/\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{--tvr-mobile-card-media:clamp(96px,24vw,148px);position:relative;display:grid;grid-template-columns:var(--tvr-mobile-card-media) minmax(0,1fr);width:100%;height:148px;min-height:148px;aspect-ratio:auto;border-radius:18px}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;overflow:hidden;border-radius:17px 0 0 17px}\r\n\t.tvr-home-embed .tvr-card-details{grid-column:2;grid-row:1;grid-template-rows:auto auto auto;align-content:start;gap:7px;min-width:0;padding:11px 12px 63px}\r\n\t.tvr-home-embed .tvr-card-title{font-size:15px;line-height:1.2}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;overflow:hidden;flex-wrap:nowrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:11px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date{min-width:0;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-departure{display:inline}\r\n\t.tvr-home-embed .tvr-card-border-result{margin-left:auto;padding:4px 7px}\r\n\t.tvr-home-embed .tvr-card-timeline{display:flex;align-items:center;gap:0;min-width:0;overflow:hidden;margin:0;padding:0;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li{display:flex;align-items:center;flex:0 1 auto;min-width:0;padding:0;color:#667085;font-size:10px;line-height:1.2;text-align:left;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{position:static;width:auto;height:auto;margin:0 5px;border:0;border-radius:0;background:none;color:var(--blue);content:\"\u2192\";transform:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:last-child:after{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline time{display:none}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:minmax(0,1fr) 28px;width:100%;height:100%;min-height:0;border-right:1px solid #e4e7ec;border-left:0;background:#eef2f8}\r\n\t.tvr-home-embed .tvr-card-media-image{display:block;place-self:stretch;width:auto;height:auto;min-width:0;min-height:0;aspect-ratio:auto}\r\n\t.tvr-home-embed .tvr-card-media-features{min-height:0;padding:4px 6px;border-top:1px solid #e4e7ec}\r\n\t.tvr-home-embed .tvr-card-action{grid-column:1\/-1;grid-row:1\/-1;position:absolute;z-index:2;right:0;bottom:0;left:var(--tvr-mobile-card-media);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;height:60px;min-height:0;padding:6px 10px 7px 12px;border-top:1px solid #edf0f5;border-left:0;background:#fff}\r\n\t.tvr-home-embed .tvr-card-action .tvr-card-price{grid-column:1;grid-row:1;min-width:0}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button{grid-column:2;grid-row:1}\r\n\t.tvr-home-embed .tvr-card-price-label{font-size:9px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:15px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){width:auto;min-width:120px;max-width:140px;height:48px;min-height:48px;padding:0 16px;border-radius:12px;font-size:14px;line-height:1;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button.is-disabled{width:auto;min-width:0;min-height:34px;padding:6px 8px;font-size:10px;white-space:normal}\r\n}\r\n@media(max-width:520px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{height:138px;min-height:138px}\r\n\t.tvr-home-embed .tvr-card-details{gap:5px;padding:9px 9px 59px}\r\n\t.tvr-home-embed .tvr-card-title{font-size:13px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:10px}\r\n\t.tvr-home-embed .tvr-card-border-result svg,.tvr-home-embed .tvr-date svg{width:14px;height:14px}\r\n\t.tvr-home-embed .tvr-card-timeline li{font-size:9px}\r\n\t.tvr-home-embed .tvr-card-action{height:56px;padding:5px 8px 6px 9px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:14px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:120px;height:46px;min-height:46px;padding:0 14px;font-size:13px}\r\n}\r\n.tvr-ticket-groups{display:grid;gap:18px}.tvr-ticket-group{overflow:hidden;border:1px solid #dbe4f3;border-radius:18px;background:#f8faff}.tvr-ticket-group-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:12px;align-items:center;padding:17px 20px;cursor:pointer;color:#17233c;font-size:18px;font-weight:800;list-style:none}.tvr-ticket-group-summary::-webkit-details-marker{display:none}.tvr-ticket-group-summary strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#e5edff;color:#236bff;font-size:14px}.tvr-ticket-group-toggle{width:9px;height:9px;border-right:2px solid #236bff;border-bottom:2px solid #236bff;transform:rotate(45deg) translate(-2px,-2px)}.tvr-ticket-group[open]>.tvr-ticket-group-summary .tvr-ticket-group-toggle{transform:rotate(225deg) translate(-2px,-2px)}.tvr-ticket-group>.tvr-ticket-list{padding:0 18px 18px}.tvr-ticket-group--cancelled{background:#fafafa}.tvr-ticket-group--cancelled>.tvr-ticket-group-summary strong{background:#f2f4f7;color:#667085}@media(max-width:800px){.tvr-ticket-groups{gap:14px}.tvr-ticket-group-summary{padding:15px 16px;font-size:16px}.tvr-ticket-group>.tvr-ticket-list{padding:0 12px 12px}}\r\n.tvr-field-optional{display:block;color:#667085;font-size:12px;font-weight:400;line-height:1.35}\r\n\r\n\/* Full-width mobile service sections; fields and nested result cards remain inset. *\/\r\n@media(max-width:999px){\r\n\t.tripand-service-visa-run .tvr-app{box-sizing:border-box;width:100%;max-width:none;margin-right:0;margin-left:0}\r\n\t.tripand-service-visa-run .tvr-app:not(.tvr-booking){padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left));border-top:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;background:#fff}\r\n\t.tripand-service-visa-run .tripand-account-panel--tickets .tvr-tickets{padding-right:0;padding-left:0}\r\n\t.tripand-service-visa-run .tripand-account-panel--tickets .tvr-ticket-groups{width:100vw;max-width:100vw;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw)}\r\n\t.tripand-visa-booking-surface .tvr-booking-intro{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n\t.tripand-visa-booking-surface .tvr-booking-choice,\r\n\t.tripand-visa-booking-surface .tvr-trip-description,\r\n\t.tripand-visa-booking-surface .tvr-trip-fares,\r\n\t.tripand-visa-booking-surface .tvr-route-map,\r\n\t.tripand-visa-booking-surface .tvr-booking-contact-panel,\r\n\t.tripand-visa-booking-surface .tvr-step:not(.tvr-booking-start){border-right:0;border-left:0;border-radius:0;box-shadow:none}\r\n\t.tripand-visa-booking-surface .tvr-gallery-main{border-radius:0}\r\n\t.tripand-visa-booking-surface .tvr-booking-choice,\r\n\t.tripand-visa-booking-surface .tvr-booking-contact-panel,\r\n\t.tripand-visa-booking-surface .tvr-step:not(.tvr-booking-start){padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n\t.tripand-visa-booking-surface .tvr-book-form>.tvr-message{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n}\r\n\/* Catalogue trip card: layout reacts to the card width, not to the viewport. *\/\r\n@media(max-width:999px){.tvr-home-embed .tvr-card-return{display:none}}\r\n.tvr-list:not(.tvr-home-embed *){container-type:inline-size}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card{position:relative;z-index:0;display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto;gap:0;height:auto;min-height:0;padding:0;overflow:visible;border-radius:16px;transition:box-shadow .18s ease,transform .18s ease}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover,.tvr-list:not(.tvr-home-embed *) .tvr-card:focus-within{z-index:20}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover{box-shadow:0 14px 32px rgba(23,32,51,.14);transform:translateY(-2px)}\r\n@media(prefers-reduced-motion:reduce){.tvr-list:not(.tvr-home-embed *) .tvr-card{transition:none}.tvr-list:not(.tvr-home-embed *) .tvr-card:hover{transform:none}}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media{grid-column:1;grid-row:1\/-1;display:grid;grid-template-rows:1fr 34px;width:132px;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;border-right:1px solid #e4e7ec;border-radius:15px 0 0 15px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{display:grid;place-items:center;width:100%;height:100%;min-height:0;overflow:hidden;background:#eef2f8}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:7px;margin:0;padding:0 8px;overflow:hidden;border-top:1px solid #e4e7ec;background:#f4f7fb;color:#64758c}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature{flex:0 0 auto;min-width:0;color:inherit;font-size:11px;overflow:hidden;text-overflow:ellipsis}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature:first-child{flex:0 1 auto}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature:first-child>span:not(.tvr-amenity-icon){display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-amenity-icon{width:16px;height:16px;color:inherit}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-amenity-icon svg{width:15px;height:15px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-details{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-content:stretch;gap:0;min-width:0;padding:11px 14px 8px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-title{margin:0 0 8px;color:#0f1c33;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary{display:inline;color:inherit;text-decoration:none!important;transition:color .15s ease}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary[href]:after{content:\"\";position:absolute;z-index:1;inset:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover .tvr-card-primary[href]{color:#1d55c9}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-meta{margin-bottom:2px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline{margin:8px 0 0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline time{overflow:hidden;max-width:100%;text-overflow:ellipsis}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return{position:relative;z-index:1;margin-top:4px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:0 auto;padding:4px 8px;color:var(--blue);font-size:13px;font-weight:700;line-height:1.2;list-style:none;cursor:pointer}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle::marker{content:\"\"}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle::-webkit-details-marker{display:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return[open] .tvr-card-return-toggle svg{transform:scaleY(-1)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body{position:absolute;z-index:30;top:calc(100% + 4px);right:-6px;left:-6px;display:none;margin:0;padding:10px 12px 11px;border:1px solid #d7e1f2;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(23,32,51,.20)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return[open] .tvr-card-return-body{display:block}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body .tvr-card-timeline{margin:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px 10px;border-top:1px solid #e4e7ec;border-left:0;background:transparent}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-price{min-width:0}\r\n.tvr-card-price.has-visa-price>strong{white-space:normal}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{flex:0 1 auto;width:auto;min-width:0;padding:11px 16px;font-size:15px;white-space:nowrap;position:relative;z-index:2}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:auto 34px;width:100%;height:auto;border-right:0;border-bottom:1px solid #e4e7ec;border-radius:15px 15px 0 0}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{aspect-ratio:16\/9;height:auto}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{justify-content:flex-start;padding:0 14px}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-details{grid-column:1;grid-row:2}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action{grid-column:1;grid-row:3}\r\n}\r\n@container (max-width:330px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action{flex-direction:column;align-items:stretch}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{width:100%}\r\n}\r\n\r\n\/* Home embed on desktop: the trip card follows the catalogue prototype; the\r\n   approved compact row keeps owning screens below 1000px. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list{container-type:inline-size}\r\n\t.tvr-home-embed .tvr-list .tvr-card{position:relative;z-index:0;display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto;gap:0;height:auto;min-height:0;padding:0;overflow:hidden;border-radius:16px;transition:box-shadow .18s ease,transform .18s ease}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover,.tvr-home-embed .tvr-list .tvr-card:focus-within{z-index:20}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover{box-shadow:0 14px 32px rgba(23,32,51,.14);transform:translateY(-2px)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{grid-column:1;grid-row:1\/-1;display:grid;grid-template-rows:1fr 34px;width:132px;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;border-right:1px solid #e4e7ec;border-radius:0}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image{display:grid;place-items:center;place-self:stretch;width:100%;height:100%;min-height:0;overflow:hidden;background:#eef2f8}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:7px;min-height:0;margin:0;padding:0 8px;overflow:hidden;border-top:1px solid #e4e7ec;background:#f4f7fb;color:#64758c}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature{flex:0 0 auto;min-width:0;color:inherit;font-size:11px;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature:first-child{flex:0 1 auto}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature:first-child>span:not(.tvr-amenity-icon){display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-amenity-icon{width:16px;height:16px;color:inherit}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-amenity-icon svg{width:15px;height:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:0;height:auto;min-width:0;padding:11px 14px 8px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-title{margin:0 0 8px;color:#0f1c33;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.25}\r\n\t.tvr-home-embed .tvr-list .tvr-card-primary{display:inline;color:inherit;text-decoration:none!important;transition:color .15s ease}\r\n\t.tvr-home-embed .tvr-list .tvr-card-primary[href]:after{content:\"\";position:absolute;z-index:1;inset:0}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover .tvr-card-primary[href]{color:#1d55c9}\r\n\t.tvr-home-embed .tvr-list .tvr-card-meta{height:auto;margin-bottom:2px;overflow:visible;flex-wrap:wrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline{align-self:auto;height:auto;min-height:0;margin:8px 0 0;overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li{padding:27px 4px 0}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:before{top:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:after{top:10px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline time{top:-5px;line-height:1.2}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return{position:relative;z-index:1;display:block;margin-top:4px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action{position:static;grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:10px;height:auto;padding:8px 14px 10px;border-top:1px solid #e4e7ec;border-left:0;background:transparent}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button{flex:0 1 auto;position:relative;z-index:2;width:auto;min-width:0;max-width:none;height:auto;min-height:0;padding:11px 16px;border-radius:12px;font-size:15px;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button.is-disabled{min-height:0;padding:11px 16px;font-size:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-price>strong{font-size:18px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-price-label{font-size:11px}\r\n}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:0 auto;padding:4px 8px;color:var(--blue);font-size:13px;font-weight:700;line-height:1.2;list-style:none;cursor:pointer}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle::marker{content:\"\"}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle::-webkit-details-marker{display:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return[open] .tvr-card-return-toggle svg{transform:scaleY(-1)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{display:none;margin:6px 0 2px;padding:9px 11px 10px;border:1px solid #e4e7ec;border-radius:12px;background:#f8faff}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return[open] .tvr-card-return-body{display:block}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body .tvr-card-timeline{margin:0}\r\n}\r\n\/* One continuous route line: the first and last stops always sit on the card\r\n   edges, so the line looks identical however many cities a trip has. *\/\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline{position:relative}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:14.5px;right:5.5px;left:5.5px;height:2px;background:#b9ccf5}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:before{content:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child{text-align:left}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child{text-align:right}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child:after{left:0;transform:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child:after{right:0;left:auto;transform:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child time{left:0;transform:none;text-align:left}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child time{right:0;left:auto;transform:none;text-align:right}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{position:absolute;z-index:30;top:calc(100% + 4px);right:-6px;left:-6px;margin:0;padding:10px 12px 11px;border:1px solid #d7e1f2;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(23,32,51,.20)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline{position:relative}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:14.5px;right:5.5px;left:5.5px;height:2px;background:#b9ccf5}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child{text-align:left}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child{text-align:right}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child:after{left:0;transform:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child:after{right:0;left:auto;transform:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child time{left:0;transform:none;text-align:left}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child time{right:0;left:auto;transform:none;text-align:right}\r\n}\r\n\/* Home embed: the filter panel is always expanded, uses checkboxes and applies\r\n   itself without a search button. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone{position:sticky;top:16px;z-index:39;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-column:2;grid-row:1\/-1;gap:16px;align-items:stretch;align-self:start;width:100%;margin:0;padding:16px;border:1px solid #e1e8f3;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(16,24,40,.08)}\r\n\t.tvr-home-embed .tvr-search-filter{grid-row:1;padding:16px 16px 12px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-result-filter-title{font-size:15px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options{display:grid;gap:7px;margin:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options legend{margin-bottom:2px;padding:0;color:#667085;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option{display:flex;align-items:center;gap:9px;min-height:26px;color:#25344c;font-size:14px;cursor:pointer}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--blue);cursor:pointer}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input:disabled{cursor:not-allowed}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input:disabled+span{color:#98a2b3}\r\n\t.tvr-home-embed .tvr-result-filter--standalone[aria-busy=true]{opacity:.65}\r\n}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-search-field--date{display:grid;gap:5px;min-width:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-search-field-label{color:#667085;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-control{display:flex;align-items:center;gap:6px;width:100%;padding:9px 11px;border:1px solid #c9d6e7;border-radius:12px;background:#fff}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-display{width:100%;min-height:0;padding:0;border:0;background:transparent;font:inherit}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-picker-button{flex:none;padding:0;border:0;background:transparent;color:#667085;cursor:pointer}\r\n}\r\n\/* The standalone filter panel keeps a single column on every width. *\/\r\n.tvr-result-filter--standalone{position:static;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;box-shadow:none}\r\n.tvr-filter-section{min-width:0;margin:0;border:0}.tvr-filter-section-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;list-style:none;cursor:pointer}.tvr-filter-section-summary::-webkit-details-marker{display:none}.tvr-filter-section-summary:after{content:\"\";flex:0 0 auto;width:8px;height:8px;margin-right:3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}.tvr-filter-section[open]>.tvr-filter-section-summary:after{transform:rotate(225deg)}.tvr-filter-section>.tvr-filter-options{margin-top:7px!important}\r\n.tvr-filter .tvr-result-clear{display:inline-flex;align-items:center;justify-self:start;gap:5px;width:auto;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:#667085!important;font:inherit;font-size:12px;font-weight:600;line-height:1.35;text-decoration:none;box-shadow:none;cursor:pointer}.tvr-filter .tvr-result-clear:before{content:\"\\00d7\";display:inline-grid;place-items:center;width:14px;height:14px;font-size:16px;font-weight:400;line-height:1;text-decoration:none}.tvr-filter .tvr-result-clear:hover,.tvr-filter .tvr-result-clear:focus-visible{background:transparent;color:var(--blue)!important}.tvr-filter .tvr-result-clear:focus-visible{outline:2px solid rgba(35,107,255,.24);outline-offset:3px;border-radius:3px}\r\n.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options:first-of-type .tvr-filter-option{font-family:Arial,sans-serif;font-weight:400}\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone{margin:12px 0 0;padding:16px;border:1px solid #e1e8f3;border-radius:16px;background:#fff;gap:14px}\r\n\t.tvr-home-embed .tvr-filter-section-summary{min-height:36px;padding:5px 0;border-bottom:1px solid #e6ebf3}\r\n\t.tvr-home-embed .tvr-filter-section[open]>.tvr-filter-section-summary{border-bottom-color:transparent}\r\n\t.tvr-home-embed .tvr-filter-section:not([open])>.tvr-filter-options{display:none!important}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options{display:grid;gap:8px;margin:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option{display:flex;align-items:center;gap:10px;min-height:30px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--blue)}\r\n}\r\n@media(min-width:1000px){.tvr-home-embed .tvr-filter-section-summary{cursor:default}.tvr-home-embed .tvr-filter-section-summary:after{display:none}}\r\n\/* Route line and the return toggle share one row, so the card is a line shorter. *\/\r\n.tvr-list .tvr-card-route-row{display:flex;align-items:center;gap:10px;min-width:0;margin-top:8px}\r\n.tvr-list .tvr-card-route-row>.tvr-card-timeline{flex:1 1 auto;margin:0}\r\n.tvr-list .tvr-card-route-row>.tvr-card-return{flex:0 0 auto;margin:0;align-self:flex-end;padding-bottom:2px}\r\n.tvr-list .tvr-card-route-row .tvr-card-return-toggle{margin:0;padding:4px 6px;white-space:nowrap}\r\n.tvr-list .tvr-card-route-row .tvr-card-return-body{right:0;left:auto;min-width:230px}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-route-row .tvr-card-return-body{right:-6px;left:auto}\r\n}\r\n\/* The filter panel calendar matches the panel width. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-calendar{right:0;left:0;width:auto;min-width:0;box-sizing:border-box}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-calendar-header{grid-template-columns:32px minmax(0,1fr) 32px}\r\n}\r\n\/* The card photo fills the whole media column, top to bottom. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{grid-template-columns:152px minmax(0,1fr)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{width:152px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image{display:block;place-self:stretch;width:100%;height:100%;min-height:0;overflow:hidden}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image img,.tvr-home-embed .tvr-list .tvr-card-media-image picture img{width:100%;height:100%;object-fit:cover}\r\n}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:152px minmax(0,1fr)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media{width:152px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{display:block;width:100%;height:100%;min-height:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media{width:100%}\r\n}\r\n\/* The return popover must escape the card body. *\/\r\n.tvr-list .tvr-card-details{overflow:visible}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{border-radius:15px 0 0 15px}\r\n}\r\n\/* The return popover sits above the price row and the booking button. *\/\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-details{position:relative;z-index:3}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-route-row{position:relative;z-index:4}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return{z-index:5}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body{z-index:60}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action{position:relative;z-index:1}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{z-index:1}\r\n.tvr-list .tvr-card-title{font-weight:600}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-title{font-weight:600}\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{position:relative;z-index:3}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action{position:relative;z-index:1}\r\n\t.tvr-home-embed .tvr-list .tvr-card-route-row{position:relative;z-index:4}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return{z-index:5}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{z-index:60}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button{z-index:1}\r\n}\r\n\r\n\/* Trip cards expose the departure time for every configured city and the\r\n   arrival time at the outbound destination without opening the trip. *\/\r\n.tvr-list .tvr-card-timeline li.has-time time{display:block}\r\n.tvr-list .tvr-card-timeline li.is-last time{color:#a64b00}\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{--tvr-mobile-card-media:clamp(104px,25vw,148px);grid-template-columns:var(--tvr-mobile-card-media) minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:198px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:minmax(112px,1fr) 34px;height:100%;border-radius:17px 0 0 0}\r\n\t.tvr-home-embed .tvr-card-details{grid-column:2;grid-row:1;display:grid;grid-template-rows:auto auto minmax(58px,auto);align-content:start;gap:7px;padding:12px 13px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-title{font-size:16px;line-height:1.25}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;overflow:visible;flex-wrap:wrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:12px}\r\n\t.tvr-home-embed .tvr-card-departure{display:none}\r\n\t.tvr-home-embed .tvr-card-border-result{margin-left:0;padding:4px 8px}\r\n\t.tvr-home-embed .tvr-card-route-row{display:flex;align-items:flex-start;gap:7px;min-width:0;margin-top:2px}\r\n\t.tvr-home-embed .tvr-card-timeline{position:relative;display:flex;align-items:flex-start;flex:1 1 auto;gap:0;min-width:0;height:58px;margin:0;padding:0;overflow:visible;white-space:normal}\r\n\t.tvr-home-embed .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:24px;right:6px;left:6px;height:2px;background:#b9ccf5}\r\n\t.tvr-home-embed .tvr-card-timeline li{position:relative;display:block;flex:1 1 0;min-width:0;padding:36px 3px 0;color:#667085;font-size:11px;font-weight:600;line-height:1.2;text-align:center;white-space:normal}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{content:\"\";position:absolute;z-index:2;top:19px;left:50%;width:11px;height:11px;margin:0;border:2px solid var(--blue);border-radius:50%;background:#fff;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline li.is-last:after{border-color:var(--orange)}\r\n\t.tvr-home-embed .tvr-card-timeline time{position:absolute;top:0;left:50%;display:block;max-width:100%;overflow:hidden;color:#172033;font-size:12px;font-weight:800;line-height:18px;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline li.is-last time{right:auto;left:50%;color:#a64b00;text-align:center;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-action{position:static;grid-column:1\/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;height:auto;min-height:60px;padding:7px 12px 8px;border-top:1px solid #e4e7ec;background:#fff}\r\n\t.tvr-home-embed .tvr-card-price-label{font-size:11px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:17px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:128px;height:48px;min-height:48px;padding:0 16px;font-size:14px}\r\n}\r\n@media(max-width:430px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{min-height:218px}\r\n\t.tvr-home-embed .tvr-card-details{grid-template-rows:auto auto auto;padding:11px 11px 9px}\r\n\t.tvr-home-embed .tvr-card-route-row{display:block}\r\n\t.tvr-home-embed .tvr-card-timeline{display:grid;gap:0;height:auto;min-height:78px;padding:0}\r\n\t.tvr-home-embed .tvr-card-timeline:before{top:6px;right:auto;bottom:6px;left:5px;width:2px;height:auto}\r\n\t.tvr-home-embed .tvr-card-timeline li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:26px;padding:0 0 0 18px;font-size:11px;text-align:left}\r\n\t.tvr-home-embed .tvr-card-timeline li span{grid-column:1;grid-row:1;text-align:left}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{top:50%;left:0;width:10px;height:10px;transform:translateY(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline time,.tvr-home-embed .tvr-card-timeline li.is-last time{position:static;grid-column:2;grid-row:1;max-width:none;font-size:12px;text-align:right;transform:none}\r\n\t.tvr-home-embed .tvr-card-return{margin-top:5px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:120px;padding:0 13px;font-size:13px}\r\n}\r\n\r\n\/* Keep the schedule readable without competing with the title, price and CTA. *\/\r\n.tvr-list .tvr-date,.tvr-list .tvr-card-border-result{font-weight:600}\r\n.tvr-list .tvr-card-timeline li,.tvr-list .tvr-card-timeline time{font-weight:500}\r\n.tvr-list .tvr-card-return-toggle{font-weight:600}\r\n\r\n\/* Amenities belong to the image area without an extra divider. *\/\r\n.tvr-home-embed .tvr-list .tvr-card-media-features,.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{border-top:0}\r\n\/* Keep every CRM Visa Run tab reachable and align each tab's content below one shared header. *\/\r\n.tvr-visabus-cabinet.tvr-bookings-list{max-width:1180px}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-list-header{display:flex;align-items:center;gap:14px;min-width:0;margin:0 0 18px;flex-wrap:nowrap}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-list-header h2{margin:0;color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet .tvr-bookings-empty{margin:0}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-add{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--blue,#236bff);border-radius:999px;background:var(--blue,#236bff);color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-add-icon{display:none}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-heading-main{display:flex;flex:1 1 auto;align-items:center;gap:0;min-width:0;max-width:100%;flex-wrap:nowrap}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-views{display:flex;flex:0 1 auto;flex-wrap:nowrap;gap:2px;max-width:100%;width:fit-content;padding:3px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa)}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-views::-webkit-scrollbar{display:none}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-view{flex:0 0 auto;padding:7px 13px;border-radius:999px;color:var(--muted,#526078);font-weight:700;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;scroll-snap-align:start}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-view:hover,:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-view:focus-visible{color:var(--blue,#236bff);background:var(--surface,#fff);outline:none}\r\n:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-view.is-active{background:var(--blue,#236bff);color:#fff}\r\n.tvr-bookings-navigation{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;max-width:100%}.tvr-bookings-navigation .tvr-bookings-views{flex:1 1 auto;min-width:0;width:auto}.tvr-bookings-navigation-extra{display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-date-toolbar{position:relative;z-index:40;display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-date-filter{position:relative;min-width:0}.tvr-manifest-date-filter>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 12px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:13px;font-weight:700;line-height:1.25;list-style:none;white-space:nowrap;cursor:pointer;touch-action:manipulation}.tvr-manifest-date-filter>summary::-webkit-details-marker{display:none}.tvr-manifest-date-filter>summary:after{content:'\\203A';margin-left:2px;color:var(--blue,#236bff);font-size:17px;line-height:1;transform:rotate(90deg)}.tvr-manifest-date-filter[open]>summary,.tvr-manifest-date-filter>summary:hover,.tvr-manifest-date-filter>summary:focus-visible{background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-date-icon{display:block;flex:0 0 auto;width:20px;height:20px}.tvr-manifest-date-copy{display:flex;align-items:center;gap:5px;min-width:0}.tvr-manifest-date-copy>span{overflow:hidden;max-width:90px;text-overflow:ellipsis}.tvr-manifest-date-copy>strong{color:inherit;font-size:inherit}.tvr-manifest-date-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:230px;gap:5px;padding:7px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);box-shadow:0 14px 32px rgba(23,35,60,.18)}.tvr-manifest-date-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 10px;border-radius:8px;color:var(--text,#17233c);text-decoration:none}.tvr-manifest-date-option span{overflow:hidden;color:var(--muted,#526078);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-date-option strong{font-size:13px;white-space:nowrap}.tvr-manifest-date-option:hover,.tvr-manifest-date-option:focus-visible{background:var(--surface-2,#f2f5fa);color:var(--blue,#236bff);outline:0}.tvr-manifest-date-option.is-active{background:var(--blue,#236bff);color:#fff}.tvr-manifest-date-option.is-active span{color:rgba(255,255,255,.82)}\r\n.tvr-bookings-navigation-extra{gap:8px}.tvr-manifest-trip-toolbar{position:relative;z-index:40;display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-trip-filter{position:relative;min-width:0}.tvr-manifest-trip-filter>summary{display:flex;align-items:center;gap:7px;max-width:250px;min-height:40px;padding:7px 12px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:13px;font-weight:700;line-height:1.25;list-style:none;cursor:pointer;touch-action:manipulation}.tvr-manifest-trip-filter>summary::-webkit-details-marker{display:none}.tvr-manifest-trip-filter>summary:after{content:'\\203A';margin-left:auto;color:var(--blue,#236bff);font-size:17px;line-height:1;transform:rotate(90deg)}.tvr-manifest-trip-filter>summary svg{flex:0 0 auto;width:20px;height:20px}.tvr-manifest-trip-filter>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-trip-filter[open]>summary,.tvr-manifest-trip-filter>summary:hover,.tvr-manifest-trip-filter>summary:focus-visible{background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-trip-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:min(320px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;gap:5px;padding:7px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);box-shadow:0 14px 32px rgba(23,35,60,.18)}.tvr-manifest-trip-option{display:block;overflow:hidden;min-height:42px;padding:11px 12px;border-radius:8px;color:var(--text,#17233c);font-size:13px;font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-trip-option:hover,.tvr-manifest-trip-option:focus-visible{background:var(--surface-2,#f2f5fa);color:var(--blue,#236bff);outline:0}.tvr-manifest-trip-option.is-active{background:var(--blue,#236bff);color:#fff}\r\n.tvr-manifest-scanner-toolbar{display:flex;flex:0 0 48px;align-items:center}.tvr-manifest-scanner-button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);text-decoration:none}.tvr-manifest-scanner-button svg{display:block;width:23px;height:23px}.tvr-manifest-scanner-button:hover,.tvr-manifest-scanner-button:focus-visible{border-color:var(--blue,#236bff);background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-manifest-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:0 0 8px}\r\n.tvr-manifest-summary>button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:14px 16px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);color:var(--muted,#526078);font:inherit;font-weight:700;text-align:left;cursor:pointer}.tvr-manifest-summary>button:hover,.tvr-manifest-summary>button:focus-visible{border-color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-summary>button[aria-pressed=true]{border-color:var(--blue,#236bff);background:color-mix(in srgb,var(--blue,#236bff) 10%,var(--surface,#fff));color:var(--text,#17233c)}\r\n.tvr-manifest-summary strong{color:var(--text,#17233c);font-size:24px;line-height:1}.tvr-manifest-summary [data-summary-kind=departed] strong{color:#1f7a42}.tvr-manifest-summary [data-summary-kind=no-show] strong{color:#c33232}\r\n.tvr-manifest-finance{margin:0 0 18px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff);color:var(--text,#17233c);overflow:hidden}\r\n.tvr-manifest-finance-details>summary{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 14px;cursor:pointer;list-style:none;font-size:15px;color:var(--muted,#67748a)}\r\n.tvr-manifest-finance-details>summary::-webkit-details-marker{display:none}\r\n.tvr-manifest-finance-details>summary strong{font-size:24px;line-height:1.2;color:var(--text,#17233c);white-space:nowrap;font-variant-numeric:tabular-nums}\r\n.tvr-manifest-finance-chevron{margin-left:auto;font-size:22px;line-height:1}.tvr-manifest-finance-details[open] .tvr-manifest-finance-chevron{transform:rotate(180deg)}\r\n.tvr-manifest-finance-count{margin:0;padding:0 14px 10px;font-size:13px;color:var(--muted,#67748a)}\r\n.tvr-manifest-finance-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:2px 14px 14px}\r\n.tvr-manifest-finance-methods>div{min-width:0}.tvr-manifest-finance-methods dt{font-size:12px;color:var(--muted,#67748a)}.tvr-manifest-finance-methods dd{margin:3px 0 0;font-size:15px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}\r\n.tvr-manifest-finance-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}\r\n.tvr-manifest-finance-filter{display:grid;gap:3px;min-width:0;min-height:54px;padding:8px 10px;text-align:left;border:1px solid currentColor;border-radius:10px;background:color-mix(in srgb,currentColor 7%,var(--surface,#fff));font:inherit;cursor:pointer}\r\n.tvr-manifest-finance-filter span{font-size:12px;line-height:1.25}.tvr-manifest-finance-filter strong{font-size:17px;line-height:1.25;white-space:nowrap;font-variant-numeric:tabular-nums}\r\n.tvr-manifest-finance-filter.is-debt,.tvr-manifest-balance.is-due{color:#c3303c}.tvr-manifest-finance-filter.is-overpayment,.tvr-manifest-balance.is-overpaid{color:#a65c00}\r\n.tvr-manifest-finance-filter.is-clear,.tvr-manifest-balance.is-paid{color:#168447}.tvr-manifest-finance-filter.is-empty{color:var(--muted,#67748a)}\r\n.tvr-manifest-finance-filter[aria-pressed=\"true\"]{outline:2px solid currentColor;outline-offset:-3px;background:color-mix(in srgb,currentColor 15%,var(--surface,#fff))}\r\n.tvr-manifest-finance-filter:focus-visible,.tvr-manifest-finance-details>summary:focus-visible{outline:3px solid var(--blue,#236bff);outline-offset:-3px}\r\nhtml[data-theme=\"dark\"] .tvr-manifest-finance-filter.is-overpayment:not(.is-clear):not(.is-empty),html[data-theme=\"dark\"] .tvr-manifest-balance.is-overpaid{color:#ffb347}\r\nhtml[data-theme=\"dark\"] .tvr-manifest-finance-filter.is-debt:not(.is-clear):not(.is-empty),html[data-theme=\"dark\"] .tvr-manifest-balance.is-due{color:#ff6372}\r\n.tvr-manifest-trip{margin:0 0 24px}.tvr-manifest-trip>h3{margin:0 0 10px;color:var(--text,#17233c)}\r\n.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading{min-width:0;margin:0}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading h3{overflow-wrap:anywhere}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-status-group:not([hidden]){display:contents}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-status-group>.crm-table-mode-expand{grid-column:2;margin:0;white-space:nowrap}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-status-group>.tvr-manifest-table-wrap{grid-column:1\/-1}\r\n.tvr-manifest-trip-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 10px}.tvr-manifest-trip-heading h3{margin:0;color:var(--text,#17233c)}.tvr-manifest-approval{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;color:var(--muted,#67748a);font-size:13px;font-weight:800;text-align:right}.tvr-manifest-approval.is-approved{color:#168447}.tvr-manifest-approval.is-stale,.tvr-manifest-approval.is-error{color:#c33232}.tvr-manifest-approval button{min-height:38px;padding:8px 13px;border:1px solid var(--blue,#236bff);border-radius:9px;background:var(--blue,#236bff);color:#fff;font:inherit;cursor:pointer}.tvr-manifest-approval button:disabled{border-color:var(--line,#d8e0ee);background:var(--surface-2,#f2f5fa);color:var(--muted,#67748a);cursor:default}.tvr-manifest-editor[data-read-only=\"1\"] input:disabled,.tvr-manifest-editor[data-read-only=\"1\"] textarea:disabled,.tvr-manifest-editor[data-read-only=\"1\"] select:disabled{opacity:1;cursor:default}.tvr-manifest-editor[data-read-only=\"1\"] .tvr-manifest-attendance-reset,.tvr-manifest-editor[data-read-only=\"1\"] [data-tvr-manifest-save]{display:none}\r\n@media(max-width:700px){.tvr-manifest-trip-heading{display:grid}.tvr-manifest-approval{display:grid;justify-items:start;text-align:left}.tvr-manifest-approval button{width:100%}}\r\n.tvr-manifest-table-wrap{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-manifest-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse}\r\n.tvr-manifest-table>thead th{padding:9px 12px;color:var(--muted,#67748a);font-size:11px;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--line,#d8e0ee)}\r\n.tvr-manifest-table>thead th:last-child{width:76px;text-align:center}.tvr-manifest-table>thead th:first-child{text-align:left!important}\r\n.tvr-manifest-booking-row{color:var(--text,#17233c);background:var(--surface,#fff)}.tvr-manifest-booking-row>td{padding:10px 12px;vertical-align:middle;border-bottom:1px solid var(--line,#d8e0ee)}\r\n.tvr-manifest-booking-row>td:first-child{text-align:left!important}.tvr-manifest-booking-row>td:last-child{text-align:center}.tvr-manifest-booking-row.is-editable>td{padding:0}\r\n.tvr-manifest-booking-row.is-editable:hover{background:var(--surface-2,#f2f5fa)}\r\n.tvr-manifest .tvr-manifest-booking-link{display:flex;min-height:64px;min-width:0;width:100%;padding:10px 12px;color:inherit;text-decoration:none}\r\n.tvr-manifest .tvr-manifest-booking-link-primary{flex-direction:column;align-items:flex-start!important;justify-content:center;text-align:left!important;gap:4px}\r\n.tvr-manifest-booking-customer{display:block;max-width:100%;font-size:16px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}\r\n.tvr-manifest-booking-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;max-width:100%;min-width:0}\r\n.tvr-manifest-balance{display:flex;flex-wrap:wrap;align-items:baseline;max-width:100%;font-size:14px;line-height:1.3}\r\n.tvr-manifest-balance strong{white-space:nowrap;font-size:inherit;font-weight:700;font-variant-numeric:tabular-nums}.tvr-manifest-balance-caption{font-weight:500}\r\n.tvr-manifest-comment-badge{display:inline-block;padding:2px 7px;border:1px solid #b86a00;border-radius:6px;background:#fff4d6;color:#754200;font-size:11px;font-weight:750;line-height:1.4}\r\nhtml[data-theme=\"dark\"] .tvr-manifest-comment-badge{background:#3b2b12;color:#ffd080;border-color:#b86a00}\r\n.tvr-manifest-booking-row.has-boarding-comment>td:first-child{box-shadow:inset 3px 0 #e6a23c}\r\n.tvr-manifest-leader-badge{display:inline-block;padding:1px 6px;border:1px solid #b86a00;border-radius:6px;color:#a65c00;font-size:11px;font-weight:750;line-height:1.4}\r\nhtml[data-theme=\"dark\"] .tvr-manifest-leader-badge{color:#ffb347;border-color:#b86a00}\r\n.tvr-manifest-bus-seat .tvr-manifest-leader-badge{display:inline-flex;align-self:center;max-width:100%;width:fit-content;margin:3px 0;padding:2px 7px;border-radius:999px;background:#fff3d6;color:#825000;font-size:11px;line-height:1.35;overflow-wrap:anywhere}\r\nhtml[data-theme=\"dark\"] .tvr-manifest-bus-seat .tvr-manifest-leader-badge{background:#3b2b12;color:#ffd080}\r\n.tvr-manifest .tvr-manifest-booking-link-count{justify-content:center;align-items:center;gap:8px;padding-left:4px;padding-right:8px}\r\n.tvr-manifest-booking-count{display:inline-flex;align-items:baseline;gap:2px;font-size:17px;color:var(--text,#17233c);white-space:nowrap}\r\n.tvr-manifest-row-chevron{font-size:22px;color:var(--muted,#67748a);line-height:1}\r\n.tvr-manifest-booking-link-primary:focus-visible{outline:3px solid var(--blue,#236bff);outline-offset:-3px}\r\n.crm-content .tvr-manifest-table>tbody>.tvr-manifest-booking-row>td{padding:10px 12px!important}\r\n.crm-content .tvr-manifest-table>tbody>.tvr-manifest-booking-row.is-editable>td{padding:0!important}\r\n.crm-content .tvr-manifest-table>thead>tr>th:last-child{padding:9px 4px!important}\r\n@media(max-width:400px){.tvr-manifest-table>thead th:last-child{width:62px}.tvr-manifest .tvr-manifest-booking-link{padding-left:10px;padding-right:8px}.tvr-manifest .tvr-manifest-booking-link-count{gap:4px;padding-left:2px;padding-right:4px}.tvr-manifest-balance-caption{display:none}.tvr-manifest-finance-details>summary{gap:8px;padding:10px 12px;font-size:13px}.tvr-manifest-finance-details>summary strong{font-size:20px}.tvr-manifest-finance-filter strong{font-size:15px}.tvr-manifest-finance-methods dd{font-size:13px}}\r\n.tvr-manifest-passengers-heading svg{display:block;width:22px;height:22px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-manifest-save-state{display:block;min-height:20px;color:var(--muted,#67748a);font-weight:700}\r\n.tvr-manifest,.tvr-manifest-editor{width:100%;max-width:none}.tvr-manifest-editor-card{width:100%;margin-top:0;padding:22px;border:1px solid var(--line,#d8e0ee);border-radius:16px;background:var(--surface,#fff);color:var(--text,#17233c)}.tvr-manifest-editor-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.tvr-manifest-editor-card h1,.tvr-manifest-editor-card h2,.tvr-manifest-editor-card p{margin:0}.tvr-manifest-editor-card h1{font-size:25px}.tvr-manifest-editor-card header p{margin-top:5px;color:var(--muted,#67748a);font-weight:700}.tvr-manifest-editor-due{display:grid;flex:0 0 auto;gap:3px;min-width:190px;padding:14px 16px;border-radius:12px;background:var(--surface-2,#f2f5fa);text-align:right}.tvr-manifest-editor-due span,.tvr-manifest-editor-due small{color:var(--muted,#67748a);font-size:12px;font-weight:700}.tvr-manifest-editor-due strong{font-size:20px}.tvr-manifest-editor-due [data-balance=due]{color:#c33232}.tvr-manifest-editor-due [data-balance=over]{color:#946200}.tvr-manifest-editor-due [data-balance=exact]{color:#1f7a42}\r\n.tvr-visabus-cabinet>.tvr-boarding{margin-top:0}\r\n.tvr-manifest-editor-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tvr-manifest-editor-fields label{display:grid;gap:6px;min-width:0;color:var(--text,#17233c);font-weight:700}.tvr-manifest-editor-fields input,.tvr-manifest-editor-fields select,.tvr-manifest-editor-fields textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit}.tvr-manifest-editor-comment{grid-column:1\/-1}.tvr-manifest-editor-fields textarea{resize:vertical}.tvr-manifest-editor-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.tvr-manifest-editor-contacts>div{display:grid;gap:5px;padding:14px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tvr-manifest-editor-contacts span{color:var(--muted,#67748a);font-size:12px;font-weight:700}.tvr-manifest-editor-contacts a{color:var(--blue,#236bff);font-weight:800}.tvr-manifest-editor-passengers{margin-top:24px}.tvr-manifest-editor-passengers h2{margin-bottom:10px;font-size:20px}.tvr-manifest-editor-passengers table{width:100%;table-layout:fixed;border-collapse:collapse}.tvr-manifest-editor-passengers th,.tvr-manifest-editor-passengers td{padding:10px;text-align:left;overflow-wrap:anywhere;border-bottom:1px solid var(--line,#d8e0ee)}.tvr-manifest-editor-passengers th{color:var(--muted,#67748a);font-size:11px;text-transform:uppercase}.tvr-manifest-editor-passengers th:first-child,.tvr-manifest-editor-passengers td:first-child{width:86px;text-align:center}.tvr-manifest-passenger-checkin input{width:24px;height:24px;margin:0;accent-color:#168447;cursor:pointer}.tvr-manifest-passenger-checkin[aria-busy=true]{opacity:.55}.tvr-manifest-passenger-checkin input:disabled{cursor:wait}.tvr-manifest-editor-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.tvr-manifest-editor-actions .tvr-button{min-width:140px;text-align:center}.tvr-manifest-editor-actions .tvr-back{border:1px solid var(--line,#d8e0ee)!important;background:var(--surface,#fff)!important;color:var(--text,#17233c)!important}.tvr-manifest-editor-actions [disabled]{opacity:.65;cursor:wait}\r\n.tvr-manifest-save-state[data-state=saving]{color:#946200}.tvr-manifest-save-state[data-state=saved]{color:#1f7a42}.tvr-manifest-save-state[data-state=error]{color:#c33232}\r\n.tvr-manifest-editor-passengers th:first-child,.tvr-manifest-editor-passengers td:first-child{width:250px;text-align:left}.tvr-manifest-attendance{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.tvr-manifest-attendance-option{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface-2,#f2f5fa);font-size:13px;font-weight:800;cursor:pointer}.tvr-manifest-attendance-option input{width:18px;height:18px;margin:0;cursor:pointer}.tvr-manifest-attendance-option.is-departed{color:#168447}.tvr-manifest-attendance-option.is-departed input{accent-color:#168447}.tvr-manifest-attendance-option.is-no-show{color:#c33232}.tvr-manifest-attendance-option.is-no-show input{accent-color:#c33232}.tvr-manifest-attendance-option:has(input:checked){border-color:currentColor;background:color-mix(in srgb,currentColor 10%,var(--surface,#fff))}.tvr-manifest-attendance-option:has(input:focus-visible){outline:2px solid currentColor;outline-offset:2px}.tvr-manifest-passenger-checkin[aria-busy=true] .tvr-manifest-attendance{opacity:.55}\r\n.tvr-manifest-editor-passengers-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tvr-manifest-editor-passengers-heading h2{margin:0}.tvr-manifest-attendance-reset{flex:0 0 auto;padding:2px;border:0;background:transparent;color:var(--blue,#236bff);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.tvr-manifest-attendance-reset:hover,.tvr-manifest-attendance-reset:focus-visible{color:var(--text,#17233c);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-attendance-reset:disabled{opacity:.55;cursor:wait}\r\n.tvr-manifest-editor-overlay[hidden]{display:none!important}.tvr-manifest-editor-overlay{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:rgba(4,9,20,.56);backdrop-filter:blur(2px)}body.is-tvr-manifest-editor-open{overflow:hidden}.tvr-manifest-editor-sheet{position:relative;width:min(900px,calc(100vw - 80px));height:100dvh;overflow:auto;overscroll-behavior:contain;background:var(--bg,#0b0f18);box-shadow:-18px 0 45px rgba(4,9,20,.32)}.tvr-manifest-editor-sheet>[data-tvr-manifest-editor-content]{min-height:100%;padding:22px}.tvr-manifest-editor-skeleton{display:grid;gap:18px;min-height:460px;padding:22px;color:var(--muted,#67748a);font-weight:800}.tvr-manifest-editor-skeleton i{display:block;height:72px;border-radius:14px;background:linear-gradient(100deg,var(--surface-2,#f2f5fa) 20%,var(--surface,#fff) 40%,var(--surface-2,#f2f5fa) 60%);background-size:220% 100%;animation:tvr-manifest-skeleton 1.2s ease-in-out infinite}.tvr-manifest-editor-skeleton i:nth-of-type(2){height:180px}.tvr-manifest-editor-skeleton i:nth-of-type(3){height:260px}@keyframes tvr-manifest-skeleton{to{background-position-x:-220%}}\r\n.tvr-manifest-editor-fields{grid-template-columns:repeat(3,minmax(0,1fr))}\r\n.tvr-manifest-status-group[hidden]{display:none!important}\r\n.tvr-manifest-date-toolbar{flex:0 0 48px}.tvr-manifest-date-filter{width:48px}.tvr-manifest-date-filter>summary{width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-date-filter>summary:after,.tvr-manifest-date-copy{display:none}.tvr-manifest-date-icon{width:22px;height:22px}\r\n@media(max-width:900px){.tvr-manifest-table-wrap{border-radius:10px}.tvr-manifest-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n@media(max-width:800px){.tvr-bookings-navigation{width:100%;gap:8px}.tvr-bookings-navigation .tvr-bookings-views{flex:1 1 auto;width:auto;border-radius:12px}.tvr-bookings-navigation .tvr-bookings-view{border-radius:9px;padding:9px 10px}.tvr-manifest-date-toolbar{flex:0 0 48px}.tvr-manifest-date-filter{width:48px}.tvr-manifest-date-filter>summary{width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-date-filter>summary:after,.tvr-manifest-date-copy{display:none}.tvr-manifest-date-icon{width:22px;height:22px}.tvr-manifest-date-menu{right:0;left:auto;width:min(300px,calc(100vw - 32px));max-height:60vh;overflow-y:auto}.tvr-manifest-date-option{min-height:48px;padding:10px 12px}}\r\n@media(max-width:800px){.tvr-manifest-trip-filter>summary{justify-content:center;width:48px;max-width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-trip-filter>summary span,.tvr-manifest-trip-filter>summary:after{display:none}.tvr-manifest-trip-option{min-height:48px;padding:14px 12px}}\r\n@media(max-width:700px){body.is-crm-table-mode .tvr-manifest-date-toolbar{display:none}:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-list-header,:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-heading-main{gap:10px}:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-views{border-radius:12px}:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-view{border-radius:9px;padding:9px 10px}.tvr-manifest-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tvr-manifest-summary>button{align-items:flex-start;flex-direction:column;gap:6px;min-height:64px;padding:10px}.tvr-manifest-summary>button span{font-size:12px;line-height:1.25}.tvr-manifest-summary strong{align-self:flex-end;font-size:21px}.tvr-manifest-editor-sheet{width:100vw;height:100dvh;box-shadow:none}.tvr-manifest-editor-sheet>[data-tvr-manifest-editor-content]{padding:0}.tvr-manifest-editor-sheet .tvr-manifest-editor{min-height:100dvh;padding:0}.tvr-manifest-editor-skeleton{min-height:100dvh;padding:18px}.tvr-manifest-editor-card{padding:15px;border-radius:0;min-height:100dvh}.tvr-manifest-editor-card>header{display:grid;gap:14px}.tvr-manifest-editor-card h1{font-size:21px}.tvr-manifest-editor-due{width:100%;min-width:0;text-align:left}.tvr-manifest-editor-fields,.tvr-manifest-editor-contacts{grid-template-columns:1fr}.tvr-manifest-editor-passengers table,.tvr-manifest-editor-passengers tbody,.tvr-manifest-editor-passengers tr,.tvr-manifest-editor-passengers td{display:block}.tvr-manifest-editor-passengers thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.tvr-manifest-editor-passengers tr{margin-bottom:10px;padding:8px 10px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa)}.tvr-manifest-editor-passengers td,.tvr-manifest-editor-passengers td:first-child{display:grid;width:auto;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px;padding:6px 0;border:0;text-align:left}.tvr-manifest-editor-passengers td:before{content:attr(data-label);color:var(--muted,#67748a);font-size:11px;font-weight:800;text-transform:uppercase}.tvr-manifest-editor-actions{position:sticky;bottom:0;z-index:5;margin:12px -15px -15px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line,#d8e0ee);background:var(--surface,#fff);box-shadow:0 -8px 20px rgba(4,9,20,.12)}.tvr-manifest-editor-actions .tvr-button{flex:1 1 0;min-width:0}}\r\n@media(max-width:700px){:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-add{display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:14px;font-size:27px;line-height:1}:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-add-icon{display:block}:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-add-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}\r\n@media(max-width:700px){body.is-crm-table-mode .tvr-manifest-trip-toolbar{display:none}}\r\n@media(max-width:700px){.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip{gap:8px}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading h3{font-size:18px;line-height:1.25}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-status-group>.crm-table-mode-expand{min-height:38px;padding:8px 10px}}\r\n\r\n\/* Unified visa operations table. *\/\r\n.tripand-visas-admin .tripand-visa-documents{margin:22px 0;padding:16px;border:1px solid var(--line,#d8e0ee);border-radius:14px}.tripand-visas-admin .tripand-visa-documents h3{margin:0 0 12px;font-size:16px}.tripand-visas-admin .tripand-visa-documents__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.tripand-visas-admin .tripand-visa-documents__item+ .tripand-visa-documents__item{border-top:1px solid var(--line,#d8e0ee)}.tripand-visas-admin .tripand-visa-documents__item>div{min-width:0}.tripand-visas-admin .tripand-visa-documents__item strong,.tripand-visas-admin .tripand-visa-documents__item small{display:block;overflow-wrap:anywhere}.tripand-visas-admin .tripand-visa-documents__item small{margin-top:4px;color:var(--muted,#67748a);font-size:12px}.tripand-visas-admin .tripand-visa-documents__download{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:0 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;color:var(--text,#17233b);font-size:13px;font-weight:700;text-decoration:none}.tripand-visas-admin .tripand-visa-documents__download:hover{background:var(--surface-2,#f5f7fb)}.tripand-visas-admin .tripand-visa-documents__download:focus-visible{outline:2px solid #266cff;outline-offset:2px}\r\n.tripand-visas-admin .tripand-visa-status-tabs{flex-wrap:wrap;overflow:visible}.tripand-visas-admin .tripand-visa-list-filters button{align-items:center}\r\n.tripand-visas-admin .tripand-visa-list-filters>*{min-width:0}.tripand-visas-admin .tripand-visa-list-filters button{width:100%;justify-content:center;border-radius:10px}.tripand-visas-admin .tripand-visa-status-tabs a.is-active{color:#fff}.tripand-visas-admin .tripand-visa-table{border-collapse:separate;table-layout:fixed}.tripand-visas-admin .tripand-visa-table th:first-child{width:56px;font-size:0}.tripand-visas-admin .tripand-visa-table th:nth-child(2){width:180px}.tripand-visas-admin .tripand-visa-table th:nth-child(3){width:190px}.tripand-visas-admin .tripand-visa-table th:nth-child(4){width:190px}.tripand-visas-admin .tripand-visa-table th:nth-child(5){width:180px}.tripand-visas-admin .tripand-visa-table th:nth-child(6){width:145px}.tripand-visas-admin .tripand-visa-table th:nth-child(7){width:200px}.tripand-visas-admin .tripand-visa-table th:nth-child(8){width:100px}.tripand-visas-admin .tripand-visa-table th:nth-child(9){width:115px}.tripand-visas-admin .tripand-visa-table th:nth-child(10){width:160px}.tripand-visas-admin .tripand-visa-table th:last-child{width:200px}.tripand-visas-admin .tripand-visa-table td{overflow-wrap:anywhere;vertical-align:middle}.tripand-visas-admin .tripand-visa-table td:nth-child(6)>strong{white-space:nowrap}.tripand-visas-admin .tripand-visa-table__edit a{background:var(--surface-2,#edf2f8)}\r\n.tripand-visas-admin{position:relative;min-width:0}.tripand-visas-admin__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px}.tripand-visas-admin__header h1{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.1}.tripand-visa-status-tabs{display:flex;flex-wrap:wrap;gap:8px}.tripand-visa-status-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface,#fff);color:var(--text,#17233b);font-size:13px;font-weight:800;text-decoration:none}.tripand-visa-status-tabs a:hover,.tripand-visa-status-tabs a:focus-visible{border-color:#266cff}.tripand-visa-status-tabs a.is-active{border-color:#266cff;background:#266cff;color:#fff}.tripand-visa-status-tabs strong{display:grid;min-width:22px;height:22px;place-items:center;padding:0 5px;border-radius:999px;background:rgba(102,119,150,.13);font-size:11px}.tripand-visa-status-tabs .is-active strong{background:rgba(255,255,255,.2)}\r\n.tripand-visa-list-filters{display:grid;grid-template-columns:minmax(340px,1fr) minmax(170px,210px) minmax(190px,230px) auto;gap:10px;margin-bottom:16px}.tripand-visa-list-filters__search,.tripand-visa-list-filters__search input{width:100%;min-width:0}.tripand-visa-list-filters input,.tripand-visa-list-filters select,.tripand-visa-list-filters button{min-height:44px;margin:0;border-radius:10px}.tripand-visa-list-filters input,.tripand-visa-list-filters select{border:1px solid var(--line,#d8e0ee);background:var(--surface,#fff);color:var(--text,#17233b)}.tripand-visa-list-filters button{padding:0 18px;border:0;background:#266cff;color:#fff;font-weight:800}\r\n.tripand-visa-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff);box-shadow:0 8px 28px rgba(25,43,77,.06)}.tripand-visa-table{width:100%;min-width:1160px;border:0;border-collapse:separate;border-spacing:0;color:var(--text,#17233b);font-size:13px}.tripand-visa-table th,.tripand-visa-table td{padding:13px 12px;border:0;border-bottom:1px solid var(--line,#e2e7f0);vertical-align:middle;text-align:left}.tripand-visa-table th{position:sticky;top:0;z-index:2;background:var(--surface-2,#f5f7fb);color:var(--muted,#67748a);font-size:11px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.tripand-visa-table tbody tr:last-child td{border-bottom:0}.tripand-visa-table tbody tr:hover td{background:rgba(38,108,255,.035)}.tripand-visa-table td strong{display:block;font-size:13px;line-height:1.35}.tripand-visa-table td small{display:block;margin-top:4px;color:var(--muted,#67748a);font-size:11px;line-height:1.35}.tripand-visa-table__edit{position:sticky;left:0;z-index:1;width:52px;min-width:52px;background:var(--surface,#fff)!important;text-align:center!important}.tripand-visa-table th:first-child{left:0;z-index:3;width:52px;text-align:center}.tripand-visa-table__edit a{display:grid;width:34px;height:34px;margin:auto;place-items:center;border:1px solid #cdd8ec;border-radius:9px;background:#fff;color:#266cff;font-size:19px;text-decoration:none}.tripand-visa-table__edit a:hover,.tripand-visa-table__edit a:focus-visible{border-color:#266cff;box-shadow:0 0 0 3px rgba(38,108,255,.12)}.tripand-visa-table__oko strong,.tripand-visa-table__booking a{color:#266cff;font-variant-numeric:tabular-nums}.tripand-visa-table__booking a{font-weight:800;text-decoration:none;white-space:normal;overflow-wrap:anywhere}.tripand-visa-table__price{font-variant-numeric:tabular-nums;white-space:nowrap}.tripand-visa-table__price .is-included{max-width:130px;color:#087a49;white-space:normal}.tripand-visa-status,.tripand-visa-payment__state{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef1f6;color:#526078;font-size:11px;font-weight:900;white-space:nowrap}.tripand-visa-status.is-new{background:#eaf1ff;color:#1757ca}.tripand-visa-status.is-in_progress{background:#fff2cc;color:#7c5700}.tripand-visa-status.is-ready,.tripand-visa-payment__state.is-paid{background:#e3f7eb;color:#087a49}.tripand-visa-status.is-cancelled,.tripand-visa-payment__state.is-unpaid{background:#fde8e8;color:#b3261e}.tripand-visa-payment__state.is-partial{background:#fff2cc;color:#7c5700}.tripand-visa-payment details{margin-top:4px;color:var(--muted,#67748a);font-size:11px}.tripand-visa-payment summary{cursor:pointer;white-space:nowrap}.tripand-visa-payment .is-overpaid{color:#087a49}\r\n.tripand-visa-cancelled{margin-top:14px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}.tripand-visa-cancelled>summary{display:flex;align-items:center;gap:9px;padding:13px 16px;color:var(--muted,#67748a);font-size:13px;font-weight:900;cursor:pointer;list-style:none}.tripand-visa-cancelled>summary::-webkit-details-marker{display:none}.tripand-visa-cancelled>summary:before{content:'\u203a';font-size:22px;line-height:1;transition:transform .18s ease}.tripand-visa-cancelled[open]>summary:before{transform:rotate(90deg)}.tripand-visa-cancelled>summary strong{display:grid;min-width:24px;height:24px;place-items:center;padding:0 6px;border-radius:999px;background:#eef1f6;color:#526078;font-size:11px}.tripand-visa-cancelled .tripand-visa-table-wrap{margin:0 12px 12px;border-radius:10px;box-shadow:none}\r\n\r\n@media(max-width:980px){.tripand-visas-admin__header{align-items:flex-start;flex-direction:column}.tripand-visa-list-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.tripand-visa-list-filters__search{grid-column:1\/-1}.tripand-visa-table{min-width:1080px}}\r\n@media(max-width:700px){.tripand-visas-admin__header{gap:14px}.tripand-visa-status-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.tripand-visa-status-tabs a{flex:0 0 auto}.tripand-visa-list-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tripand-visa-list-filters button{grid-column:1\/-1}.tripand-visa-table-wrap{border-radius:12px}.tripand-visa-table{min-width:1020px}.tripand-visa-table th,.tripand-visa-table td{padding:11px 10px}.tripand-visa-cancelled .tripand-visa-table-wrap{margin:0 8px 8px}}\r\n@media(max-width:700px){.tvr-manifest-booking-row.is-editable>td{padding:0}}\r\n@media(max-width:800px){:is(.tvr-visabus-cabinet,.tripand-visas-admin) .tvr-bookings-list-header{min-height:48px}}\r\n.tvr-pickup-map-canvas{border:1px solid #dbe4f3;border-radius:12px;background:#edf3f7;cursor:default;touch-action:auto}.tvr-pickup-map-surface{position:absolute;inset:0}.tvr-pickup-map-surface .maplibregl-canvas{cursor:crosshair}.tvr-pickup-map-marker{width:22px;height:22px;margin:0;border:3px solid #fff;background:#286bff;box-shadow:0 3px 8px rgba(22,46,94,.38)}.tvr-pickup-map-status{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:24px;background:rgba(247,249,252,.88);color:#344054;text-align:center;font-weight:700}.tvr-pickup-map-status[hidden]{display:none}.tvr-pickup-map-status[data-state=\"loading\"]:before{width:28px;height:28px;margin-right:10px;border:3px solid #bfd0ee;border-top-color:#286bff;border-radius:50%;content:\"\";animation:tvr-map-spin .8s linear infinite}.tvr-pickup-map-status[data-state=\"outside\"]{align-content:end;padding-bottom:42px;background:linear-gradient(transparent 50%,rgba(247,249,252,.94))}.tvr-pickup-map-retry{position:absolute;z-index:5;left:50%;top:58%;min-height:40px;padding:8px 18px;border:0;border-radius:9px;background:#286bff;color:#fff;font-weight:800;transform:translate(-50%,-50%);cursor:pointer}.tvr-pickup-map-retry[hidden]{display:none}.tvr-pickup-map-zoom{z-index:6;overflow:hidden;border:1px solid #b9c5d6;border-radius:9px;box-shadow:0 3px 10px rgba(22,46,94,.16)}.tvr-pickup-map-zoom button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-bottom:1px solid #d6deea;background:#fff!important;color:#172033!important;font-size:22px;line-height:1}.tvr-pickup-map-zoom button:last-child{border-bottom:0}.tvr-pickup-map-zoom button:focus-visible{outline:3px solid rgba(40,107,255,.35);outline-offset:-3px}.tvr-pickup-map-canvas .maplibregl-ctrl-attrib{font-size:10px}.tvr-pickup-map-canvas .maplibregl-ctrl-attrib a{color:#1457d9}@keyframes tvr-map-spin{to{transform:rotate(360deg)}}\r\n.tvr-pickup-map-marker{width:28px;height:37px;border:0;border-radius:0;background:transparent center\/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 3px rgba(22,46,94,.25))}\r\n.tvr-pickup-map-help{margin:0;color:#475467;font-size:14px;line-height:1.5}\r\n.tvr-route-saved-map-loading{position:absolute;z-index:3;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:4px solid rgba(38,107,255,.2);border-top-color:var(--blue);border-radius:50%;animation:tvr-map-spin .75s linear infinite;pointer-events:none}\r\n.tripand-car-visas-detail{display:grid;gap:18px;color:var(--text,#17233c)}.tripand-car-visas-detail>p,.tripand-car-visas-detail h2{margin:0}.tripand-car-visas-detail__readonly{align-self:center;padding:7px 11px;border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#67748a);font-size:13px;font-weight:800}.tripand-car-visas-detail__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:18px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}.tripand-car-visas-detail__summary>div{display:grid;gap:5px;min-width:0;padding:12px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tripand-car-visas-detail__summary strong,.tripand-car-visas-detail__documents strong{color:var(--muted,#67748a);font-size:12px;text-transform:uppercase}.tripand-car-visas-detail__summary span{overflow-wrap:anywhere}.tripand-car-visas-detail__people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tripand-car-visas-detail__person{display:grid;gap:14px;margin:0;padding:18px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}.tripand-car-visas-detail__person h3,.tripand-car-visas-detail__person p{margin:0}.tripand-car-visas-detail__documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tripand-car-visas-detail__documents>div{display:grid;align-content:start;gap:9px;min-width:0;padding:12px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tripand-car-visas-detail__documents .tvr-button{box-sizing:border-box;display:inline-flex;justify-content:center;width:100%;max-width:100%;white-space:normal;text-align:center}\r\n@media(max-width:900px){.tripand-car-visas-detail__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tripand-car-visas-detail__people{grid-template-columns:1fr}}\r\n@media(max-width:600px){.tripand-car-visas-detail{gap:14px}.tripand-car-visas-detail .crm-page-header{align-items:flex-start}.tripand-car-visas-detail__summary,.tripand-car-visas-detail__documents{grid-template-columns:1fr}.tripand-car-visas-detail__summary,.tripand-car-visas-detail__person{padding:14px}.tripand-car-visas-detail__readonly{white-space:nowrap}}\r\n.tvr-ticket-details li.is-cancelled{opacity:.72}.tvr-passenger-status{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-style:normal;font-weight:700}.tvr-cancel-passenger-button{align-self:end;min-height:40px;padding:8px 14px;border:1px solid #c7364f;border-radius:999px;background:#fff;color:#b4233c;font-weight:700;cursor:pointer}.tvr-cancel-passenger-button:hover,.tvr-cancel-passenger-button:focus-visible{background:#fff1f3;outline:2px solid #ffac0a;outline-offset:2px}.tvr-admin-passenger.is-cancelled{opacity:.76}.tvr-admin-passenger-status{display:inline-flex;align-self:start;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:700}\r\n.tvr-review-tabs{display:flex;gap:6px;margin:12px 0}\r\n.tvr-review-tabs button{flex:1;min-width:0;min-height:44px;padding:10px 6px;border:1px solid var(--line,#30394d);border-radius:10px;background:var(--surface,#171c27);color:var(--text,#f5f7fb);font-size:14px;line-height:1.25;font-weight:650;cursor:pointer}\r\n.tvr-review-tabs button[aria-pressed=\"true\"]{background:var(--blue,#2468ff);border-color:var(--blue,#2468ff);color:#fff}\r\n.tvr-review-filter-panel{margin-bottom:12px}.tvr-review-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 12px;background:var(--surface,#171c27);border:1px solid var(--line,#30394d);border-radius:10px;font-size:14px;font-weight:650;cursor:pointer;list-style:none}.tvr-review-filter-panel>summary::-webkit-details-marker{display:none}.tvr-review-filter-panel>summary:after{content:\"\u2304\"}.tvr-review-filter-panel[open]>summary:after{content:\"\u2303\"}\r\n.tvr-review-filters{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}.tvr-review-filters input,.tvr-review-filters select{min-width:0;max-width:100%;min-height:40px;padding:8px;border:1px solid var(--line,#30394d);border-radius:8px;font-size:14px;background:var(--surface-2,#202736);color:var(--text,#f5f7fb)}.tvr-review-filters>input,.tvr-review-filters>select{flex:1 1 140px}.tvr-review-filters label{display:flex;align-items:center;gap:6px;flex:1 1 140px;font-size:13px}.tvr-review-filters label input{width:100%}\r\n.tvr-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;min-height:64px;padding:12px;text-decoration:none;color:var(--text,#f5f7fb);background:var(--surface,#171c27);border-bottom:1px solid var(--line,#30394d)}.tvr-review-row[hidden]{display:none}.tvr-review-row:last-child{border-bottom:0}.tvr-review-row>strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.tvr-review-count{white-space:nowrap;font-weight:700}\r\n.tvr-review-metrics{grid-column:1\/-1;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;line-height:1.4;color:var(--muted,#9da9be)}.tvr-review-metrics b{white-space:nowrap}.tvr-review-metrics .is-due{color:var(--danger,#c7364f)}.tvr-review-rows{border:1px solid var(--line,#30394d);border-radius:12px;overflow:hidden}\r\n.tvr-review-queue button:focus-visible,.tvr-review-row:focus-visible,.tvr-review-filter-panel summary:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-review-row>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tvr-review-metrics{font-size:14px}@media(max-width:360px){.tvr-review-tabs button{font-size:13px;padding:8px 4px}}\r\n.tvr-passport-upload>.tvr-visa-product{grid-column:1\/-1;min-width:0}.tvr-visa-product select{max-width:100%;min-width:0}.tvr-visa-product>[data-tvr-visa-urgency]{margin-top:14px}.tvr-visa-order-details{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:8px 16px}.tvr-visa-order-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.tvr-visa-order-details{grid-template-columns:minmax(0,1fr)}.tvr-visa-order-details dd{margin-bottom:8px}}\r\n.tvr-visa-entry-type{grid-column:1\/-1;min-width:0;margin:14px 0 0;padding:0;border:0}.tvr-visa-entry-type legend{margin:0 0 8px;font-weight:700}.tvr-visa-entry-type__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tvr-visa-entry-type__choices label{display:flex!important;align-items:center;gap:10px;min-width:0;margin:0;padding:14px 16px;border:1px solid var(--line,#d6dfed);border-radius:12px;background:var(--surface,#fff);font-weight:700;cursor:pointer}.tvr-visa-entry-type__choices label:has(input:checked){border-color:var(--blue,#236bff);box-shadow:inset 0 0 0 1px var(--blue,#236bff);background:color-mix(in srgb,var(--blue,#236bff) 6%,var(--surface,#fff))}.tvr-visa-entry-type__choices input{flex:0 0 20px!important;width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;margin:0!important;accent-color:var(--blue,#236bff)}.tvr-visa-entry-type__choices span{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.tvr-visa-entry-type__choices{grid-template-columns:minmax(0,1fr)}}\r\n@media(min-width:1000px){.tvr-services{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.tvr-services>label,.tvr-services>label:not(:has(.tvr-service-image)){grid-template-columns:minmax(0,1fr);grid-template-areas:\"image\" \"copy\" \"price\" \"control\";grid-template-rows:auto 1fr auto auto;gap:12px;padding:12px}.tvr-services>label:not(:has(.tvr-service-image)){grid-template-areas:\"copy\" \"price\" \"control\";grid-template-rows:1fr auto auto}.tvr-services b{justify-self:start;justify-items:start}.tvr-services b small{text-align:left}.tvr-services .tvr-service-quantity-stepper{width:100%;min-width:0}}\r\n\/* Visa start-date month view; same Monday-first layout as Visa Run. *\/\r\n.tvd-panel-calendar{margin:20px 0}.tvd-panel-calendar .tvd-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.tvd-panel-calendar .tvd-toolbar{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.tvd-panel-day{display:flex;flex-direction:column;justify-content:space-between;min-height:104px;padding:10px;border:1px solid var(--line,#d6dfed);border-radius:12px;color:var(--text,#17233c);text-decoration:none;background:var(--surface,#fff)}.tvd-panel-day strong{align-self:flex-end;color:#2467fa}.tvd-panel-day[aria-current=date]{box-shadow:inset 0 0 0 2px #ffaa00}.tvd-weekday{text-align:center}.tvd-panel-calendar a:focus-visible{outline:2px solid #2467fa;outline-offset:2px}@media(max-width:700px){.tvd-panel-day{min-height:70px;padding:6px}.tvd-panel-calendar .tvd-grid{gap:4px}}\r\n\r\n\/* Visa operations use the same top navigation as Visa Run. *\/\r\n.tripand-visas-admin>.tvr-bookings-list-header{margin-bottom:18px}.tripand-visas-admin__header{align-items:center}.tripand-visas-admin .tripand-visa-list-filters{grid-template-columns:minmax(0,1fr) minmax(140px,210px) minmax(150px,230px) auto}@media(max-width:800px){.tripand-visas-admin>.tvr-bookings-list-header{flex-wrap:wrap;gap:10px}.tripand-visas-admin .tripand-visa-list-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tripand-visas-admin .tripand-visa-list-filters__search,.tripand-visas-admin .tripand-visa-list-filters button{grid-column:1\/-1}}\r\n\r\n.tripand-visas-admin .tvd-panel-calendar{color:var(--text,#17233c)}.tripand-visas-admin .tvd-panel-day{color:var(--text,#17233c)}.tripand-visas-admin .tvd-panel-day:hover{background:var(--surface-2,#f2f5fa);border-color:var(--blue,#2467fa)}.tripand-visas-admin .tvd-panel-day strong,.tripand-visas-admin .tvd-toolbar a,.tripand-visas-admin .tvd-panel-calendar>p>a{color:var(--blue,#2467fa)}.tripand-visas-admin .tvd-weekday{color:var(--muted,#526078)}\r\n\r\n\r\n\/* Full-page visa application editor and per-person status controls. *\/\r\n.tripand-visa-application{max-width:1180px}.tripand-visa-application .tvr-admin-card{padding:22px;margin-top:18px;border:1px solid var(--line,#e4e9f2);border-radius:14px;background:var(--surface,#fff)}.tripand-visa-application .tvr-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tripand-visa-application label,.tripand-visa-work label{display:grid;gap:6px;min-width:0;font-weight:600}.tripand-visa-application input,.tripand-visa-application select{box-sizing:border-box;width:100%;min-width:0;padding:9px 12px;border:1px solid var(--line,#e4e9f2);border-radius:8px;font:inherit}.tripand-visa-application button,.tripand-visa-work button{padding:10px 20px;border:1px solid #236bff;border-radius:999px;background:#236bff;color:#fff;font-weight:600;cursor:pointer}.tripand-visa-application .tvr-admin-tabs button{padding:10px 14px}.tripand-visa-application .tvr-admin-visa-person+.tvr-admin-visa-person{margin-top:14px}.tripand-visa-application dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px}.tripand-visa-application dd{margin:0;overflow-wrap:anywhere}.tripand-visa-application fieldset{margin:16px 0;padding:16px;border:1px solid var(--line,#e4e9f2);border-radius:10px}.tripand-visa-application .tvr-admin-card .tvr-admin-card{margin:0;padding:0;border:0;box-shadow:none}.tripand-visa-work,.tripand-visa-editor__status{display:grid;gap:12px;margin:16px 0}.tripand-visa-editor__cancel{display:flex!important;align-items:center;gap:10px}.tripand-visa-editor__cancel input[type=checkbox],.tripand-visa-application input[type=checkbox]{width:18px!important;height:18px;min-height:18px;flex:0 0 18px}.tripand-visa-work button{justify-self:start}.tvr-admin-visa-person:target,.tvr-admin-visa-person.is-selected{outline:2px solid #236bff;outline-offset:2px}\r\n.tripand-visas-admin .tripand-visa-list-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.tripand-visa-list-filters__date{display:grid;gap:5px;font-size:12px;font-weight:700}.tripand-visa-list-filters__date input{width:100%;min-width:0;box-sizing:border-box}.tripand-visa-list-filters__search{grid-column:span 2}\r\n@media(max-width:700px){.tripand-visas-admin .tripand-visa-list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tripand-visa-list-filters__search{grid-column:1\/-1}.tripand-visa-application .tvr-admin-grid{grid-template-columns:1fr}.tripand-visa-application .tvr-admin-card{padding:14px}.tripand-visa-application .tvr-admin-tabs{gap:4px}.tripand-visa-application .tvr-admin-tabs [role=tab]{padding:10px 8px}.tripand-visa-application .tvr-admin-tabs [aria-selected=false] .tvr-admin-tab-label{display:none}.tripand-visa-application .tvr-admin-tabs [aria-selected=false]{flex:0 0 44px}.tripand-visa-application .tvr-admin-tabs [aria-selected=true]{flex:1}.tripand-visa-application dl{grid-template-columns:1fr}.tripand-visa-application dd{margin-bottom:8px}}\r\n\r\n.tvr-admin-tabs{display:flex;width:100%;box-sizing:border-box;gap:8px;margin:22px 0 18px;padding:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#dce4ef);border-radius:14px;background:var(--surface-2,#f5f7fb)}.tvr-admin-tabs::-webkit-scrollbar{display:none}.tvr-admin-tabs [role=\"tab\"]{display:inline-flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;gap:8px;overflow:hidden;border:0;border-radius:10px;background:transparent;color:var(--muted,#52627a);box-shadow:none;white-space:nowrap;scroll-snap-align:start}.tvr-admin-tab-icon{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tvr-admin-tab-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.tvr-admin-tabs [role=\"tab\"][aria-selected=\"true\"]{background:var(--amber,#ffac0a);color:#17233c}.tvr-admin-tabs [role=\"tab\"]:focus-visible{outline:2px solid #ffac0a;outline-offset:2px}.tvr-admin-tabpanel[hidden]{display:none}.tvr-admin-tabpanel>h2:first-child{margin-top:0}.tvr-admin-readonly-grid p{min-width:0;overflow-wrap:anywhere}.tvr-admin-empty{padding:18px;border:1px dashed var(--line,#dce4ef);border-radius:12px;color:var(--muted,#52627a)}.tvr-admin-visa-people{display:grid;gap:14px}.tvr-admin-visa-person{min-width:0;padding:18px;border:1px solid var(--line,#dce4ef);border-radius:12px;background:var(--surface-2,#f7f9fc)}.tvr-admin-visa-person h3{margin:0 0 12px}.tvr-admin-visa-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tvr-admin-visa-documents>div{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid var(--line,#dce4ef);border-radius:10px;background:var(--surface,#fff)}.tvr-admin-visa-documents span{overflow-wrap:anywhere}.tvr-admin-visa-documents .button{justify-self:start}\r\n@media(max-width:700px){.tvr-admin-booking .tvr-admin-tabs [role=\"tab\"]{flex:0 0 48px;min-width:48px;padding-inline:8px}.tvr-admin-booking .tvr-admin-tabs [role=\"tab\"][aria-selected=\"true\"]{flex:0 0 auto;min-width:48px}.tvr-admin-booking .tvr-admin-tabs [role=\"tab\"]:not([aria-selected=\"true\"]) .tvr-admin-tab-label{display:none}}\r\n\r\n@media(hover:hover) and (pointer:fine){[data-tvr-booking-editor] .tvr-admin-tabs{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--muted,#52627a) transparent;cursor:grab}[data-tvr-booking-editor] .tvr-admin-tabs::-webkit-scrollbar{display:block;height:7px}[data-tvr-booking-editor] .tvr-admin-tabs::-webkit-scrollbar-thumb{background:var(--muted,#52627a);border-radius:7px}[data-tvr-booking-editor] .tvr-admin-tabs.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}[data-tvr-booking-editor] .tvr-admin-tabs.is-dragging [role=tab]{cursor:grabbing}}\r\n\r\n\/* Promo codes: checkout and CRM. *\/\r\n.tvr-promo{margin-block:16px;padding-block:12px;border-block:1px solid #e5e7eb}.tvr-promo summary{cursor:pointer}.tvr-promo label,.tvr-promo-editor label{display:grid;gap:6px;margin-block:12px}.tvr-promo input,.tvr-promo-editor input,.tvr-promo-editor select,.tvr-promo-editor textarea{max-width:100%;min-width:0;box-sizing:border-box}.tvr-promo [data-promo-result]>div,.tvr-promo-receipt{margin-block:12px}.tvr-promo button{margin-block:8px}.tvr-promo-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.tvr-promo-editor fieldset{min-width:0}.tvr-promo-editor fieldset label{display:flex;align-items:center}.tvr-promo-admin{max-width:100%;overflow-wrap:anywhere}\r\n\r\n\/* Promo management uses the same CRM theme and responsive form controls as booking editors. *\/\r\n.tvr-promo-page{min-width:0;color:var(--text,#17233c)}\r\n.tvr-promo-page .tvr-promo-admin{padding:18px;border:1px solid var(--line,#d8e0ee);border-radius:16px;background:var(--surface,#fff)}\r\n.tvr-promo-page .tvr-promo-admin h2,.tvr-promo-page .tvr-promo-admin h3,.tvr-promo-page .tvr-promo-editor legend{color:var(--text,#17233c)}\r\n.tvr-promo-page .tvr-promo-admin a{color:var(--blue,#236bff)}\r\n.tvr-promo-page .tvr-promo-editor{align-items:start;margin-top:18px}\r\n.tvr-promo-page .tvr-promo-editor>label{margin:0;min-width:0;font-weight:600}\r\n.tvr-promo-page .tvr-promo-editor input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.tvr-promo-page .tvr-promo-editor select,.tvr-promo-page .tvr-promo-editor textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c);font:inherit}\r\n.tvr-promo-page .tvr-promo-editor textarea{resize:vertical;min-height:88px}\r\n.tvr-promo-page .tvr-promo-editor fieldset{display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--line,#d8e0ee);border-radius:12px}\r\n.tvr-promo-page .tvr-promo-editor fieldset label{margin:0;font-weight:400;gap:10px}\r\n.tvr-promo-page .tvr-promo-editor input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;accent-color:var(--blue,#236bff)}\r\n.tvr-promo-page .tvr-promo-editor .tvr-promo-visibility{padding:0;border:0}\r\n.tvr-promo-visibility__choices{display:flex;gap:4px;padding:3px;min-height:44px;box-sizing:border-box;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface-2,#f7f9fc)}\r\n.tvr-promo-page .tvr-promo-visibility__choices label{position:relative;flex:1 0 auto;min-width:max-content;cursor:pointer}\r\n.tvr-promo-visibility__choices input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}\r\n.tvr-promo-visibility__choices span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:8px;box-sizing:border-box;border-radius:8px;text-align:center;font-size:14px;line-height:20px;white-space:nowrap;overflow-wrap:normal;font-weight:600;color:var(--text,#17233c)}\r\n.tvr-promo-visibility__choices input:checked+span{background:var(--blue,#236bff);color:#fff}\r\n.tvr-promo-visibility__choices input:focus-visible+span{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-promo-visibility__choices input:disabled+span{cursor:default}\r\n.tvr-promo-page .tvr-promo-editor button[type=submit]{min-height:44px;padding:10px 18px;border:0;border-radius:10px;background:var(--blue,#236bff);color:#fff;font:inherit;font-weight:700;cursor:pointer;align-self:end}\r\n.tvr-promo-page .tvr-promo-editor :is(input,select,textarea,button):focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-promo-summary{white-space:pre-line}\r\n@media(max-width:600px){.tvr-promo-page .tvr-promo-admin{padding:14px}.tvr-promo-page .tvr-promo-editor{grid-template-columns:minmax(0,1fr)}}\r\n\r\n\/* Promo list and dedicated editor navigation. *\/\r\n.tvr-promo-toolbar{display:flex;justify-content:flex-end;margin-bottom:18px}\r\n.tvr-promo-page .tvr-promo-primary,.tvr-promo-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:var(--blue,#236bff);color:#fff!important;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;box-sizing:border-box}\r\n.tvr-promo-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}\r\n.tvr-promo-filters label{display:grid;gap:6px;min-width:160px;flex:1}\r\n.tvr-promo-filters input,.tvr-promo-filters select{width:100%;min-height:44px;box-sizing:border-box;padding:10px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c);font:inherit}\r\n.tvr-promo-filters>a{padding:12px 0}.tvr-promo-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line,#d8e0ee);border-radius:12px}\r\n.tvr-promo-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}\r\n.tvr-promo-table th,.tvr-promo-table td{padding:12px 14px;border-bottom:1px solid var(--line,#d8e0ee);vertical-align:top;white-space:nowrap}\r\n.tvr-promo-table thead{background:var(--surface-2,#f7f9fc)}.tvr-promo-table tr:last-child td,.tvr-promo-table tr:last-child th{border-bottom:0}\r\n.tvr-promo-table .tvr-promo-description{min-width:180px;max-width:280px;white-space:normal;overflow-wrap:anywhere}\r\n.tvr-promo-status{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--surface-2,#f7f9fc)}\r\n.tvr-promo-pagination{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:16px}.tvr-promo-back{display:inline-block;margin:8px 0}\r\n@media(max-width:600px){.tvr-promo-filters{align-items:stretch}.tvr-promo-filters label{flex-basis:100%;min-width:0}.tvr-promo-toolbar .tvr-promo-primary{width:100%}.tvr-promo-toolbar{display:block}}\r\n\r\n\/* Manual staff marks apply only to the Visa Run booking list. *\/\r\n[data-tvr-booking-row-color=\"yellow\"],.tvr-row-color-swatch[data-color=\"yellow\"]{--tvr-row-tint:#eab308}\r\n[data-tvr-booking-row-color=\"green\"],.tvr-row-color-swatch[data-color=\"green\"]{--tvr-row-tint:#22c55e}\r\n[data-tvr-booking-row-color=\"blue\"],.tvr-row-color-swatch[data-color=\"blue\"]{--tvr-row-tint:#38bdf8}\r\n[data-tvr-booking-row-color=\"purple\"],.tvr-row-color-swatch[data-color=\"purple\"]{--tvr-row-tint:#a78bfa}\r\n[data-tvr-booking-row-color=\"pink\"],.tvr-row-color-swatch[data-color=\"pink\"]{--tvr-row-tint:#f472b6}\r\n.tvr-visabus-cabinet table.tvr-bookings-table tr[data-tvr-booking-row-color]:not([data-tvr-booking-row-color=\"default\"])>td{background:color-mix(in srgb,var(--tvr-row-tint) 22%,var(--surface,#fff))!important;color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet .tvr-row-color-control{display:inline-block;vertical-align:middle;margin:4px;text-align:left;white-space:normal}\r\n.tvr-visabus-cabinet .tvr-row-color-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;margin:0;padding:0;border:1px solid var(--line,#dce4ef);border-radius:9px;background:var(--surface,#fff);color:var(--text,#17233c);cursor:pointer}\r\n.tvr-row-color-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}\r\n.tvr-row-color-options{position:fixed;inset:auto;z-index:1000;display:grid;grid-template-columns:repeat(6,32px);gap:4px;width:max-content;max-width:calc(100vw - 16px);box-sizing:border-box;margin:0;padding:6px;border:1px solid var(--line,#dce4ef);border-radius:10px;background:var(--surface,#fff);box-shadow:0 6px 20px rgba(0,0,0,.18)}\r\n.tvr-visabus-cabinet .tvr-row-color-options button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;margin:0;padding:4px;border:1px solid transparent;border-radius:7px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit;cursor:pointer}\r\n.tvr-row-color-options button[data-tvr-row-color=\"default\"]{order:1;border-left-color:var(--line,#dce4ef)}\r\n.tvr-row-color-reset{font-size:24px;line-height:1}\r\n.tvr-visabus-cabinet .tvr-row-color-options button[aria-pressed=\"true\"]{border-color:var(--text,#17233c);font-weight:700}\r\n.tvr-row-color-swatch{flex:0 0 17px;height:17px;border:1px solid var(--line,#dce4ef);border-radius:50%;background:var(--tvr-row-tint,var(--surface,#fff))}\r\n.tvr-row-color-swatch[data-color=\"default\"]{--tvr-row-tint:var(--surface,#fff)}\r\n.tvr-row-color-trigger:focus-visible,.tvr-row-color-options button:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-row-color-options button:disabled{opacity:.55;cursor:wait}\r\n.tvr-row-color-feedback{display:block;grid-column:1\/-1;order:2;max-width:212px;color:var(--danger,#b42318);font-size:12px}\r\n.tvr-row-color-feedback:empty{display:none}\r\n\/* The final booking step keeps its details while prioritizing payment. *\/\r\n.tvr-checkout-method{border:1px solid #dce3ef;border-radius:16px;padding:18px;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:16px}\r\n.tvr-checkout-method legend{font-weight:700;padding:0 8px}\r\n.tvr-checkout-method label{display:flex;align-items:center;gap:8px;cursor:pointer}\r\n.tvr-checkout-method input{width:auto;margin:0}\r\n.tvr-checkout-method p{flex-basis:100%;margin:0}\r\n.tvr-review-layout details>summary{cursor:pointer;font-weight:600;padding:12px 0}\r\n.tvr-booking-complete.is-checkout-payment .tvr-booking-complete-content> :not(.tvr-booking-complete-payment){display:none}\r\n.tvr-booking-complete.is-checkout-payment .tvr-booking-complete-content{display:block}\r\n.tvr-step[data-step=\"5\"] .tvr-review-layout{grid-template-columns:minmax(0,1fr);gap:20px}\r\n.tvr-step[data-step=\"5\"] .tvr-review-finance{position:static;min-width:0}\r\n.tvr-step[data-step=\"5\"] .tvr-checkout-method{margin-top:24px}\r\n.tvr-unified-checkout>.tvr-booking-complete{padding:0;border:0;background:transparent;box-shadow:none}\r\n.tvr-unified-checkout .tvr-booking-complete-payment{margin:0;padding:0;border:0;background:transparent}\r\n.tvr-unified-checkout .tvr-checkout-provider .tripand-payment{margin:0;padding:0;border:0;background:transparent}\r\n.tvr-unified-checkout .tvr-checkout-provider details{margin:16px 0}\r\n.tvr-unified-checkout .tvr-checkout-provider summary{cursor:pointer}\r\n.tvr-unified-checkout .tvr-payment-live:empty{display:none}\r\n.tvr-unified-checkout .tvr-checkout-provider img{max-width:100%;height:auto}\r\n.tvr-step[data-step=\"5\"] .tvr-review-layout.tvr-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);gap:24px;align-items:start}\r\n.tvr-checkout-grid>.tvr-review-finance[hidden]{display:none!important}\r\n.tvr-booking-complete-payment.tvr-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);gap:24px;align-items:start}\r\n.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px}\r\n.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice>.tripand-payment,.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice>button,.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice>select{grid-column:1\/-1}\r\n.tvr-checkout-actions{grid-column:1\/-1;border-top:1px solid #e7ecf3;padding-top:16px;display:flex;justify-content:flex-end}\r\n.tvr-checkout-title{grid-column:1\/-1;margin:0;font-size:24px}\r\n.tvr-checkout-trip-summary>.tvr-total{display:flex;justify-content:space-between;gap:12px;background:#fff7e5;border-radius:12px;padding:16px;margin:16px 0}\r\n.tvr-checkout-actions button,.tvr-checkout-provider button{border:1px solid #dce3ef;border-radius:8px;padding:8px 12px;background:white;color:#236bff;cursor:pointer}\r\n.tvr-checkout-actions button{background:#236bff;color:white;padding:12px 20px}\r\n.tvr-payment-choice>[name=\"checkout_mode\"]{grid-column:1\/-1;max-width:100%;font-size:12px}\r\n.tvr-checkout-provider [data-payment-result]>img{width:200px;height:200px;object-fit:contain}\r\n.tvr-checkout-provider{min-width:0}\r\n.tvr-checkout-provider [data-payment-result] p{overflow-wrap:anywhere;margin:10px 0}\r\n.tvr-checkout-provider [data-payment-result] p button{margin-left:8px;width:auto}\r\n.tvr-checkout-provider [data-payment-result] img{display:block;margin:12px auto}\r\n.tvr-booking-complete-payment.tvr-checkout-grid .tvr-promo{padding:16px 0;margin:16px 0;border-top:1px solid #e7ecf3}\r\n@media(max-width:800px){.tvr-booking-complete-payment.tvr-checkout-grid{grid-template-columns:minmax(0,1fr);gap:20px}.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice{grid-template-columns:42px minmax(0,1fr);gap:8px}.tvr-booking-complete-payment.tvr-checkout-grid .tvr-payment-choice-total{grid-column:2;max-width:none}.tvr-checkout-actions button{width:100%}}\r\n.tvr-checkout-left{min-width:0;padding-right:24px;border-right:1px solid #e7ecf3}\r\n.tvr-checkout-left .tvr-review{display:block;padding:0;border:0;background:transparent}\r\n.tvr-checkout-trip-summary{margin-bottom:14px}\r\n.tvr-checkout-trip-summary h4{margin:0 0 12px;font-size:16px}\r\n.tvr-checkout-trip-summary>strong{display:block;font-size:17px;line-height:1.4}\r\n.tvr-checkout-trip-summary p{margin:6px 0 0!important;font-size:13px;line-height:1.6;color:#667085}\r\n.tvr-checkout-trip-summary .tvr-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:12px 14px;font-size:14px;border-radius:10px}\r\n.tvr-checkout-trip-summary .tvr-total strong{font-size:18px;white-space:nowrap}\r\n.tvr-checkout-left .tvr-review>details{padding:12px 14px;border-radius:10px;background:#f3f6fb;font-size:13px}\r\n.tvr-checkout-left .tvr-review>details>summary{cursor:pointer;font-weight:500}\r\n.tvr-checkout-left .tvr-review>details>summary{padding:0}\r\n.tvr-checkout-left .tvr-review>details[open]>.tvr-review-section{margin-top:14px}\r\n.tvr-checkout-left .tvr-promo-compact{display:block;margin:20px 0 0;padding:18px 0 0;border:0;border-top:1px solid #e7ecf3;border-radius:0;background:transparent}\r\n.tvr-promo-compact h4{margin:0 0 12px;font-size:16px}\r\n.tvr-promo-option{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}\r\n.tvr-promo-option>span{min-width:0;display:grid;gap:4px}\r\n.tvr-promo-option strong{font-size:13px;overflow-wrap:anywhere}\r\n.tvr-promo-option small{font-size:11px;color:#667085}\r\n.tvr-checkout-left .tvr-promo-option{padding:8px 12px}\r\n.tvr-promo-option.is-applied{border-color:#a5dfbd;background:#f2fbf5}\r\n.tvr-promo-option button{flex:0 0 auto;min-height:32px!important;padding:5px 10px!important;border:1px solid #236bff!important;border-radius:7px!important;background:#fff!important;color:#236bff!important;font-size:12px!important;font-weight:600}\r\n.tvr-promo-option.is-applied button{border-color:transparent!important;background:transparent!important;color:#087b3c!important;opacity:1}\r\n.tvr-promo-manual{margin-top:10px}\r\n.tvr-promo-manual>summary{font-size:13px;color:#236bff;cursor:pointer}\r\n.tvr-promo-manual>label{display:grid;gap:6px;margin:10px 0;font-size:12px}\r\n.tvr-promo-manual>button{min-height:34px;padding:6px 12px;font-size:12px}\r\n.tvr-promo-compact [data-promo-result]:empty{display:none}\r\n.tvr-promo-compact [data-promo-result]>div{margin-top:8px;font-size:12px}\r\n.tvr-promo-compact [data-promo-result] button{min-height:24px;padding:2px 6px;margin:4px 0;font-size:11px}\r\n.tvr-step[data-step=\"5\"] .tvr-checkout-grid .tvr-checkout-method{min-width:0;width:100%;margin:0;padding:0;border:0;display:grid;gap:10px}\r\n.tvr-checkout-grid .tvr-checkout-method legend{padding:0;margin:0 0 16px;font-size:16px;font-weight:700}\r\n.tvr-checkout-method .tvr-payment-choice,.tvr-checkout-provider .tvr-payment-choice{display:grid;grid-template-columns:66px minmax(0,1fr) auto 18px;gap:10px;align-items:center;width:100%;min-width:0;margin:0;padding:14px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#172033!important;text-align:left;cursor:pointer;box-sizing:border-box}\r\n.tvr-checkout-method .tvr-payment-choice:has(input:checked){border-color:#236bff;background:#f4f7ff;box-shadow:0 0 0 1px #236bff10}\r\n.tvr-payment-choice:focus-within{outline:2px solid #236bff;outline-offset:2px}\r\n.tvr-payment-choice.is-unavailable{opacity:.6;cursor:default}\r\n.tvr-payment-brand{display:flex;align-items:center;justify-content:center;min-width:0;width:66px;height:36px;border-radius:6px}\r\n.tvr-payment-brand img{display:block;width:100%;height:32px;object-fit:contain}\r\n.tvr-payment-brand-yoomoney img{width:36px}\r\n.tvr-payment-brand-nowpayments{background:#172033;padding:5px}\r\n.tvr-payment-clock{font-size:32px;line-height:1;color:#748096}\r\n.tvr-payment-choice-copy{display:grid;gap:4px;min-width:0}\r\n.tvr-payment-choice-copy>strong{font-size:12px;line-height:1.4}\r\n.tvr-payment-choice-copy>small{font-size:11px;line-height:1.45;color:#667085;font-weight:400}\r\n.tvr-payment-choice-total{width:145px;max-width:145px;font-size:14px;line-height:1.35;text-align:right;white-space:normal;overflow-wrap:anywhere}\r\n.tvr-checkout-method .tvr-payment-choice input[type=\"radio\"]{width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:#236bff}\r\n.tvr-checkout-method>input[type=\"hidden\"]{display:none}\r\n.tvr-checkout-method [data-checkout-quote-status]:empty{display:none}\r\n.tvr-checkout-method [data-checkout-quote-status]{font-size:12px;color:#b42318}\r\n.tvr-checkout-method [data-checkout-later]{font-size:12px;margin:0;color:#667085}\r\n.tvr-checkout-left .tvr-contact-confirmation{margin:20px 0 0;padding:18px 0 0;border:0;border-top:1px solid #e7ecf3;border-radius:0;background:transparent}\r\n.tvr-checkout-left .tvr-contact-confirmation h4{font-size:16px;margin:0 0 12px}\r\n.tvr-step[data-step=\"8\"] .tvr-contact-confirmation{margin-top:0}\r\n.tvr-contact-trip-details{min-width:0;margin:0 0 20px;padding:12px 14px;border-radius:10px;background:#f3f6fb;font-size:13px;overflow-wrap:anywhere}\r\n.tvr-contact-trip-details>summary{cursor:pointer;font-weight:500;padding:0}\r\n.tvr-contact-trip-details[open]>.tvr-review-section{margin-top:14px}\r\n.tvr-checkout-left .tvr-contact-method{gap:10px;display:flex;flex-wrap:wrap}\r\n.tvr-checkout-left .tvr-contact-method label{min-height:44px;padding:9px 12px;border-radius:10px;font-size:13px}\r\n.tvr-unified-checkout .tvr-payment-live{color:#667085}\r\n.tvr-unified-checkout [data-checkout-state=\"error\"]>.tvr-payment-live{color:#b42318}\r\n.tvr-unified-checkout .tvr-payment-panel{gap:14px}\r\n.tvr-unified-checkout .tvr-checkout-provider .tripand-payment>p{margin:0 0 10px}\r\n.tvr-unified-checkout .tvr-checkout-provider .tripand-payment>p>br,.tvr-unified-checkout .tvr-checkout-provider .tripand-payment>p>small{display:none}\r\n.tvr-unified-checkout .tvr-checkout-provider .tvr-payment-choice{grid-template-columns:66px minmax(0,1fr) auto;font-weight:400}\r\n.tvr-unified-checkout [data-payment-result] dl dt:not(:nth-last-child(2)),.tvr-unified-checkout [data-payment-result] dl dd:not(:last-child){display:none}\r\n@media(max-width:800px){.tvr-step[data-step=\"5\"] .tvr-review-layout.tvr-checkout-grid{grid-template-columns:minmax(0,1fr);gap:20px}.tvr-checkout-left{border:0;padding:0}.tvr-checkout-grid .tvr-checkout-method legend{margin-bottom:12px}.tvr-checkout-trip-summary>strong{font-size:16px}.tvr-payment-choice-total{font-size:13px;width:115px;max-width:115px}.tvr-checkout-method .tvr-payment-choice,.tvr-checkout-provider .tvr-payment-choice{grid-template-columns:42px minmax(0,1fr) auto 16px;gap:8px;padding:12px 10px}.tvr-payment-brand{width:42px}.tvr-payment-brand-yoomoney img{width:30px}.tvr-payment-choice-copy>strong{font-size:11px}.tvr-payment-choice-copy>small{font-size:10px}.tvr-payment-brand-nowpayments{padding:3px}.tvr-unified-checkout .tvr-checkout-provider .tvr-payment-choice{grid-template-columns:42px minmax(0,1fr) auto}}\r\n.tvr-checkout-summary{font-weight:600;overflow-wrap:anywhere}\r\n@media(max-width:480px){.tvr-checkout-method .tvr-payment-choice,.tvr-unified-checkout .tvr-checkout-provider .tvr-payment-choice{grid-template-columns:42px minmax(0,1fr) 18px;gap:6px 10px}.tvr-payment-choice .tvr-payment-brand{grid-column:1;grid-row:1\/3}.tvr-payment-choice .tvr-payment-choice-copy{grid-column:2;grid-row:1}.tvr-payment-choice .tvr-payment-choice-total{grid-column:2;grid-row:2;text-align:left;width:auto;max-width:none;font-size:14px}.tvr-payment-choice input[type=\"radio\"]{grid-column:3;grid-row:1\/3}.tvr-payment-choice-copy>strong{font-size:12px}.tvr-payment-choice-copy>small{font-size:11px}}\r\n.tvr-booking-complete-payment .tvr-promo{margin:16px 0}\r\n.tvr-booking-complete-payment>button{margin:8px 12px 8px 0}\r\n.tvr-payment-live{display:block;margin-top:12px}\r\n\r\n.tvr-row-color-options[popover]:not(:popover-open){display:none}\r\n.tvr-options-viewport{color:var(--text,#17233c);background:var(--surface,#fff);padding:10px;box-sizing:border-box}\r\n.tvr-options-viewport [hidden]{display:none!important}\r\n.tvr-options-controls{display:grid;gap:10px;margin-bottom:10px}\r\n.tvr-options-segments{display:flex;min-width:0;padding:2px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa)}\r\n.tvr-options-segments button{flex:1;min-width:0;min-height:36px;padding:6px 10px;border:0;border-radius:999px;background:transparent;color:var(--muted,#526078);font:inherit;font-size:13px;font-weight:700;cursor:pointer}\r\n.tvr-options-segments button[aria-pressed=true]{background:var(--blue,#236bff);color:#fff}\r\n.tvr-options-selection{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:center}\r\n.tvr-options-selection select{box-sizing:border-box;min-width:0;width:100%;height:40px;padding:6px 8px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa);color:var(--text,#17233c);font:inherit;font-size:13px;text-overflow:ellipsis}\r\n.tvr-options-hint{margin:8px 0;color:var(--muted,#526078);font-size:12px}\r\n.tvr-options-floor{max-width:560px;margin:0 auto}\r\n.tvr-options-map,.tvr-options-driver{display:grid;gap:6px}\r\n.tvr-options-driver{height:34px;align-items:center;margin-bottom:4px}\r\n.tvr-options-driver>span{display:flex;justify-content:center}\r\n.tvr-options-driver svg{width:26px;height:26px;color:var(--muted,#526078)}\r\n.tvr-options-seat{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;gap:3px 6px;min-width:0;min-height:50px;padding:6px 3px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface-2,#f2f5fa);color:var(--text,#17233c);font:inherit;font-size:13px;line-height:1.25;overflow-wrap:anywhere}\r\n.tvr-options-seat.has-options{border-color:var(--blue,#236bff);background:color-mix(in srgb,var(--blue,#236bff) 13%,var(--surface,#fff));cursor:pointer}\r\n.tvr-options-seat.is-selected{background:var(--blue,#236bff);color:#fff}\r\n.tvr-options-seat[data-delivery-status=\"partial\"],.tvr-options-order[data-delivery-status=\"partial\"]{background:#fff1b8;color:#523d00;border-color:#b58a13}\r\n.tvr-options-seat[data-delivery-status=\"complete\"],.tvr-options-order[data-delivery-status=\"complete\"]{background:#d3f5df;color:#124e2b;border-color:#2f9b56}\r\n.tvr-options-seat.is-selected{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-options-seat [data-delivery-progress]{flex-basis:100%;font-size:11px;font-weight:700}\r\n.tvr-options-order[data-delivery-status=\"partial\"],.tvr-options-order[data-delivery-status=\"complete\"]{border-radius:8px;padding:10px}\r\n.tvr-options-order[data-delivery-status=\"partial\"] dt,.tvr-options-order[data-delivery-status=\"complete\"] dt{color:inherit}\r\n.tvr-options-order [data-delivery-progress]{margin-left:auto;white-space:nowrap}\r\n.tvr-options-order dl>[data-delivery-item]{flex-wrap:wrap;gap:6px 12px;padding:8px 0}\r\n.tvr-options-order [data-delivery-item]>dt{flex:1 1 140px}\r\n.tvr-options-ordered{white-space:nowrap}\r\n.tvr-options-order dd.tvr-options-delivery{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:100%;font-weight:500}\r\n.tvr-options-delivery label{display:inline-flex;align-items:center;gap:7px;min-height:40px;cursor:pointer;white-space:nowrap}\r\n.tvr-options-delivery input[type=\"checkbox\"]{appearance:auto;width:20px;height:20px;margin:0;accent-color:#23874a}\r\n.tvr-options-delivery-counter{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-variant-numeric:tabular-nums}\r\n.tvr-options-delivery-counter button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font-size:20px;cursor:pointer}\r\n.tvr-options-delivery-counter button:disabled{opacity:.4;cursor:default}\r\n.tvr-options-delivery-message{flex-basis:100%;margin:0;font-size:12px;color:#a33117}\r\n.tvr-options-delivery input:focus-visible{outline:2px solid #ffac0a;outline-offset:3px}\r\n[data-theme=\"dark\"] .tvr-options-seat[data-delivery-status=\"partial\"],[data-theme=\"dark\"] .tvr-options-order[data-delivery-status=\"partial\"]{background:#4d3d13;color:#ffe6a0;border-color:#b58a13}\r\n[data-theme=\"dark\"] .tvr-options-seat[data-delivery-status=\"complete\"],[data-theme=\"dark\"] .tvr-options-order[data-delivery-status=\"complete\"]{background:#163d29;color:#b3f2c8;border-color:#399c60}\r\n[data-theme=\"dark\"] .tvr-options-delivery-message{color:#ffb39e}\r\n.tvr-options-badge{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:12px;font-weight:600}\r\n.tvr-options-badge svg{flex-shrink:0;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-options-order{padding:10px 0;border-bottom:1px solid var(--line,#d8e0ee);min-width:0}\r\n.tvr-options-order header{display:flex;align-items:baseline;gap:10px;font-weight:750;min-width:0}\r\n.tvr-options-order header>strong{flex-shrink:0;color:var(--blue,#236bff)}\r\n.tvr-options-order dl,.tvr-options-totals dl{margin:6px 0 0}\r\n.tvr-options-order dl>div,.tvr-options-totals dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:13px}\r\n.tvr-options-order dt,.tvr-options-totals dt{min-width:0;overflow-wrap:anywhere;color:var(--muted,#526078)}\r\n.tvr-options-order dd,.tvr-options-totals dd{flex-shrink:0;margin:0;font-weight:700}\r\n.tvr-options-order a{display:inline-flex;min-height:30px;align-items:center;color:var(--blue,#236bff);font-size:12px;text-decoration:none}\r\n.tvr-options-unassigned h3{font-size:14px;margin:16px 0 0}\r\n.tvr-options-totals{margin-top:14px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa)}\r\n.tvr-options-totals summary{display:flex;align-items:center;gap:10px;min-height:24px;cursor:pointer;font-weight:700;list-style:none}\r\n.tvr-options-totals summary:after{content:'\u2304';margin-left:auto}.tvr-options-totals[open] summary:after{content:'\u2303'}\r\n.tvr-options-totals summary::-webkit-details-marker{display:none}\r\n.tvr-options-dialog{position:fixed;inset:auto 0 0;box-sizing:border-box;width:min(100%,560px);max-width:100%;max-height:80dvh;margin:0 auto;border:1px solid var(--line,#d8e0ee);border-radius:18px 18px 0 0;padding:24px 18px max(18px,env(safe-area-inset-bottom));background:var(--surface,#fff);color:var(--text,#17233c);overflow:auto;overscroll-behavior:contain}\r\n.tvr-options-dialog::backdrop{background:#0008}\r\n.tvr-options-dialog:before{content:'';display:block;width:36px;height:4px;margin:-14px auto 12px;border-radius:8px;background:var(--muted,#526078)}\r\n.tvr-options-close{display:block;margin-left:auto;min-width:36px;min-height:36px;padding:0;border:0;border-radius:8px;background:var(--surface-2,#f2f5fa);color:inherit;font-size:25px;cursor:pointer}\r\n.tvr-options-viewport button:focus-visible,.tvr-options-viewport summary:focus-visible,.tvr-options-viewport a:focus-visible,.tvr-options-viewport select:focus-visible{outline:2px solid #ffac0a;outline-offset:2px}\r\n@media(min-width:701px){.tvr-options-controls,.tvr-options-hint,.tvr-options-totals,.tvr-options-unassigned,[data-options-list]{max-width:740px;margin-left:auto;margin-right:auto}.tvr-options-seat{min-height:56px}.tvr-options-dialog{inset:0;margin:auto;border-radius:18px;height:fit-content}}\r\n\r\n.tvr-options-dialog .tvr-options-order header{display:grid;gap:8px}.tvr-options-dialog .tvr-options-order header>strong{color:inherit;font-size:20px}.tvr-options-dialog .tvr-options-order{padding-top:0}.tvr-options-dialog .tvr-options-order dl{margin-top:14px}\r\n\r\n.tvr-services .tvr-included-service{grid-area:control;display:inline-flex;align-items:center;gap:8px;color:#157347;font-weight:600;min-height:48px}.tvr-services input[data-tvr-mandatory-service][hidden]{display:none!important}\r\n.tvr-ikra{color:var(--text,#e9edf5)}\r\n.tvr-ikra-departure{padding:16px;margin:0 0 16px;border:1px solid var(--line,#303746);border-radius:12px;background:var(--surface,#181d28);break-inside:avoid}\r\n.tvr-ikra-departure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tvr-ikra-departure-grid>div{min-width:0;overflow-wrap:anywhere}.tvr-ikra-departure-grid>div+div{border-left:1px solid var(--line,#303746);padding-left:20px}.tvr-ikra-departure-grid span{display:block;color:var(--muted,#a3adbd);font-size:13px;margin-bottom:6px}.tvr-ikra-departure-grid strong{font-size:18px;line-height:1.5}.tvr-ikra-departure-grid .tvr-ikra-cook strong{font-size:15px}.tvr-ikra-period{display:inline-block;font-size:12px;font-weight:600;color:#2465ff;background:rgba(36,101,255,.12);border-radius:20px;padding:3px 9px;vertical-align:middle}.tvr-ikra-deadline{font-size:13px;color:var(--muted,#a3adbd);margin:16px 0 10px}.tvr-ikra-prepare{margin:0;padding:8px 12px;border:1px solid #a47520;border-radius:8px;background:rgba(225,168,25,.09);font-size:14px;line-height:1.5;color:#805700}.tvr-ikra-prepare strong{font-weight:700}[data-theme=\"dark\"] .tvr-ikra-prepare{color:#ffd34d}[data-theme=\"dark\"] .tvr-ikra-period{color:#80aaff}\r\n@media(max-width:700px){.tvr-ikra-departure{padding:14px}.tvr-ikra-departure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tvr-ikra-departure-grid>div+div{padding-left:12px}.tvr-ikra-departure-grid strong{font-size:16px}.tvr-ikra-departure-grid>.tvr-ikra-cook{grid-column:1\/-1;border-left:0;border-top:1px solid var(--line,#303746);padding:12px 0 0}.tvr-ikra-period{margin-top:3px}.tvr-ikra-deadline{line-height:1.5}}\r\n@media print{.tvr-ikra-departure,.tvr-ikra-prepare{background:white!important;color:black!important}.tvr-ikra-departure-grid span,.tvr-ikra-deadline,.tvr-ikra-period{color:black!important}}\r\n.tvr-ikra-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0}.tvr-ikra-heading h2{margin:0;font-size:25px}.tvr-ikra-heading p{margin:4px 0;color:var(--muted,#8b96a9)}\r\n.tvr-ikra button,.tvr-ikra input,.tvr-ikra select{font:inherit;color:inherit;border:1px solid var(--line,#303746);border-radius:9px;background:var(--surface-2,#222938);padding:9px 12px;min-height:40px}.tvr-ikra button{cursor:pointer}.tvr-ikra button:focus-visible,.tvr-ikra a:focus-visible,.tvr-ikra input:focus-visible,.tvr-ikra select:focus-visible{outline:2px solid #ffac0a;outline-offset:3px}\r\n.tvr-ikra-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:14px}.tvr-ikra-filters label{display:grid;gap:4px;font-size:12px;color:var(--muted,#a3adbd)}.tvr-ikra-filters input,.tvr-ikra-filters select{font-size:14px;color:var(--text,#e9edf5);max-width:360px}.tvr-ikra-filters button,.tvr-ikra button.tvr-ikra-done{background:#2465ff;color:#fff;border-color:#2465ff}\r\n.tvr-ikra-status-filters{display:flex;flex-wrap:nowrap;gap:6px;margin:12px 0;overflow-x:auto;padding-bottom:4px}.tvr-ikra-status-filters a{flex:0 0 auto;white-space:nowrap;justify-content:center;min-height:40px;box-sizing:border-box}.tvr-ikra-status-filters a{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--line,#303746);border-radius:9px;padding:9px 12px;background:var(--surface,#181d28);font-size:14px}.tvr-ikra-status-filters a.is-active{background:#2465ff;color:#fff}.tvr-ikra-status-filters b{border-radius:20px;background:rgba(127,145,170,.15);padding:1px 6px}\r\n.tvr-ikra-summary{margin:14px 0}.tvr-ikra-summary h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:500;color:var(--muted,#a3adbd)}.tvr-ikra-summary h3 b{color:var(--text,#e9edf5);font-size:17px}.tvr-ikra-food-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tvr-ikra-food-card{min-width:0;padding:12px;border:1px solid var(--line,#303746);border-radius:12px;background:var(--surface,#181d28)}.tvr-ikra-food-card h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:600}.tvr-ikra-food-card h4 span{min-width:0;overflow-wrap:anywhere}.tvr-ikra-food-card h4 b{margin-left:auto;font-size:22px}.tvr-ikra-food-icon{display:inline-block;width:26px;height:26px;flex-shrink:0;color:var(--muted,#a3adbd)}.tvr-ikra-food-card ul{list-style:none;margin:0;padding:0}.tvr-ikra-food-card li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:13px}.tvr-ikra-food-card li>span{display:flex;align-items:center;gap:4px;min-width:0;overflow-wrap:anywhere}.tvr-ikra-food-card li>b{font-size:18px;font-variant-numeric:tabular-nums}.tvr-ikra-veggie{color:#19834c}.tvr-ikra-veggie .tvr-ikra-food-icon{width:14px;height:14px;color:inherit}[data-theme=\"dark\"] .tvr-ikra-veggie{color:#70ce96}@media(min-width:701px){.tvr-ikra-food-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:720px}}@media print{.tvr-ikra-food-card{break-inside:avoid;background:white;color:black}.tvr-ikra-summary h3,.tvr-ikra-summary h3 b{color:black}}\r\n.tvr-ikra-table-wrap{overflow:auto;border:1px solid var(--line,#303746);border-radius:12px}.tvr-ikra-table{width:100%;border-collapse:collapse;background:var(--surface,#181d28)}.tvr-ikra-table th,.tvr-ikra-table td{padding:12px;border-bottom:1px solid var(--line,#303746);text-align:center}.tvr-ikra-table thead th{font-size:12px;font-weight:500;color:var(--muted,#a3adbd);max-width:135px}.tvr-ikra-table th:first-child{text-align:left;min-width:180px}.tvr-ikra-table tbody th{font-size:14px}.tvr-ikra-table small{display:block;font-size:11px;font-weight:400;color:var(--muted,#a3adbd);margin-top:4px}.tvr-ikra-table td{font-size:18px;font-weight:700}.tvr-ikra-table tfoot{background:var(--surface-2,#222938)}.tvr-ikra-table tfoot td,.tvr-ikra-table tfoot th{border-bottom:0}\r\n.tvr-ikra-table td.tvr-ikra-actions{min-width:240px;font-size:13px;font-weight:500}.tvr-ikra-actions form{display:inline-block;margin:0 0 0 10px}.tvr-ikra-status{display:inline-block;vertical-align:middle;padding:7px 10px;border:1px solid currentColor;border-radius:8px;white-space:nowrap}.tvr-ikra-status.is-pending{color:#b47b00}.tvr-ikra-status.is-changed{color:#c76000}.tvr-ikra-status.is-done{color:#138344}.tvr-ikra button.tvr-ikra-undo{border:0;background:transparent;text-decoration:underline;font-size:12px;color:var(--muted,#a3adbd)}.tvr-ikra-note{font-size:12px;color:var(--muted,#a3adbd)}.tvr-ikra-notice{padding:10px 12px;font-size:12px;border:1px solid #a47520;border-radius:8px;background:rgba(225,168,25,.09)}\r\n[data-theme=\"dark\"] .tvr-ikra-status.is-pending{color:#ffd34d}[data-theme=\"dark\"] .tvr-ikra-status.is-changed{color:#ffad57}[data-theme=\"dark\"] .tvr-ikra-status.is-done{color:#43db89}\r\n@media(max-width:700px){.tvr-ikra-filters label{flex:1;min-width:130px}.tvr-ikra-filters input,.tvr-ikra-filters select{width:100%;box-sizing:border-box;max-width:100%}.tvr-ikra-table thead,.tvr-ikra-table tfoot{display:none}.tvr-ikra-table,.tvr-ikra-table tbody,.tvr-ikra-table tr{display:block}.tvr-ikra-table tr{padding:10px 12px;border-bottom:1px solid var(--line,#303746)}.tvr-ikra-table th:first-child{display:block;min-width:0;padding:4px 0 10px;border:0}.tvr-ikra-table td[data-label]{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:17px;border:0}.tvr-ikra-table td[data-label]:before{content:attr(data-label);font-size:13px;font-weight:400;text-align:left}.tvr-ikra-table td.tvr-ikra-actions{display:flex;justify-content:space-between;align-items:center;padding:10px 0 2px;min-width:0;border:0}.tvr-ikra-totals{gap:8px 15px}.tvr-ikra-heading{margin:12px 0}.tvr-ikra-status-filters{gap:4px}.tvr-ikra-status-filters a{flex:1 0 auto;padding:8px 5px;gap:4px;font-size:12px}.tvr-ikra-status-filters b{padding:1px 4px}}\r\n@media print{body:has(.tvr-ikra) .crm-sidebar,.tvr-ikra .tvr-bookings-list-header,.tvr-ikra-filters,.tvr-ikra-status-filters,.tvr-ikra-print,.tvr-ikra-actions form{display:none!important}.tvr-ikra,.tvr-ikra-table,.tvr-ikra-totals{background:white!important;color:black!important}.tvr-ikra-table-wrap{overflow:visible}.tvr-ikra-table tr{break-inside:avoid}.tvr-ikra-table th,.tvr-ikra-table td{padding:8px}.tvr-ikra-table td.tvr-ikra-actions{min-width:0}}\r\n\r\n\/* Make the kitchen completion action distinct from the adjacent status badge. *\/\r\n.tvr-ikra button.tvr-ikra-done{min-height:46px;padding:11px 20px;font-size:14px;font-weight:700;border:1px solid #78a1ff;border-bottom:3px solid #123baa;border-radius:10px;background:linear-gradient(#3977ff,#2059e6);box-shadow:0 3px 0 #102e80,0 5px 10px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.2)}\r\n.tvr-ikra button.tvr-ikra-done:hover{background:linear-gradient(#4c85ff,#2864ee)}\r\n.tvr-ikra button.tvr-ikra-done:active{transform:translateY(2px);box-shadow:0 1px 0 #102e80,inset 0 1px 3px rgba(0,0,0,.15)}\r\n\r\n.tvr-ikra-trip-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.tvr-ikra-trip-heading .tvr-ikra-status{font-size:12px;font-weight:500}.tvr-ikra-trip-heading .tvr-ikra-status small{display:inline;margin:0 0 0 6px;color:inherit}\r\n@media(max-width:700px){.tvr-ikra-table td.tvr-ikra-actions{justify-content:flex-end}.tvr-ikra-actions form{margin-left:0}.tvr-ikra-trip-heading .tvr-ikra-status{padding:5px 8px}}\r\n.tvr-ikra-dish-label{display:inline-flex;align-items:center;gap:8px;text-align:left}.tvr-ikra-dish-label>span{min-width:0;overflow-wrap:anywhere}.tvr-ikra-dish-label .tvr-ikra-food-icon{width:24px;height:24px}.tvr-ikra-dish-label .tvr-ikra-veggie .tvr-ikra-food-icon{width:14px;height:14px;color:inherit}.tvr-ikra-dish-cell>.tvr-ikra-dish-label{display:none}\r\n@media(max-width:700px){.tvr-ikra-table td.tvr-ikra-dish-cell:before{display:none}.tvr-ikra-dish-cell>.tvr-ikra-dish-label{display:inline-flex;font-size:13px;font-weight:400}.tvr-ikra-dish-cell>b{flex-shrink:0}}.tvr-ikra-toolbar{display:flex;gap:6px}.tvr-ikra-toolbar button{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px}.tvr-ikra-toolbar svg{width:20px;height:20px}.tvr-ikra-toolbar button:disabled{opacity:.45;cursor:default}.tvr-ikra-share-dialog{width:min(600px,calc(100vw - 32px));max-height:85vh;box-sizing:border-box;padding:16px;border:1px solid var(--line,#303746);border-radius:12px;background:var(--surface,#181d28);color:var(--text,#e9edf5)}.tvr-ikra-share-dialog::backdrop{background:rgba(0,0,0,.65)}.tvr-ikra-share-dialog h3{margin:0 0 12px}.tvr-ikra-share-dialog img{display:block;max-width:100%;height:auto}.tvr-ikra-share-dialog img:not([src]){display:none}.tvr-ikra-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tvr-ikra-share-actions a{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--line,#303746);border-radius:9px;color:inherit;text-decoration:none}.tvr-ikra-share-actions a:not([href]){display:none}.tvr-ikra-share-actions button:disabled{opacity:.45;cursor:default}@media print{.tvr-ikra-toolbar,.tvr-ikra-share-dialog{display:none!important}}\r\n\r\n\/* Kitchen cards retain one independent preparation action per kitchen and trip. *\/\r\n.tvr-ikra-kitchens{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}.tvr-ikra-kitchens .tvr-ikra-table,.tvr-ikra-kitchens tbody,.tvr-ikra-kitchens tr{display:block}.tvr-ikra-kitchens tr{padding:16px}.tvr-ikra-kitchens th:first-child{display:block;min-width:0;padding:0 0 12px;border:0}.tvr-ikra-kitchen-name{margin:0 0 12px;font-size:17px;font-weight:700;overflow-wrap:anywhere}.tvr-ikra-kitchens td[data-label]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border:0;font-size:20px}.tvr-ikra-kitchens td[data-label]:before{content:attr(data-label);font-size:14px;font-weight:400;text-align:left}.tvr-ikra-kitchens td.tvr-ikra-dish-cell:before{display:none}.tvr-ikra-kitchens .tvr-ikra-dish-cell>.tvr-ikra-dish-label{display:inline-flex;font-size:14px;font-weight:400}.tvr-ikra-kitchens .tvr-ikra-dish-cell>b{flex-shrink:0}.tvr-ikra-kitchens td.tvr-ikra-actions{display:flex;justify-content:flex-end;min-width:0;padding:14px 0 2px;border:0}.tvr-ikra-kitchens .tvr-ikra-actions form{margin:0}@media print{.tvr-ikra-kitchens{display:block}.tvr-ikra-kitchens .tvr-ikra-table-wrap{break-inside:avoid;margin-bottom:16px}.tvr-ikra-kitchen-name{color:black}}\r\n\r\n\/* Compact kitchen workflow; status remains separate from the editing action. *\/\r\n.tvr-ikra-kitchens{gap:12px}\r\n.tvr-ikra-kitchens .tvr-ikra-table-wrap{margin:0}\r\n.tvr-ikra-kitchens tr{padding:12px}\r\n.tvr-ikra-kitchen-name{font-size:17px;margin:0 0 8px}\r\n.tvr-ikra-kitchens th:first-child{padding-bottom:6px}\r\n.tvr-ikra-kitchens td[data-label]{padding:5px 0;font-size:18px;min-height:28px}\r\n.tvr-ikra-kitchens .tvr-ikra-dish-cell>.tvr-ikra-dish-label{font-size:16px;gap:7px}\r\n.tvr-ikra-kitchens .tvr-ikra-food-icon{width:20px;height:20px}\r\n.tvr-ikra-kitchens td.tvr-ikra-actions{padding:8px 0 0}\r\n.tvr-ikra-trip-heading>strong{display:none}\r\n.tvr-ikra-trip-heading .tvr-ikra-status{border:0;padding:0;font-size:13px}\r\n.tvr-ikra button.tvr-ikra-edit-status{background:transparent;color:var(--primary,#3977ff);border:1px solid currentColor;border-radius:9px;min-height:44px;font-size:14px;padding:8px 12px;box-shadow:none}\r\n.tvr-ikra-status-dialog{box-sizing:border-box;width:min(440px,100%);max-height:85dvh;overflow:auto;margin:auto;border:1px solid var(--line,#303746);border-radius:16px;padding:20px;background:var(--surface,#181d28);color:var(--text,#e9edf5);text-align:left}\r\n.tvr-ikra-status-dialog::backdrop{background:rgba(0,0,0,.65)}\r\n.tvr-ikra-status-dialog h3{margin:0;font-size:22px}\r\n.tvr-ikra-status-dialog p{font-size:14px;margin:12px 0}\r\n.tvr-ikra-status-dialog label{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px;border:1px solid var(--line,#303746);border-radius:10px;margin:10px 0;font-size:16px;cursor:pointer}\r\n.tvr-ikra-status-dialog label:has(input:checked){border-color:#3977ff;background:rgba(57,119,255,.12)}\r\n.tvr-ikra-status-dialog input[type=radio]{appearance:auto;width:20px;height:20px;accent-color:#3977ff}\r\n.tvr-ikra-status-dialog button{display:block;width:100%;min-height:44px;margin-top:12px}\r\n.tvr-ikra-status-dialog [data-status-close]{background:transparent;color:inherit}\r\n.tvr-ikra button:focus-visible{outline:2px solid #ffac0a;outline-offset:3px}\r\n@media(max-width:700px){.tvr-ikra-status-dialog{inset:auto 0 0;margin:0 auto;border-radius:16px 16px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}.tvr-ikra-heading{margin:10px 0}.tvr-ikra-heading h2{font-size:26px}.tvr-ikra-toolbar button{min-height:44px}.tvr-ikra-filters{margin:0 0 12px}.tvr-ikra-kitchens{grid-template-columns:1fr}}\r\n@media print{.tvr-ikra-status-dialog{display:none!important}.tvr-ikra-trip-heading>strong{display:block}}.tvr-ikra-kitchens td.tvr-ikra-actions{justify-content:space-between;gap:8px;flex-wrap:wrap}.tvr-ikra-actions>.tvr-ikra-status{border:0;padding:0;font-size:13px;white-space:normal}.tvr-ikra-actions>.tvr-ikra-status small{display:inline;margin-left:4px}.tvr-ikra-trip-heading:has(>strong:only-child){height:0;overflow:hidden}@media print{.tvr-ikra-trip-heading:has(>strong:only-child){height:auto;overflow:visible}}\r\n\r\n\/* Busy indicator occupies no flow space; checking never pushes the invoice down. *\/\r\n.tvr-payment-heading{position:relative;padding-right:28px}\r\n.tvr-payment-spinner{position:absolute;right:0;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid #dbe6ff;border-top-color:#236bff;border-radius:50%;animation:tvr-payment-spin .8s linear infinite}\r\n.tvr-payment-spinner[hidden]{display:none}\r\n@keyframes tvr-payment-spin{to{transform:rotate(360deg)}}\r\n@media(prefers-reduced-motion:reduce){.tvr-payment-spinner{animation:none}}\r\n\r\n\/* Completed checkout uses the same step shell and compact typography as the draft. *\/\r\n.tvr-unified-checkout>.tvr-booking-complete{margin:0;max-width:none;border-radius:0}\r\n.tvr-unified-checkout .tvr-checkout-title{margin:0 0 8px;font-size:24px}\r\n.tvr-unified-checkout .tvr-checkout-provider>.tvr-payment-heading{margin:0 0 16px;font-size:16px}\r\n.tvr-unified-checkout .tvr-checkout-left>.tvr-review{margin-top:14px}\r\n.tvr-unified-checkout .tvr-checkout-left>.tvr-promo-compact{margin:20px 0 0;padding:18px 0 0}\r\n.tvr-unified-checkout .tvr-checkout-actions{margin-top:18px}\r\n.tvr-unified-checkout .tvr-checkout-actions button{font:inherit;min-height:44px}\r\n.tvr-booking-complete-progress{margin-bottom:46px}\r\n@media(max-width:800px){.tvr-booking-complete-progress{margin-bottom:42px}.tvr-unified-checkout .tvr-checkout-title{font-size:21px}.tvr-unified-checkout .tvr-checkout-actions{position:sticky;bottom:0;z-index:5;margin:18px -18px -18px;padding:12px 18px;background:rgba(255,255,255,.96);box-shadow:0 -4px 16px rgba(23,32,51,.08)}}\r\n\r\n\/* Keep the border-wait checkbox independent of text-field minimum height. *\/\r\n.tvr-passenger-body input[type=\"checkbox\"][data-tvr-wait-consent]{min-height:0;padding:0;box-sizing:border-box;align-self:flex-start;accent-color:var(--blue)}\r\n[data-tvr-border-wait]>label>span{min-width:0;line-height:24px}\r\n\r\n\/* One payment accordion before and after the reservation is created. *\/\r\n.tvr-checkout-provider>.tvr-payment-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}\r\n.tvr-payment-option{min-width:0;border:1px solid #e2e8f0;border-radius:11px;overflow:hidden;background:#fff}\r\n.tvr-payment-option.is-selected{border-color:#236bff;background:#f4f7ff}\r\n.tvr-payment-option>.tvr-payment-choice{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}\r\n.tvr-payment-option>.tvr-payment-choice:focus-within{outline:0}\r\n.tvr-payment-option:has(>.tvr-payment-choice:focus-visible),.tvr-payment-option:has(>.tvr-payment-choice input:focus-visible){outline:2px solid #236bff;outline-offset:2px}\r\n.tvr-payment-body{padding:0 14px 16px;min-width:0}\r\n.tvr-payment-body[hidden]{display:none!important}\r\n.tvr-payment-body>button,.tvr-payment-body>.tvr-submit{width:100%;margin-top:12px}\r\n.tvr-payment-body>select{max-width:100%;margin:8px 0}\r\n.tvr-cash-handoff{min-width:0;margin:12px 0 0;padding:0;border:0}\r\n.tvr-cash-handoff legend{margin-bottom:8px;font-weight:600}\r\n.tvr-cash-handoff-option{display:flex;align-items:center;gap:10px;min-width:0;margin:6px 0;padding:10px 12px;border:1px solid #dce4f0;border-radius:9px;background:#fff;cursor:pointer}\r\n.tvr-cash-handoff-option:has(input:checked){border-color:#236bff;background:#eef4ff}\r\n.tvr-cash-handoff-option.is-unavailable{color:#7a8598;background:#f6f7fa;cursor:default}\r\n.tvr-cash-handoff-option input{flex:none;margin:0;accent-color:#236bff}\r\n.tvr-payment-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:12px 0;font-size:13px}\r\n.tvr-payment-breakdown dd{margin:0;text-align:right;overflow-wrap:anywhere}\r\n.tvr-payment-breakdown dt:last-of-type,.tvr-payment-breakdown dd:last-of-type{font-weight:700}\r\n.tvr-payment-orders{display:block;margin-top:12px}\r\n.tvr-payment-option:not(.is-selected) .tvr-payment-choice-copy>small{display:none}\r\n.tvr-payment-option .tvr-payment-choice:disabled{cursor:default;opacity:.6}\r\n\r\n.tvr-payment-status{display:flex;align-items:center;gap:10px}.tvr-payment-wait-spinner{width:16px;height:16px;border:2px solid #dbe6ff;border-top-color:#236bff;border-radius:50%;animation:tvr-payment-spin .8s linear infinite;flex:none}.tvr-payment-wait-spinner[hidden]{display:none}@media(prefers-reduced-motion:reduce){.tvr-payment-wait-spinner{animation:none}}\r\n\r\n.tvr-payment-live.is-payment-waiting{color:#64748b}\r\n\r\n\/* Draft list retains the panel theme while sharing the standard CRM header. *\/\r\n.tvr-visabus-cabinet.tvr-drafts-list table.tvr-bookings-table td:nth-child(4){min-width:0}\r\nhtml[data-theme=\"dark\"] .tvr-drafts-list .tvr-bookings-edit,html[data-theme=\"dark\"] .tvr-drafts-list .tvr-bookings-search-clear{color:#8cb6ff}\r\n\r\n\/* Independent staff document uploads retain their own form ownership. *\/\r\n.tvr-admin-booking .tvr-booking-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.tvr-admin-booking .tvr-booking-finance-summary>div{padding:14px;background:var(--surface-2,#f5f7fb);color:var(--text,#17233c);border-radius:10px;min-width:0}.tvr-admin-booking .tvr-booking-finance-summary dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}.tvr-admin-booking .tvr-booking-finance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.tvr-admin-booking .tvr-booking-finance-fields label{display:grid;gap:8px;min-width:0}.tvr-admin-booking .tvr-booking-finance-fields input{box-sizing:border-box;min-width:0;width:100%;min-height:44px}.tvr-admin-booking .tvr-booking-finance .button{min-height:44px;white-space:normal}.tvr-admin-booking .tvr-booking-finance details{margin-top:20px;overflow-wrap:anywhere}.tvr-admin-booking .tvr-booking-finance li{margin:10px 0}.tvr-admin-booking [data-finance-reload][hidden]{display:none!important}@media(max-width:700px){.tvr-admin-booking .tvr-booking-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-admin-booking .tvr-booking-finance-fields{grid-template-columns:minmax(0,1fr)}.tvr-admin-booking .tvr-booking-finance .button{width:100%;margin:6px 0}}\r\n.tvr-admin-booking .tvr-document-upload{display:grid;gap:10px;min-width:0;margin-top:12px}.tvr-admin-booking .tvr-document-upload label{display:grid;gap:6px;min-width:0}.tvr-admin-booking .tvr-document-upload input{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.tvr-admin-booking .tvr-document-upload .button{justify-self:start;min-height:44px}.tvr-admin-booking .tvr-additional-documents{margin-top:20px;min-width:0}.tvr-admin-booking .tvr-additional-document{display:grid;gap:8px;min-width:0;padding:14px 0;border-bottom:1px solid #e4e9f2}.tvr-admin-booking .tvr-additional-document>span,.tvr-admin-booking .tvr-additional-document>strong,.tvr-admin-booking .tvr-admin-visa-documents span{overflow-wrap:anywhere}.tvr-admin-booking .tvr-additional-document>.button{justify-self:start}.tvr-admin-booking .tvr-admin-passenger-visa>small{display:block;margin-top:8px}@media(max-width:700px){.tvr-admin-booking .tvr-admin-visa-documents{grid-template-columns:minmax(0,1fr)}.tvr-admin-booking .tvr-document-upload .button{width:100%;justify-self:stretch}}\r\n\/* One persistent action area for all CRM booking tabs. *\/\r\n.tvr-admin-booking .tvr-booking-savebar{position:fixed;bottom:0;z-index:90;box-sizing:border-box;display:flex;align-items:center;gap:16px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border:1px solid var(--line,#dce4ef);border-bottom:0;border-radius:16px 16px 0 0;background:var(--surface,#fff);color:var(--text,#17233c);box-shadow:0 -6px 24px rgba(0,0,0,.12)}\r\n.tvr-admin-booking .tvr-booking-savebar p{flex:1;margin:0;min-width:0;font-size:14px;line-height:1.4}\r\n.tvr-admin-booking .tvr-booking-savebar .button{flex:0 0 auto;min-height:48px;white-space:normal}\r\n.tvr-admin-booking .tvr-booking-savebar [disabled]{opacity:.55;cursor:default}\r\n.tvr-admin-booking [data-finance-recovery] table{width:100%;border-collapse:collapse;margin:12px 0;background:var(--surface-2,#f5f7fb);color:var(--text,#17233c)}\r\n.tvr-admin-booking [data-finance-recovery] th,.tvr-admin-booking [data-finance-recovery] td{padding:8px;text-align:left;overflow-wrap:anywhere}\r\n.tvr-admin-booking [data-finance-recovery] .button{margin:4px 8px 4px 0;white-space:normal}\r\n.tvr-admin-booking .tvr-finance-extra{grid-column:1\/-1}\r\n.tvr-admin-booking .tvr-finance-extra label{max-width:360px;margin-top:12px}\r\n.tvr-admin-booking .tvr-recorded-payments{margin:16px 0;overflow-wrap:anywhere}\r\n@media(max-width:680px){.tvr-admin-booking .tvr-booking-savebar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.tvr-admin-booking .tvr-booking-savebar p{grid-row:1;grid-column:1\/-1}.tvr-admin-booking .tvr-booking-savebar [data-booking-save]{width:100%;font-size:16px}.tvr-admin-booking .tvr-booking-finance-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n.tvr-admin-booking .tvr-booking-savebar [data-booking-save]{display:inline-flex;justify-content:center;align-items:center;padding:12px 22px;border:1px solid var(--blue,#236bff);border-radius:999px;background:var(--blue,#236bff);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}\r\n.tvr-admin-booking .tvr-booking-savebar .tvr-admin-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--line,#dce4ef);border-radius:999px;background:transparent;color:var(--text,#17233c);text-decoration:none}\r\n.tvr-admin-booking .tvr-booking-finance-fields{grid-template-columns:repeat(2,minmax(0,1fr))}\r\n.tvr-payment-crm{display:grid;min-width:112px;gap:3px;line-height:1.2}\r\n.tvr-payment-crm>strong{font-size:13px}\r\n.tvr-payment-crm>span{font-size:11px;color:#667085}\r\n.tvr-payment-crm.is-paid>strong{color:#16803c}\r\n.tvr-payment-crm.is-partial>strong{color:#b25b00}\r\n.tvr-payment-crm.is-unpaid>strong{color:#667085}\r\n\r\n\/* Booking source uses the same compact pill shape as the trip leader badge. *\/\r\n.tvr-bookings-table .tvr-agent-booking-badge{display:inline-flex;align-items:center;margin:4px 0 0 6px;padding:3px 7px;border:1px solid #b6a6eb;border-radius:999px;background:#eee8ff;color:#4c288c;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;vertical-align:middle}\r\nhtml[data-theme=\"dark\"] .tvr-bookings-table .tvr-agent-booking-badge{background:#3d2864;color:#f0e8ff;border-color:#9d81cc}\r\n\r\n\/* Keep the single field-level validation message visible in iOS Telegram WebView. *\/\r\n.tvr-step [data-step-field-error]{color:#b4233c;font-size:14px;margin:6px 0;line-height:1.4}\r\n.tvr-step [aria-invalid=true]{outline:2px solid #c7364f;outline-offset:2px}\r\n.tvr-submit:disabled:hover{background:var(--blue)!important;color:#fff!important;cursor:wait}\r\n.tvr-staff-draft{max-width:1180px;margin:auto;color:var(--text,#17233c)}\r\n.tvr-staff-draft fieldset{border:0;padding:0;min-width:0}\r\n.tvr-staff-draft .tvr-admin-card{margin:18px 0;padding:24px;background:var(--surface,#fff);border:1px solid var(--border,#e1e7f0);border-radius:18px}\r\n.tvr-staff-draft .tvr-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}\r\n.tvr-staff-draft label{display:grid;gap:6px;min-width:0}\r\n.tvr-staff-draft input,.tvr-staff-draft select{box-sizing:border-box;max-width:100%;min-width:0;width:100%;padding:10px;border:1px solid var(--border,#dce3ef);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}\r\n.tvr-staff-draft .tvr-staff-check{display:flex;align-items:center;gap:10px;margin:12px 0}\r\n.tvr-staff-draft .tvr-staff-check input{width:20px;flex:0 0 20px}\r\n.tvr-staff-draft .tvr-admin-footer-actions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}\r\n.tvr-staff-draft button{cursor:pointer;padding:12px 18px;border:1px solid #236bff;border-radius:10px;background:var(--surface,#fff);color:#236bff;font:inherit}\r\n.tvr-staff-draft [data-staff-reserve]{background:#236bff;color:#fff}\r\n.tvr-staff-draft button:disabled{opacity:.5;cursor:not-allowed}\r\n.tvr-staff-draft [data-staff-total]{font-size:24px;font-weight:700}\r\n.tvr-staff-draft [data-staff-message]{white-space:pre-wrap}\r\n.tvr-staff-draft [data-document-link]{overflow-wrap:anywhere}\r\n@media(max-width:720px){.tvr-staff-draft .tvr-admin-grid{grid-template-columns:1fr}.tvr-staff-draft .tvr-admin-card{padding:16px}.tvr-staff-draft .tvr-admin-footer-actions button{width:100%}}\r\n.tvr-seat.has-seat-category:not(.is-selected):not(.is-taken):not(.is-assigned-other){border-color:color-mix(in srgb,var(--tvr-zone-color) 76%,#172033);background:color-mix(in srgb,var(--tvr-zone-color) 38%,#fff);color:#172033}\r\n.tvr-seat.is-taken,.tvr-seat.has-seat-category.is-taken,.tvr-sleeper-seat.is-taken,.tvr-seat.is-assigned-other{border-color:#d9dfe8;background:#edf0f4;color:#98a2b3;box-shadow:none;cursor:not-allowed;opacity:.72}\r\n.tvr-seat.is-taken:hover,.tvr-seat.is-assigned-other:hover{border-color:#d9dfe8;background:#edf0f4;box-shadow:none;transform:none}\r\n.tvr-seat-legend .is-category i{border-color:color-mix(in srgb,var(--tvr-zone-color) 76%,#172033);background:var(--tvr-zone-color)}\r\n\r\n\/* Review shares the wizard shell and its centered navigation. *\/\r\n.tvr-compact-review{min-width:0;overflow-wrap:anywhere}\r\n.tvr-contact-trip-details.tvr-compact-review{padding:16px;background:#fff;border:1px solid #e4e7ec;border-radius:14px}\r\n.tvr-compact-review>summary{font-size:16px;font-weight:600;cursor:pointer}\r\n.tvr-review-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:14px;margin-top:12px;align-items:start}\r\n.tvr-review-trip-column{display:grid;gap:10px;min-width:0}\r\n.tvr-compact-review .tvr-review-section{min-width:0;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;margin:0}\r\n.tvr-compact-review .tvr-review-section h4{font-size:15px;margin:0 0 8px}\r\n.tvr-compact-review .tvr-review-title{font-size:14px;margin:0 0 8px}\r\n.tvr-compact-review .tvr-review-facts{grid-template-columns:minmax(70px,.7fr) minmax(0,1.5fr);gap:6px 10px;font-size:13px}\r\n.tvr-compact-review .tvr-review-facts dd{margin:0;font-weight:500;min-width:0}\r\n.tvr-compact-review .tvr-review-trip-more>summary{padding:8px 0;font-size:13px;color:#2466ff;cursor:pointer}\r\n.tvr-compact-review .tvr-review-customer{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}\r\n.tvr-compact-review .tvr-review-customer h4,.tvr-compact-review .tvr-review-customer p{margin:0}\r\n.tvr-compact-review .tvr-review-list{list-style:none;display:grid;gap:0!important;padding:0;margin:0}\r\n.tvr-compact-review .tvr-review-list>li{min-width:0;margin:0;padding:0}\r\n.tvr-compact-review .tvr-review-passengers .tvr-review-list>li+li{border-top:1px solid #edf0f4}\r\n.tvr-compact-review .tvr-review-passenger-button{display:grid;grid-template-columns:26px minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:54px;width:100%;border:0;border-radius:6px;background:transparent;color:#172033;padding:8px 0;text-align:left;box-shadow:none;font:inherit;cursor:pointer}\r\n.tvr-review-passenger-button>span{min-width:0}\r\n.tvr-review-passenger-button strong,.tvr-review-passenger-button small{display:block;overflow-wrap:anywhere;line-height:1.4}\r\n.tvr-review-passenger-button strong{font-size:14px;color:#172033}\r\n.tvr-review-passenger-button small{font-size:12px;color:#667085}\r\n.tvr-review-passenger-number{display:grid;place-items:center;background:#f3f6fb;border-radius:50%;width:26px;height:26px;font-size:12px}\r\n.tvr-compact-review .tvr-review-passenger-button:hover{background:#f3f6fb}\r\n.tvr-review-passenger-button:focus-visible,.tvr-review-passenger-dialog button:focus-visible{outline:2px solid #2466ff;outline-offset:2px}\r\n.tvr-review-passenger-details[hidden]{display:none!important}\r\n.tvr-compact-review>.tvr-review-cost-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #e4e7ec}\r\n.tvr-compact-review .tvr-review-cost-group{margin:0;padding:0;border:0}\r\n.tvr-compact-review .tvr-review-cost-group h5{margin:0 0 6px;font-size:13px}\r\n.tvr-compact-review .tvr-review-costs{gap:4px 8px;font-size:13px}\r\nbody.tvr-review-dialog-open{overflow:hidden}\r\n.tvr-review-passenger-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 48px);overflow:auto;margin:24px auto auto;padding:20px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;color:#172033;box-shadow:0 16px 60px #10182833}\r\n.tvr-review-passenger-dialog::backdrop{background:#10182888}\r\n.tvr-review-passenger-dialog h3{font-size:18px;margin:0 0 16px;overflow-wrap:anywhere}\r\n.tvr-review-passenger-dialog .tvr-review-passenger-details{display:block;font-size:14px;line-height:1.7;overflow-wrap:anywhere}\r\n.tvr-review-dialog-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}\r\n.tvr-review-dialog-actions button{min-height:44px;padding:10px 18px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#2466ff;cursor:pointer;font:inherit}\r\n.tvr-review-dialog-actions .tvr-primary{background:#2466ff;color:#fff;border-color:#2466ff}\r\n.tvr-review-edit-notice{padding:12px;background:#fff8e6;border:1px solid #f7d68b;border-radius:8px;font-size:14px}\r\n@media(max-width:800px){.tvr-contact-trip-details.tvr-compact-review{padding:12px;margin-bottom:12px}.tvr-review-columns{grid-template-columns:minmax(0,1fr);gap:10px}.tvr-compact-review .tvr-review-section{padding:10px}.tvr-compact-review>.tvr-review-cost-groups{grid-template-columns:minmax(0,1fr);gap:8px}.tvr-compact-review .tvr-review-cost-group{padding-top:8px;border-top:1px solid #edf0f4}.tvr-compact-review .tvr-review-cost-group:first-child{padding-top:0;border:0}.tvr-review-passenger-dialog{padding:16px;max-height:calc(100dvh - 32px);margin-top:16px}}\r\n.tvr-review-passenger-dialog h3{padding-right:30px}\r\n.tvr-review-passenger-dialog .tvr-review-dialog-close{position:absolute;right:12px;top:10px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#344054;font-size:26px;cursor:pointer}\r\n.tvr-review-passenger-dialog .tvr-review-passenger-details p{margin:0;padding:8px 0;border-bottom:1px solid #edf0f4}\r\n@media(max-width:800px){.tvr-compact-review>.tvr-review-cost-groups>.tvr-review-cost-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.tvr-compact-review .tvr-review-cost-group h5{margin:0}}\r\n\/* Compact embedded account tickets; standalone tickets retain their layout. *\/\r\n.tvr-tickets--embedded .tvr-ticket-body{padding:0;font-size:14px;line-height:1.5}\r\n.tvr-tickets--embedded .tvr-ticket-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;background:transparent;border:0;padding:14px 0}\r\n.tvr-tickets--embedded .tvr-ticket-facts>div{display:flex;flex-direction:column;gap:3px;padding:0;background:transparent;min-width:0;overflow-wrap:anywhere}\r\n.tvr-tickets--embedded .tvr-ticket-facts strong{font-size:14px;font-weight:600;line-height:1.5}\r\n.tvr-tickets--embedded .tvr-ticket-facts span{font-size:12px}\r\n.tvr-tickets--embedded .tvr-ticket-details{display:flex;flex-direction:column;gap:0;padding:0}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list{order:-1}\r\n.tvr-tickets--embedded :is(.tvr-ticket-passenger-list,.tvr-ticket-contacts){border:0;border-top:1px solid #e7edf5;border-radius:0;background:transparent}\r\n.tvr-tickets--embedded :is(.tvr-ticket-passenger-list,.tvr-ticket-contacts)>summary{padding:12px 0;min-height:44px;font-size:14px;font-weight:600;color:#344861;cursor:pointer}\r\n.tvr-tickets--embedded .tvr-ticket-contacts>p{padding:0 0 12px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list>ul{display:grid;gap:0;margin:0;padding:0;list-style:none}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:3px 12px;padding:10px 0;border-top:1px solid #f0f3f7;overflow-wrap:anywhere}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li>strong{font-size:14px;line-height:1.5}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li>span{font-size:13px;color:#5e6e83;line-height:1.5}\r\n.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li>:is(small,details){grid-column:2}\r\n.tvr-tickets--embedded .tvr-ticket-qr-disclosure>summary{padding:4px 0;min-height:32px;font-size:12px;color:#2555ad;cursor:pointer}\r\n.tvr-tickets--embedded .tvr-ticket-support{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}\r\n.tvr-tickets--embedded .tvr-ticket-support .tvr-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #e2ebfc;border-radius:10px;background:#edf3ff;color:#2555ad;box-shadow:none;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}\r\n.tvr-tickets--embedded .tvr-ticket-support .tvr-button:hover{background:#dfeaff}\r\n.tvr-tickets--embedded .tvr-ticket-actions{display:flex;flex-direction:column;align-items:stretch;padding:0;margin:0 0 12px;gap:8px}\r\n.tvr-ticket-actions>form[data-tvr-ticket-cancel]{display:none}\r\n.tvr-tickets--embedded .tvr-ticket-actions>details{margin:0;min-height:0;scroll-margin-top:110px}\r\n.tvr-tickets--embedded .tvr-ticket-support a.tvr-button{color:#2555ad!important;opacity:1}\r\n.tvr-tickets--embedded .tvr-ticket-actions>details>summary{padding:10px 12px;font-size:14px;font-weight:600}\r\n.tvr-tickets--embedded .tvr-ticket-actions>.tvr-ticket-cancel{border:0!important;background:transparent!important}\r\n.tvr-tickets--embedded .tvr-ticket-cancel>summary{color:#b42332;padding-left:0!important}\r\n.tvr-tickets--embedded .tvr-ticket-body>form[data-tvr-ticket-cancel]>button{min-height:40px;padding:8px 0;border:0;border-radius:0;background:transparent;color:#b42332;box-shadow:none;font-size:13px;font-weight:500;text-decoration:none}\r\n.tvr-tickets--embedded :is(a,button,summary):focus-visible{outline:2px solid #2864ef;outline-offset:3px}\r\n@media(max-width:600px){.tvr-tickets--embedded .tvr-ticket-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 0}.tvr-tickets--embedded .tvr-ticket-passenger-list>ul>li>:is(small,details){grid-column:1}.tvr-tickets--embedded .tvr-ticket-support{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-tickets--embedded .tvr-ticket-support .tvr-button{padding:8px 10px}}\r\n\r\n.tvr-admin-booking [data-finance-recipient]{margin-top:12px;min-width:0}.tvr-admin-booking [data-recipient-select]{box-sizing:border-box;width:100%;min-width:0;min-height:44px}.tvr-admin-booking [data-recipient-new]{margin-top:8px}.tvr-admin-booking [data-recipient-new][hidden]{display:none!important}\r\n.tvr-manifest-editor-fields>[data-tvr-manifest-method]{min-width:0}.tvr-manifest-editor-fields [data-finance-recipient]{margin-top:10px;min-width:0}.tvr-manifest-editor-fields [data-recipient-new]{margin-top:8px}.tvr-manifest-editor-fields [data-recipient-new][hidden]{display:none!important}\r\n\r\n.tvr-admin-booking .tvr-transfer-receipt{display:grid;gap:8px;margin:16px 0}.tvr-admin-booking .tvr-transfer-receipt label{display:grid;gap:8px}.tvr-admin-booking .tvr-transfer-receipt input{max-width:100%}.tvr-admin-booking [data-receipt-link][hidden]{display:none!important}\r\n\r\n.tvr-manifest-amount{position:relative}.tvr-manifest-amount.has-fill-all input{padding-right:84px}.tvr-manifest-fill-all{position:absolute;right:8px;bottom:8px;min-height:28px;padding:4px 10px;border:1px solid var(--line,#d8e0ee);border-radius:7px;background:var(--surface,#fff);color:var(--primary,#2563eb);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.tvr-manifest-fill-all:focus-visible{outline:2px solid currentColor;outline-offset:2px}\r\n\r\n.tvr-manifest-sender{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 14px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa)}.tvr-manifest-sender>span{font-weight:800}.tvr-manifest-sender select,.tvr-manifest-sender input{min-width:150px;max-width:240px;min-height:36px;padding:7px 9px;border:1px solid var(--line,#d8e0ee);border-radius:8px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit}.tvr-manifest-sender input[hidden]{display:none}.tvr-manifest-sender button{min-height:36px;padding:6px 12px;border:0;border-radius:8px;background:var(--blue,#236bff);color:#fff;font:inherit;font-weight:800;cursor:pointer}.tvr-manifest-sender button:disabled{opacity:.6;cursor:wait}.tvr-manifest-sender small[data-state=error],.tvr-manifest-finance-actions small[data-state=error]{color:#c33232}.tvr-manifest-sender small[data-state=saved],.tvr-manifest-finance-actions small[data-state=saved]{color:#1f7a42}.tvr-manifest-finance-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.tvr-manifest-finance-actions .tvr-button{min-height:40px;padding:8px 14px}.tvr-manifest-finance-actions small[data-state=unsaved]{color:#946200;font-weight:700}@media(max-width:700px){.tvr-manifest-sender{align-items:stretch}.tvr-manifest-sender>span{flex-basis:100%}.tvr-manifest-sender select,.tvr-manifest-sender input{flex:1 1 150px;max-width:none}.tvr-manifest-finance-actions .tvr-button{flex:1 1 auto}}\r\n\r\n.tvr-manifest-trip-heading{flex-wrap:wrap}.tvr-manifest-trip-heading>.tvr-manifest-sender{flex:1 1 100%;margin-bottom:0}\r\n\r\n\/* Public transport tabs sit above the result card, alongside its outer edges. *\/\r\n.tvr-transport-tabs{display:flex;align-items:center;gap:8px;grid-column:1;grid-row:1;margin:0 0 14px;min-width:0}\r\n\/* Keep transport choices available throughout the home catalogue. *\/\r\n.tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{position:sticky;top:0;z-index:40;align-self:start;padding:8px 0;background:var(--tph-bg,#f5f7fb)}\r\nbody.admin-bar .tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{top:32px}\r\n@media(max-width:999px){.tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{background:#fff}}\r\n@media(min-width:601px) and (max-width:782px){body.admin-bar .tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{top:46px}}\r\n@media(max-width:600px){body.admin-bar .tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{top:0}}\r\n.tvr-transport-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:40px;padding:7px 14px;border:1px solid #d8e0ee;border-radius:999px;background:#fff;color:#17233c;font:inherit;font-weight:700;line-height:1.3;cursor:pointer}\r\n.tvr-transport-tabs button svg{display:block;flex:none;width:20px;height:20px}\r\n.tvr-transport-tabs button[aria-pressed=\"true\"]{border-color:var(--orange,#ffac0a);background:var(--orange,#ffac0a);color:#17233c}\r\n.tvr-transport-tabs button:focus-visible{outline:2px solid #236bff;outline-offset:2px}\r\n.tvr-catalog-error{grid-column:1;color:#c62828}\r\n@media(min-width:1000px){\r\n\/* Keep the tab row compact when the sidebar spans both rows. *\/\r\n.tvr-home-embed .tvr-app--transport-catalog{grid-template-rows:max-content minmax(0,1fr);row-gap:14px}\r\n.tvr-home-embed .tvr-app--transport-catalog>.tvr-transport-tabs{margin:0}\r\n.tvr-home-embed .tvr-app--transport-catalog>.tvr-results-layout{grid-row:2}\r\n.tvr-home-embed .tvr-app--transport-catalog>.tvr-result-filter--standalone{grid-row:1\/3}\r\n}\r\n@media(max-width:999px){.tvr-home-embed .tvr-transport-tabs{margin:16px 0 0}}\r\n@media(max-width:420px){.tvr-transport-tabs{gap:6px}.tvr-transport-tabs button{padding:9px 10px;font-size:14px}}\r\n\r\n.tripand-document-field{min-width:0}.tripand-document-requirements{margin-top:12px;color:#475467;font-size:14px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.tripand-document-requirements strong{font-weight:600}.tripand-document-requirements ul{margin:6px 0 0;padding-left:20px;list-style:disc}.tripand-document-requirements li{margin:4px 0}\r\n\r\n\/* Food handoff: quantities remain separate from the current seat allocation. *\/\r\n.tvr-ikra-kitchens td.tvr-ikra-dish-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}\r\n.tvr-ikra-seats{grid-column:1\/-1;display:block;padding:7px 10px;border-radius:6px;background:#eef5ff;color:#334866;font-size:14px;line-height:1.5;text-align:left;overflow-wrap:anywhere}\r\n[data-theme=\"dark\"] .tvr-ikra-seats{background:rgba(80,145,255,.12);color:#c2d7f5}\r\n@media print{.tvr-ikra-seats{background:#eef5ff!important;color:#172033!important}}\r\n\r\n\/* The seat belongs to the named customer, independently of passenger totals. *\/\r\n.tvr-manifest-table>thead th.tvr-manifest-seat-heading{width:96px;white-space:normal}\r\n.tvr-manifest .tvr-manifest-booking-row>td.tvr-manifest-customer-seat{padding:10px 12px!important;font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\r\n@media(max-width:400px){.tvr-manifest-table>thead th.tvr-manifest-seat-heading{width:70px}.tvr-manifest .tvr-manifest-booking-row>td.tvr-manifest-customer-seat{padding:10px 8px!important;font-size:16px}}\r\n.tvr-boarding-sepay{display:grid;justify-items:center;gap:10px;margin:20px 0;padding:20px;border:1px solid var(--line,#ddd);border-radius:14px;text-align:center}\r\n.tvr-boarding-sepay h2,.tvr-boarding-sepay p{margin:0}\r\n.tvr-boarding-sepay img{width:240px;max-width:100%;height:auto;background:#fff;border-radius:8px}\r\n.tvr-boarding-sepay [hidden]{display:none!important}\r\n.tvr-boarding-payment-choice{margin:16px 0 12px}\r\n.tvr-boarding-payment-choice h2{margin:0 0 8px;font-size:15px}\r\n.tvr-boarding-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\r\n.tvr-boarding-payment-methods button{min-height:48px;padding:10px 8px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa);color:var(--text,#17233c);font:inherit;font-weight:700;cursor:pointer}\r\n.tvr-boarding-payment-methods button[aria-pressed=true]{border-color:var(--blue,#236bff);background:var(--surface,#fff);color:var(--blue,#236bff);box-shadow:inset 0 0 0 1px var(--blue,#236bff)}\r\n.tvr-boarding-payment-fields{margin:12px 0;max-width:540px}\r\n.tvr-boarding-payment-fields label{display:grid;gap:6px;font-size:13px;font-weight:600}\r\n.tvr-boarding-payment-fields [hidden]{display:none!important}\r\n.tvr-boarding-payment-fields input,.tvr-boarding-payment-fields select,.tvr-boarding-comment textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit;font-size:16px}\r\n.tvr-boarding-payment-extra{margin-top:10px;border-top:1px solid var(--line,#d8e0ee)}\r\n.tvr-boarding-payment-extra>summary{min-height:44px;padding:12px 0;color:var(--muted,#67748a);font-size:13px;cursor:pointer}\r\n.tvr-boarding-payment-extra[open]>[data-tvr-manifest-method]{margin:4px 0 12px}\r\n.tvr-boarding-comment{margin:14px 0}\r\n.tvr-manifest-editor [data-tvr-payment-panel][hidden],.tvr-manifest-editor [data-tvr-payment-save][hidden]{display:none!important}\r\n.tvr-manifest-editor .tvr-boarding-sepay{margin:12px 0;padding:14px;gap:8px}\r\n.tvr-manifest-editor .tvr-boarding-sepay h2{font-size:15px}\r\n.tvr-manifest-editor .tvr-boarding-sepay img{width:190px}\r\n.tvr-manifest-editor .tvr-boarding-sepay p{font-size:12px;line-height:1.4}\r\n@media(max-width:700px){.tvr-manifest-editor-card>header{gap:10px}.tvr-manifest-editor-card>header h1{font-size:20px}.tvr-boarding-payment-fields{max-width:none}.tvr-manifest-editor [data-tvr-payment-save]{display:grid;gap:6px}.tvr-manifest-editor [data-tvr-payment-save]>.tvr-button{width:100%;min-height:44px}.tvr-manifest-editor .tvr-boarding-sepay img{width:178px}}\r\n\r\n.tvr-boarding-receipt{display:grid;gap:10px;margin:12px 0}\r\n.tvr-boarding-receipt[hidden],.tvr-boarding-receipt [hidden]{display:none!important}\r\n.tvr-boarding-receipt video,.tvr-boarding-receipt canvas{display:block;width:100%;max-height:55vh;object-fit:contain;background:#111;border-radius:12px}\r\n.tvr-receipt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}\r\n.tvr-receipt-actions .tvr-button{flex:1;min-height:44px}\r\n.tvr-boarding-receipt>button{width:100%;min-height:48px}\r\n.tvr-boarding-receipt small{overflow-wrap:anywhere}\r\n.tvr-boarding-saved-receipts{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid var(--line,#dce4ef);border-radius:12px}\r\n.tvr-boarding-saved-receipts[hidden],.tvr-boarding-saved-receipts [hidden]{display:none!important}\r\n.tvr-boarding-saved-receipts h3{margin:0;font-size:1rem}\r\n.tvr-boarding-saved-receipts a{display:grid;gap:8px;min-height:44px;align-items:center;overflow-wrap:anywhere}\r\n.tvr-boarding-saved-receipts img{display:block;width:100%;max-width:320px;max-height:220px;object-fit:contain;border-radius:8px;background:#fff}\r\n.tvr-boarding-saved-receipts [data-receipt-filename]{overflow-wrap:anywhere;color:var(--muted,#52627a)}\r\n\r\n.tvr-options-calendar-filter{display:grid;gap:8px;margin:4px 0 0;padding:10px;border-top:1px solid var(--line,#d8e0ee)}.tvr-options-calendar-filter label{display:grid;gap:6px;color:var(--text,#17233c);font-size:13px;font-weight:700}.tvr-options-calendar-filter input[type=date]{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:7px;border:1px solid var(--line,#d8e0ee);border-radius:8px;background:var(--surface,#fff);color:var(--text,#17233c)}.tvr-options-calendar-filter button{min-height:40px;padding:7px 12px;border:0;border-radius:8px;background:var(--blue,#236bff);color:#fff;font-weight:700;cursor:pointer}\r\n\r\n\/* Boarding alternative: the real vehicle layout and booking payment state. *\/\r\n.tvr-manifest-layout-switch{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:26px;text-decoration:none}\r\n.tvr-manifest-layout-switch svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}\r\n.tvr-manifest-layout-switch:hover,.tvr-manifest-layout-switch:focus-visible{color:var(--blue);outline:2px solid var(--blue);outline-offset:2px}\r\n.tvr-manifest-bus-wrap{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface)}\r\n.tvr-manifest-bus-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:12px;font-weight:750}\r\n.tvr-manifest-bus-legend>span{display:flex;align-items:center;gap:6px}\r\n.tvr-manifest-bus-legend>span:before{content:'';width:10px;height:10px;border-radius:3px;background:#cbd5e1}\r\n.tvr-manifest-bus-legend>.is-expected:before{background:#ef4444}.tvr-manifest-bus-legend>.is-departed:before{background:#22c55e}\r\n.tvr-manifest-bus-floors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;margin:0 auto}\r\n.tvr-manifest-bus-floor{min-width:0;border:2px solid var(--line);border-radius:40px 40px 20px 20px;padding:16px 12px 20px;background:var(--surface-2)}\r\n.tvr-manifest-bus-floor h4{text-align:center;margin:0 0 16px;font-size:16px}\r\n.tvr-manifest-bus-grid{display:grid;gap:8px;align-items:stretch}\r\n.tvr-manifest-bus-occupants{display:grid;min-width:0;gap:4px}\r\n.tvr-manifest-bus-seat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:84px;padding:8px 4px;border:1px solid transparent;border-radius:14px;text-align:center;text-decoration:none;font-size:12px;line-height:1.25;overflow-wrap:anywhere;box-shadow:inset 0 -4px 0 #0000000a}\r\n.tvr-manifest-bus-seat strong{font-size:18px}.tvr-manifest-bus-seat small{font-size:10px;font-weight:700}\r\n.tvr-manifest-bus-seat.is-departed{background:#dcfce7;border-color:#22c55e;color:#14532d}\r\n.tvr-manifest-bus-seat.is-expected{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}\r\n.tvr-manifest-bus-legend>.is-no-show:before{background:#94a3b8}\r\n.tvr-manifest-bus-seat.is-no-show{background:#f1f5f9;border-color:#94a3b8;color:#475569}\r\n.tvr-manifest-bus-seat [hidden]{display:none}\r\n.tvr-seat-payment{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:3px 6px;border:1px solid currentColor;border-radius:6px;background:#fff;font-weight:750;line-height:1.2}\r\n.tvr-seat-payment.is-paid{color:#166534}.tvr-seat-payment.is-unpaid{color:#991b1b}\r\n.tvr-seat-payment.is-paid:before{content:'\u2713'}.tvr-seat-payment.is-unpaid:before{content:'!';font-weight:900}\r\n.tvr-manifest [data-tvr-list-payment]{max-width:100%;font-size:11px;white-space:normal;text-align:left}\r\n.tvr-seat-payment.is-partial{color:#92400e}.tvr-seat-payment.is-partial:before{content:'\u25d0'}\r\nhtml[data-theme=\"dark\"] .tvr-manifest [data-tvr-list-payment]{background:var(--surface)}\r\nhtml[data-theme=\"dark\"] .tvr-manifest [data-tvr-list-payment].is-paid{color:#86efac}\r\nhtml[data-theme=\"dark\"] .tvr-manifest [data-tvr-list-payment].is-partial{color:#fcd34d}\r\nhtml[data-theme=\"dark\"] .tvr-manifest [data-tvr-list-payment].is-unpaid{color:#fca5a5}\r\n.tvr-manifest-bus-legend.is-payment>span:before{width:auto;height:auto;background:none;border-radius:0}\r\n.tvr-manifest-bus-legend>strong{align-self:center}\r\n.tvr-manifest-bus-seat.is-free{background:#e5e7eb;border-color:#d1d5db;color:#9ca3af;box-shadow:none}\r\na.tvr-manifest-bus-seat:hover,a.tvr-manifest-bus-seat:focus-visible{outline:3px solid var(--blue);outline-offset:2px}\r\n.tvr-manifest-bus-unassigned{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tvr-manifest-bus-unassigned h4{flex-basis:100%;margin:0}.tvr-manifest-bus-unassigned .tvr-manifest-bus-seat{width:140px}\r\n@media(max-width:700px){.tvr-manifest-bus-floors{grid-template-columns:minmax(0,1fr);max-width:450px;gap:16px}.tvr-manifest-bus-wrap{padding:10px}.tvr-manifest-bus-seat{min-height:78px}}\r\n\r\n.tvr-shared-boarding-page{margin:0;padding:16px;background:var(--surface,#f5f7fb)}.tvr-shared-boarding-page main{max-width:1280px;margin:auto}.tvr-shared-boarding-page .tvr-manifest-trip-toolbar,.tvr-shared-boarding-page .tvr-manifest-date-toolbar,.tvr-shared-boarding-page .tvr-manifest-scanner-toolbar,.tvr-shared-boarding-page:not(.tvr-boarding-panel) [data-crm-table-mode],.tvr-shared-boarding-page:not(.tvr-boarding-panel) [data-crm-compact-toggle]{display:none!important}.tvr-shared-boarding-controls{margin:8px 0}.tvr-shared-boarding-controls button{margin:4px;padding:8px;border:1px solid var(--line);border-radius:8px;cursor:pointer}\r\n\r\n\/* Fast Boarding QR, list and bus tabs, including the compact toolbar clone. *\/\r\n.tvr-app .tvr-manifest-tabs,.crm-table-mode-toolbar .tvr-manifest-tabs{display:flex;flex:1 0 auto;width:auto;height:auto;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}\r\n.tvr-manifest-tabs button{flex:1;white-space:nowrap;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}\r\n.tvr-manifest-tabs button[aria-selected=\"true\"]{background:var(--blue);color:#fff}.tvr-manifest-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}\r\n.tvr-manifest [data-tvr-manifest-pane][hidden],.tvr-manifest [data-tvr-manifest-dashboard][hidden]{display:none!important}\r\n.tvr-boarding-tab-scanner{width:100%;min-width:0;max-width:640px;box-sizing:border-box;margin:12px auto;padding:0}\r\n.tvr-boarding-camera-frame{width:100%;min-width:0;max-width:100%;box-sizing:border-box;position:relative;isolation:isolate;aspect-ratio:4\/3;min-height:290px;max-height:65vh;overflow:hidden;border:1px solid #cdded7;border-radius:16px;background:#eaf8f2;box-shadow:none}\r\n.tvr-boarding-tab-scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\r\n.tvr-boarding-camera-guide{position:absolute;inset:20px;z-index:2;pointer-events:none}\r\n.tvr-boarding-camera-guide i{position:absolute;width:26px;height:26px;border:2px solid #243438}\r\n.tvr-boarding-camera-guide i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0;border-radius:8px 0 0 0}.tvr-boarding-camera-guide i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.tvr-boarding-camera-guide i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 8px}.tvr-boarding-camera-guide i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 8px 0}\r\n.tvr-boarding-camera-placeholder{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:38px;text-align:center;color:#1d2b30}\r\n.tvr-boarding-camera-icon{width:44px;height:44px;flex-shrink:0;color:#243438}.tvr-boarding-camera-instruction{max-width:300px;margin:0;font-size:17px;font-weight:600;line-height:1.4}\r\n.tvr-boarding-camera-placeholder [data-tvr-ticket-status]{max-width:320px;margin:0;color:#526866;font-size:13px;line-height:1.4}.tvr-boarding-camera-placeholder [data-tvr-ticket-status]:empty{display:none}\r\n.tvr-boarding-tab-scanner button{min-height:44px;padding:11px 18px;border:1.5px solid #243438;border-radius:10px;background:#fff;color:#1d2b30;font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:none}.tvr-boarding-tab-scanner button:focus-visible{outline:3px solid #71958a;outline-offset:3px}\r\n.tvr-boarding-tab-scanner [hidden]{display:none}\r\n@media(max-width:360px){.tvr-boarding-camera-placeholder{gap:10px;padding:32px}.tvr-boarding-camera-icon{width:36px;height:36px}.tvr-boarding-camera-instruction{font-size:15px}}\r\n.crm-table-mode-toolbar .tvr-manifest-tabs{grid-column:1\/-1;grid-row:2;width:100%;box-sizing:border-box;min-width:0;height:40px;padding:2px}.crm-table-mode-toolbar .tvr-manifest-tabs button{padding:6px 10px;font-size:14px}.crm-table-mode-toolbar.has-manifest-layout .crm-table-mode-toolbar__title{min-width:0}\r\n@media(max-width:600px){.tvr-manifest .tvr-bookings-navigation{flex-wrap:wrap}.tvr-manifest .tvr-bookings-navigation .tvr-bookings-views{flex-basis:100%;order:2}.tvr-manifest .tvr-bookings-navigation-extra{flex:1 1 100%;flex-wrap:wrap}.crm-table-mode-toolbar.has-manifest-layout .crm-table-mode-toolbar__title{min-width:0;font-size:12px}.tvr-manifest-tabs button{padding:10px}}\r\n\r\n\/* The compact toolbar owns the tabs while its viewport is expanded. *\/\r\nbody.is-crm-table-mode .tvr-manifest-trip>.tvr-manifest-tabs{display:none}\r\n\r\n\/* Boarding views belong to the trip content, including the compact viewport. *\/\r\n.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip>.tvr-manifest-tabs,.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip>[data-tvr-manifest-pane]{grid-column:1\/-1;width:100%;box-sizing:border-box}\r\n.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading{grid-column:1\/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading h3{grid-column:1;grid-row:1;min-width:0}.tvr-manifest-trip-heading>.crm-table-mode-expand{position:static;grid-column:2;grid-row:1;margin:0}.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading>.tvr-shared-boarding-controls,.tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip-heading>.tvr-manifest-sender{grid-column:1\/-1;min-width:0;max-width:100%;overflow-wrap:anywhere}.tvr-manifest-trip-heading>.tvr-shared-boarding-controls summary{white-space:normal}\r\n@media(max-width:600px){.tvr-app .tvr-manifest-tabs button{min-width:0;font-size:16px}}\r\n\r\n\/* Trip occurrence summary shares the bookings list and CRM theme. *\/\r\n.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table th,.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table td{border-color:var(--line,#e4e9f2);white-space:nowrap;min-width:0;vertical-align:top}\r\n.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table th{color:var(--muted,#67748a);background:var(--surface-2,#edf2f8)}\r\n.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table td{color:var(--text,#17233c);background:var(--surface,#fff)}\r\n.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table tbody tr:hover td{background:var(--surface-2,#edf2f8)}\r\n.tvr-visabus-cabinet.tvr-trip-summary table.tvr-bookings-table td:nth-child(4){white-space:nowrap;min-width:0}\r\n.tvr-trip-summary-table tr[hidden]{display:none}\r\n.tvr-trip-summary table.tvr-trip-summary-table th:first-child,.tvr-trip-summary table.tvr-trip-summary-table td:first-child{position:sticky;left:0;z-index:2;background:var(--surface,#151c28);box-shadow:2px 0 0 var(--line,#30394d);min-width:150px}\r\n.tvr-trip-summary-table th:first-child{z-index:4}\r\n.tvr-trip-summary-table .tvr-trip-finance-open{display:block;width:100%;margin-top:8px;padding:10px 12px;border:0;border-radius:9px;background:var(--blue,#236bff);color:#fff;font:inherit;font-weight:700;white-space:normal;cursor:pointer}\r\n.tvr-trip-summary-table .tvr-trip-finance-open:focus-visible{outline:2px solid var(--amber,#ffac0a);outline-offset:2px}\r\n.tvr-trip-summary-table [data-trip-expense-open]{padding:8px 12px;border:1px solid var(--line,#465064);border-radius:9px;background:transparent;color:inherit;font:inherit;cursor:pointer}\r\n.tvr-trip-details-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--line,#465064);border-radius:16px;background:var(--surface,#151c28);color:var(--text,#fff);text-align:left;white-space:normal}\r\n.tvr-trip-details-dialog::backdrop{background:#0009}\r\n.tvr-trip-details-dialog h2{margin:0 44px 8px 0;font-size:22px}\r\n.tvr-trip-details-dialog>p{margin:0 0 20px;font-size:13px;color:var(--muted,#9ba8bd)}\r\n.tvr-trip-details-close{float:right;width:36px;height:36px;border:1px solid var(--line,#465064);border-radius:8px;background:transparent;color:inherit;cursor:pointer}\r\n.tvr-trip-summary-table .tvr-trip-details-dialog form{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}\r\n.tvr-trip-details-dialog form>small,.tvr-trip-details-dialog form>button,.tvr-trip-details-dialog form>[data-expense-state]{grid-column:1\/-1}\r\n.tvr-trip-details-dialog form small{font-size:12px;line-height:1.5}\r\n@media(max-width:640px){.tvr-trip-summary-table .tvr-trip-details-dialog form{grid-template-columns:minmax(0,1fr)}.tvr-trip-details-dialog{padding:16px}.tvr-trip-summary table.tvr-trip-summary-table th:first-child,.tvr-trip-summary table.tvr-trip-summary-table td:first-child{min-width:135px}}\r\n.tvr-trip-summary-table a{color:var(--blue,#236bff);font-weight:700;text-decoration:none}\r\n.tvr-trip-summary-table a:hover{text-decoration:underline}\r\n.tvr-trip-summary .tvr-bookings-search{grid-template-columns:minmax(200px,1fr) minmax(180px,240px) minmax(180px,240px);align-items:center;padding:0;margin:0 0 14px}\r\n.tvr-trip-summary .tvr-review-filters label{display:flex;align-items:center;gap:8px;white-space:nowrap}\r\n.tvr-trip-period{padding:16px;margin:12px 0;border:1px solid var(--line,#30394d);border-radius:12px}\r\n.tvr-trip-period form,.tvr-trip-period-quick{display:flex;gap:10px;flex-wrap:wrap;align-items:end}\r\n.tvr-trip-period label{display:grid;gap:6px;flex:1 1 180px;min-width:0}\r\n.tvr-trip-period input[type=date]{width:100%;min-height:44px;padding:8px;box-sizing:border-box;border:1px solid var(--line,#30394d);border-radius:8px;background:var(--surface-2,#202736);color:inherit}\r\n.tvr-trip-period .tvr-button{min-height:44px;flex:0 1 auto}\r\n.tvr-trip-period-quick{margin-top:12px;align-items:center}\r\n.tvr-trip-period-quick a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}\r\n.tvr-trip-period p{margin:12px 0 0;font-size:13px;color:var(--muted,#9ba8bd)}\r\n.tvr-trip-summary-table form{display:grid;gap:10px;min-width:240px;margin-top:12px;text-align:left}\r\n.tvr-trip-summary-table form label{display:grid;gap:4px;font-size:13px;font-weight:700}\r\n.tvr-trip-summary-table form input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#edf2f8);color:var(--text,#17233c);font:inherit}\r\n.tvr-trip-summary-table form button{width:max-content;min-height:34px;padding:6px 12px;border:1px solid var(--blue,#236bff);border-radius:999px;background:var(--blue,#236bff);color:#fff;font:inherit;font-weight:700;cursor:pointer}\r\n.tvr-trip-summary-table [data-expense-state]{white-space:normal;max-width:280px;color:var(--muted,#67748a)}\r\n.tvr-trip-summary-table summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border:1px solid var(--blue,#236bff);border-radius:999px;color:var(--blue,#236bff);font-size:14px;font-weight:700;cursor:pointer;list-style:none}\r\n.tvr-trip-summary-table summary::-webkit-details-marker{display:none}\r\n.tvr-trip-summary-table summary:after{content:\"\u2304\"}\r\n.tvr-trip-summary-table details[open]>summary:after{content:\"\u2303\"}\r\n.tvr-trip-summary-table summary:focus-visible,.tvr-trip-summary-table form button:focus-visible{outline:2px solid var(--amber,#ffac0a);outline-offset:2px}\r\n@media(max-width:800px){.tvr-trip-summary .tvr-bookings-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tvr-trip-summary .tvr-bookings-search>input{grid-column:1\/-1}.tvr-trip-summary .tvr-review-filters label{display:grid;gap:5px}.tvr-trip-summary .tvr-review-tabs{gap:6px}}\r\n\r\n\/* Promo editor: grouped desktop cards and mobile actions. *\/\r\n.tvr-promo-page .tvr-promo-admin:has(.tvr-promo-editor){max-width:1200px;margin-inline:auto;padding:24px;background:transparent;border:0}\r\n.tvr-promo-page .tvr-promo-admin:has(.tvr-promo-editor)>h2{display:none}\r\n.tvr-promo-page .tvr-promo-admin:has(.tvr-promo-editor)>h3{margin:16px 0 6px;font-size:28px}\r\n.tvr-promo-intro,.tvr-promo-hint,.tvr-promo-card small{color:var(--muted,#64748b);font-size:14px}\r\n.tvr-promo-intro{margin:0 0 24px}.tvr-promo-hint{margin:0}\r\n.tvr-promo-page .tvr-promo-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;align-items:stretch}\r\n.tvr-promo-page .tvr-promo-editor>fieldset[disabled]{display:contents}\r\n.tvr-promo-card{min-width:0;padding:22px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:18px}\r\n.tvr-promo-card--basics,.tvr-promo-actions{grid-column:1\/-1}\r\n.tvr-promo-card h4{margin:0;color:var(--text,#17233c);font-size:20px}\r\n.tvr-promo-page .tvr-promo-card label{display:grid;gap:8px;margin:0;font-weight:600;min-width:0}\r\n.tvr-promo-basics{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1.2fr) minmax(0,.8fr);gap:20px;align-items:end}\r\n.tvr-promo-page .tvr-promo-card fieldset{border:0;border-radius:0;padding:0;gap:10px}\r\n.tvr-promo-page .tvr-promo-card legend{font-weight:600;margin-bottom:8px}\r\n.tvr-promo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}\r\n.tvr-promo-page .tvr-promo-pair label{display:grid;font-weight:600}\r\n.tvr-promo-discount__fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}\r\n.tvr-promo-page .tvr-promo-card label:has(input[type=checkbox]){display:flex;align-items:center;font-weight:400;min-height:32px}\r\n.tvr-promo-card fieldset+fieldset,.tvr-promo-card .tvr-promo-pair+fieldset{padding-top:16px;border-top:1px solid var(--line,#d8e0ee)}\r\n.tvr-promo-trip-options{display:grid;gap:4px}.tvr-promo-trip-options [hidden]{display:none!important}\r\n.tvr-promo-page .tvr-promo-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 22px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-promo-actions [data-promo-admin-error]{margin:0;flex:1;color:var(--danger,#c0392b)}\r\n.tvr-promo-page .tvr-promo-cancel{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;box-sizing:border-box;border:1px solid var(--line,#d8e0ee);border-radius:10px;color:var(--text,#17233c);text-decoration:none}\r\n.tvr-promo-page .tvr-promo-actions button{margin:0;min-width:200px}\r\n@media(max-width:900px){.tvr-promo-basics{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tvr-promo-basics>label:last-child{grid-column:1\/-1}}\r\n@media(max-width:650px){.tvr-promo-page .tvr-promo-admin:has(.tvr-promo-editor){padding:16px 0}.tvr-promo-page .tvr-promo-editor{grid-template-columns:minmax(0,1fr);gap:14px;padding-bottom:12px}.tvr-promo-card{padding:16px;gap:16px}.tvr-promo-basics{grid-template-columns:minmax(0,1fr);gap:16px}.tvr-promo-pair{gap:10px}.tvr-promo-page .tvr-promo-visibility__choices span{font-size:14px;white-space:nowrap}.tvr-promo-page .tvr-promo-actions{position:sticky;bottom:0;z-index:20;flex-wrap:wrap;padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:8px;border-radius:12px;box-shadow:0 -6px 20px #0002}.tvr-promo-actions [data-promo-admin-error]{flex-basis:100%}.tvr-promo-page .tvr-promo-actions button{min-width:0;flex:2;padding-inline:10px}.tvr-promo-page .tvr-promo-cancel{flex:1;padding-inline:10px}.tvr-promo-page .tvr-promo-editor input[type=date]{padding-inline:6px;font-size:14px}.tvr-promo-page .tvr-promo-card label:has(input[type=checkbox]){min-height:44px}}\r\n\/* Employee booking editor shares the promo editor's cards and controls. *\/\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page{min-width:0;color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-card{padding:0;border:0;background:transparent;box-shadow:none}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(h1,h2,h3,label){color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(h2,h3){margin:0 0 18px;font-size:20px;line-height:1.3}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-tabpanel,.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-card{min-width:0;box-sizing:border-box;padding:22px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page [data-tvr-admin-panel=passengers]{padding:0;border:0;background:transparent}\r\n.tvr-booking-editor-page .tvr-booking-customer{margin-bottom:20px}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-grid,.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-finance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page label{gap:8px;margin:0;line-height:1.4}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;max-width:100%;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c);font:inherit}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page textarea{min-height:88px;resize:vertical}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;min-height:0;flex:0 0 auto;accent-color:var(--blue,#236bff)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-booking-editor-page .tvr-booking-passengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-passenger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:22px;min-width:0;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-booking-editor-page .tvr-admin-passenger>h3,.tvr-booking-editor-page .tvr-admin-passenger>label:first-of-type,.tvr-booking-editor-page .tvr-admin-passenger>.tvr-admin-passenger-visa,.tvr-booking-editor-page .tvr-admin-passenger>.tvr-document-upload{grid-column:1\/-1}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-passenger>h3{margin:0}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-cancel-passenger-button{grid-column:1\/-1;justify-self:start;width:auto;min-height:44px;padding:8px 0;border:0;border-radius:6px;background:transparent;color:var(--danger,#c7364f);box-shadow:none;text-align:left}\r\n.tvr-booking-editor-page .tvr-admin-grid>p{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--muted,#64748b)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-tabs [role=tab]{flex:1 0 auto;min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted,#64748b);box-shadow:none}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-tabs [aria-selected=true]{background:var(--blue,#236bff);color:#fff}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(.tvr-admin-visa-person,.tvr-admin-receipt-groups>section,.tvr-admin-service,.tvr-crm-sync-log){border-color:var(--line,#d8e0ee);border-radius:14px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-savebar{gap:12px;border-radius:14px 14px 0 0;background:var(--surface,#fff)}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-savebar .button{min-height:44px;box-sizing:border-box;border-radius:10px;padding:10px 18px;line-height:1.4}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-savebar .tvr-admin-back{border:1px solid var(--line,#d8e0ee);background:transparent;color:var(--text,#17233c);box-shadow:none}\r\n.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-service input[type=number]{width:96px;flex:0 0 96px}\r\n.tvr-booking-editor-page .tvr-admin-service>span{min-width:0;overflow-wrap:anywhere}\r\n@media(max-width:700px){.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page :is(.tvr-admin-tabpanel,.tvr-booking-card,.tvr-admin-passenger){padding:16px}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page [data-tvr-admin-panel=passengers]{padding:0}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-grid,.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-finance-fields,.tvr-booking-editor-page .tvr-booking-passengers,.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-passenger{grid-template-columns:minmax(0,1fr);gap:16px}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-tabs [role=tab]{flex:0 0 auto;min-width:0}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-admin-tabs [role=tab] .tvr-admin-tab-label{display:inline}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-savebar{gap:8px;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.tvr-visabus-cabinet.tvr-admin-booking.tvr-booking-editor-page .tvr-booking-savebar .button{font-size:14px;padding-inline:12px}}\r\n.tripand-visa-list-status{margin:0}.tripand-visa-list-status select.tripand-visa-status{max-width:180px;border:1px solid var(--line,#d8e0ee);padding-right:24px;cursor:pointer;font:inherit;font-size:11px;font-weight:900}.tripand-visa-list-status select:focus-visible{outline:2px solid #266cff;outline-offset:2px}\r\n\r\n.tvr-shared-staff-picker{max-width:480px;margin:8vh auto;padding:24px;background:var(--card,#fff);border:1px solid var(--line,#dce2ea);border-radius:16px}.tvr-shared-staff-picker h1{font-size:24px}.tvr-shared-staff-picker label{display:grid;gap:8px;margin:20px 0}.tvr-shared-staff-picker select,.tvr-shared-staff-picker button,.tvr-shared-staff-bar button,.tvr-shared-staff-bar select{box-sizing:border-box;max-width:100%;min-height:44px;padding:10px 14px;font:inherit;border:1px solid var(--line,#dce2ea);border-radius:8px}.tvr-shared-staff-picker select{width:100%;background:#fff}.tvr-shared-staff-picker button{width:100%}.tvr-shared-staff-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.tvr-shared-staff-bar strong{overflow-wrap:anywhere}.tvr-shared-staff-bar button{cursor:pointer}.tvr-shared-staff-picker button:disabled,.tvr-shared-staff-bar button:disabled{opacity:.5;cursor:default}\r\n\r\n.tvr-shared-language{display:flex;align-items:center;gap:8px}.tvr-shared-staff-picker .tvr-shared-language{display:grid}\r\n\r\n\/* Public Boarding does not load WordPress accessibility utility styles. *\/\r\n.tvr-shared-boarding-page .tvr-manifest-attendance legend.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n.tvr-shared-boarding-page .tvr-manifest-amount.has-fill-all input{padding-right:155px}\r\n.tvr-shared-boarding-page .tvr-manifest-fill-all{min-height:44px;bottom:0}\r\n\r\n\/* Keep Boarding views recognizable as one tappable segmented control. *\/\r\n.tvr-app .tvr-manifest-tabs,.crm-table-mode-toolbar .tvr-manifest-tabs{border-color:var(--line,#d8e0ee);background:var(--surface-2,#eaf0f9);padding:5px;gap:5px}\r\n.tvr-manifest-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line,#d8e0ee);background:var(--surface,#fff);color:var(--text,#24354b);box-shadow:0 1px 2px rgb(25 45 75 \/ 6%);transition:background .15s,color .15s,border-color .15s}\r\n.tvr-manifest-tabs button:hover:not([aria-selected=\"true\"]){border-color:var(--blue,#2563eb);background:#eef4ff}\r\n.tvr-manifest-tabs button[aria-selected=\"true\"]{border-color:var(--blue,#2563eb);background:var(--blue,#2563eb);color:#fff;box-shadow:0 2px 5px rgb(37 99 235 \/ 20%)}\r\n.tvr-manifest-tab-icon{width:22px;height:22px;flex:0 0 22px;pointer-events:none}\r\n@media(max-width:600px){.tvr-app .tvr-manifest-tabs button{flex-direction:column;gap:5px;min-height:66px;padding:8px 4px;font-family:Arial,sans-serif;font-size:14px;line-height:1.2}.tvr-app .tvr-manifest-tabs{min-width:0}}\r\n\/* Give the personal cash summary the same inset as the surrounding cards. *\/\r\n.tvr-shared-boarding-page .tvr-manifest-finance{padding:16px 18px}\r\n.tvr-shared-boarding-page .tvr-manifest-finance>p{margin:0 0 10px;line-height:1.4}\r\n.tvr-shared-boarding-page .tvr-manifest-finance>strong{display:block;line-height:1.3}\r\n\r\n\/* Compact shared staff Boarding: one toolbar row and more space for the journey. *\/\r\n.tvr-shared-boarding-page{margin:0;background:#f4f6fb;font-family:Arial,sans-serif;color:#17233c}\r\n.tvr-shared-boarding-page #tvr-shared-boarding{padding:12px;box-sizing:border-box}\r\n.tvr-shared-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n.tvr-shared-boarding-page .tvr-shared-staff-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;margin-bottom:6px;font-size:14px}\r\n.tvr-shared-employee{display:flex;align-items:center;min-width:0}.tvr-shared-employee strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}\r\n.tvr-shared-user-icon{display:flex;flex:none;width:18px;height:20px}.tvr-shared-user-icon svg{width:100%;height:100%}\r\n.tvr-shared-boarding-page .tvr-shared-staff-bar .tvr-shared-staff-name-button{min-width:0;max-width:100%;width:auto;min-height:36px;margin:0;padding:4px 0;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;background:transparent;color:#17233c;font-size:14px;line-height:1.2;cursor:pointer}\r\n.tvr-shared-name-edit{display:flex;flex:none;width:13px;height:13px;color:#6b7890}.tvr-shared-name-edit svg{width:100%;height:100%}\r\n.tvr-shared-staff-bar .tvr-shared-language{position:relative;justify-self:end;min-width:0;width:76px;height:36px;gap:0;border:1px solid #d9e1ef;border-radius:9px;background:#fff;box-sizing:border-box}\r\n.tvr-shared-boarding-page .tvr-shared-staff-bar select{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer;font-size:16px}\r\n.tvr-shared-staff-bar .tvr-shared-language:focus-within{outline:2px solid #2463eb;outline-offset:2px}\r\n.tvr-shared-trip-date{justify-self:center;text-align:center;white-space:nowrap;font-size:16px;font-weight:650;line-height:1.2;color:#17233c}\r\n.tvr-shared-boarding-page .tvr-manifest-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}\r\n.tvr-shared-boarding-page .tvr-manifest-summary>button{flex-direction:row;align-items:center;gap:4px;min-height:46px;padding:8px;border-radius:10px}\r\n.tvr-shared-boarding-page .tvr-manifest-summary>button span{font-size:12px;line-height:1.15}.tvr-shared-boarding-page .tvr-manifest-summary strong{align-self:center;font-size:22px}\r\n.tvr-shared-boarding-page .tvr-manifest-finance{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;box-sizing:border-box;margin:0 0 6px;padding:8px 10px;border-radius:10px}\r\n.tvr-shared-boarding-page .tvr-manifest-finance>p{margin:0;font-size:13px;line-height:1.2}.tvr-shared-boarding-page .tvr-manifest-finance>strong{font-size:20px;white-space:nowrap;line-height:1.2}\r\n.tvr-shared-boarding-page .tvr-manifest-trip-heading{display:none!important}\r\n.tvr-shared-boarding-page .tvr-shared-navigation-extra:empty{display:none}\r\n.tvr-shared-boarding-page .tvr-manifest-trip{gap:6px;margin-bottom:12px}\r\n.tvr-shared-boarding-page .tvr-app .tvr-manifest-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:30;align-self:start;padding:3px;gap:3px;border-radius:10px;background:#eaf0f9;box-shadow:0 3px 8px rgb(25 45 75 \/ 12%)}\r\n.tvr-shared-boarding-page .tvr-app .tvr-manifest-tabs button{flex-direction:row;gap:5px;min-height:44px;padding:6px 4px;font-size:13px;line-height:1.2}\r\n.tvr-shared-boarding-page .tvr-manifest-tabs button svg{width:18px;height:18px;flex:none}\r\n.tvr-shared-boarding-page .tvr-manifest-bus-wrap{padding:6px}\r\n.tvr-shared-boarding-page .tvr-manifest-bus-legend{gap:8px;margin-bottom:6px;font-size:11px;line-height:1.2}\r\n.tvr-shared-boarding-page .tvr-manifest-bus-legend>span{gap:4px}\r\n.tvr-shared-boarding-page .tvr-manifest-bus-floor{padding-top:6px}.tvr-shared-boarding-page .tvr-manifest-bus-floor h4{margin:0 0 6px;font-size:15px}\r\n@media(max-width:350px){.tvr-shared-user-icon{display:none}.tvr-shared-boarding-page .tvr-manifest-summary>button{padding:7px 6px}.tvr-shared-boarding-page .tvr-manifest-summary>button span{font-size:11px}}\r\n\r\n\/* Preserve native language names in the menu and a compact toolbar caption. *\/\r\n.tvr-shared-staff-bar .tvr-shared-language{position:relative}\r\n.tvr-shared-staff-bar .tvr-shared-language[data-language-short]:after{content:attr(data-language-short);position:absolute;inset:0 18px 0 29px;display:flex;align-items:center;justify-content:center;white-space:nowrap;pointer-events:none;font-size:13px;line-height:1;color:#17233c}\r\n.tvr-shared-language-icon,.tvr-shared-language-arrow{position:absolute;top:50%;display:flex;transform:translateY(-50%);pointer-events:none;color:#526078}\r\n.tvr-shared-language-icon{left:8px;width:16px;height:16px}.tvr-shared-language-arrow{right:6px;width:11px;height:11px}\r\n.tvr-shared-language-icon svg,.tvr-shared-language-arrow svg{width:100%;height:100%}\r\n.tvr-shared-boarding-page .tvr-shared-staff-bar .tvr-shared-language select{appearance:none;color:transparent}\r\n.tvr-shared-staff-bar .tvr-shared-language option{color:#17233c}\r\n\r\n\/* Keep the passenger-count caption inside the right edge of the shared list. *\/\r\n.tvr-shared-boarding-page .tvr-manifest-table>thead th.tvr-manifest-passengers-heading{width:100px;padding:10px 12px!important;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}\r\n.tvr-shared-boarding-page .tvr-manifest-passengers-heading svg{margin:0 auto 4px}\r\n@media(max-width:400px){.tvr-shared-boarding-page .tvr-manifest-table>thead th.tvr-manifest-passengers-heading{width:92px;padding-right:8px!important;padding-left:8px!important}}\r\n\r\n.tvr-shared-boarding-page .tvr-manifest-summary>button{gap:8px;padding:9px 12px}\r\n.tvr-shared-boarding-page .tvr-manifest-summary>button span{min-width:0;flex:1}\r\n.tvr-shared-boarding-page .tvr-manifest-summary strong{flex-shrink:0}\r\n@media(max-width:480px){.tvr-shared-boarding-page .tvr-manifest-summary>button{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:4px;min-height:64px;padding:9px 10px}.tvr-shared-boarding-page .tvr-manifest-summary>button span{flex:none;font-size:12px}.tvr-shared-boarding-page .tvr-manifest-summary strong{align-self:flex-end}}\r\n\r\n\/* Employee boarding: compact trip time and personal cash counter. *\/\r\n.tvr-shared-boarding-page .tvr-shared-trip-hour{display:block;font-size:12px;line-height:1.2;margin-top:2px;font-weight:500}\r\n.tvr-shared-boarding-page .tvr-manifest-summary>.tvr-manifest-cash-counter{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;padding:12px;background:#fff;border:1px solid #d5dfef;border-radius:12px;box-sizing:border-box}\r\n.tvr-shared-boarding-page .tvr-manifest-cash-counter>span{font-size:12px;line-height:1.3;font-weight:650;color:#526783}\r\n.tvr-shared-boarding-page .tvr-manifest-cash-counter>strong{font-size:clamp(13px,3.2vw,20px);line-height:1.3;text-align:right;overflow-wrap:anywhere}\r\n.tvr-shared-boarding-page .tvr-manifest-attendance input[type=checkbox]{border-radius:4px;accent-color:#15803d}\r\n\r\n\/* Shared employee passenger cards: the full attendance label is the touch target. *\/\r\n.tvr-shared-passenger-cards{display:grid;gap:12px}\r\n.tvr-shared-passenger-card{min-width:0;padding:16px;border:1px solid #d8e0ee;border-radius:14px;background:#fff;box-sizing:border-box}\r\n.tvr-shared-passenger-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}\r\n.tvr-shared-passenger-identity{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}\r\n.tvr-shared-passenger-identity>strong{font-size:20px;line-height:1.25;color:#17233c;overflow-wrap:anywhere}\r\n.tvr-shared-passenger-identity .tvr-manifest-leader-badge{margin:0}\r\n.tvr-shared-passenger-seat{display:flex;flex:none;flex-direction:column;align-items:center;gap:3px;min-width:64px;padding:8px 12px;border:1px solid #d8e0ee;border-radius:10px;background:#f6f8fc;box-sizing:border-box}\r\n.tvr-shared-passenger-seat>span{color:#67748a;font-size:12px;line-height:1.2}\r\n.tvr-shared-passenger-seat>strong{font-size:26px;line-height:1.2;color:#17233c;overflow-wrap:anywhere;max-width:90px}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance{display:block;min-width:0;padding:0;margin:0;border:0}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance-option{display:flex;align-items:center;gap:14px;width:100%;min-height:80px;padding:16px;border:2px solid #d8e0ee;border-radius:12px;background:#fff;color:#526078;font-size:22px;font-weight:750;line-height:1.25;box-sizing:border-box;cursor:pointer}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance-option:has(input:checked){border-color:#19a15b;background:#e8f8ef;color:#15803d}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance-option:has(input:focus-visible){outline:3px solid #236bff;outline-offset:3px}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance-option input[type=checkbox]{appearance:auto;flex:0 0 34px;width:34px;height:34px;min-height:34px;margin:0;padding:0;accent-color:#15803d;cursor:pointer}\r\n.tvr-shared-passenger-card .tvr-shared-passenger-details{display:flex;flex-wrap:wrap;gap:4px 8px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #e3e9f2;color:#67748a;font-size:13px;line-height:1.4;overflow-wrap:anywhere}\r\n.tvr-shared-passenger-details>span+span:before{content:'\u00b7';margin-right:8px}\r\n@media(max-width:350px){.tvr-shared-passenger-card{padding:12px}.tvr-shared-passenger-identity>strong{font-size:18px}.tvr-shared-boarding-page .tvr-shared-passenger-card .tvr-manifest-attendance-option{gap:10px;padding:12px;font-size:20px}}\r\n\r\n\/* Compact multi-passenger booking, with one server-selected cash action. *\/\r\n.tvr-shared-boarding-page .tvr-manifest-editor-card{padding:12px}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-card>header{margin-bottom:12px}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-card h1{font-size:20px}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action]{display:flex;align-items:center;gap:12px;width:100%;margin:12px 0;padding:14px;border-radius:12px;background:#eaf3ff;text-align:left;box-sizing:border-box}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action=out]{background:#fff5df}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action]>svg{flex:0 0 36px;width:36px;height:36px;fill:none;stroke:#236bff;stroke-width:1.7}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action=out]>svg{transform:rotate(180deg);stroke:#ae6b00}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action]>div{min-width:0}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action] span{display:block;font-size:20px;font-weight:750;line-height:1.2;color:#17233c}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action] small{display:block;margin:3px 0;color:#67748a;font-size:12px}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-due[data-cash-action] strong{display:block;font-size:28px;line-height:1.2;overflow-wrap:anywhere}\r\n.tvr-shared-boarding-page .tvr-boarding-comment{margin-top:12px}\r\n.tvr-shared-boarding-page .tvr-boarding-comment label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}\r\n.tvr-shared-boarding-page .tvr-boarding-comment textarea{min-height:44px;height:44px;padding:10px;resize:vertical}\r\n.tvr-shared-boarding-page .tvr-manifest-editor-passengers{margin-top:16px}\r\n.tvr-shared-passenger-instruction{margin:0 0 8px;font-size:13px;color:#67748a}\r\n.tvr-shared-passenger-cards{display:block;overflow:hidden;border:1px solid #d8e0ee;border-radius:12px}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-card{padding:0;border:0;border-bottom:1px solid #d8e0ee;border-radius:0}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-card:last-child{border-bottom:0}\r\n.tvr-shared-boarding-page .tvr-shared-passenger-cards .tvr-manifest-attendance-option{gap:10px;min-height:66px;padding:10px;border:0;border-radius:0;font-size:16px}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-identity{flex:1;gap:3px}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-identity>strong{font-size:16px}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-details{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;border:0;font-size:12px;font-weight:400}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-details>span+span:before{content:none;margin:0}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-details>.tvr-seat-payment{font-size:11px;font-weight:750;white-space:nowrap}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-details>.tvr-seat-payment.is-paid:before{content:'\u2713';margin:0}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-details>.tvr-seat-payment.is-unpaid:before{content:'!';margin:0}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-seat{min-width:42px;max-width:65px;padding:6px;border-radius:8px}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-seat>strong{font-size:19px;max-width:100%}\r\n.tvr-shared-passenger-cards .tvr-manifest-leader-badge{font-size:10px;padding:2px 5px;line-height:1.3}\r\n.tvr-shared-boarding-page [data-tvr-attendance-count]{margin:8px 0 0;font-size:13px;color:#15803d;font-weight:650}\r\n@media(max-width:700px){.tvr-shared-boarding-page .tvr-manifest-editor-actions{margin:12px -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}}\r\n\r\n\/* Approved visa application editor: the same cards and controls as promos. *\/\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone{display:grid;gap:8px;min-width:0;align-content:start}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-account-phone-fields{grid-template-columns:116px minmax(0,1fr);gap:10px}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-toggle{min-height:44px;background:var(--surface-2,#202736);border-color:var(--line,#30384b);color:var(--text,#f4f5f8);padding:9px 7px}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone :is(.tvr-country-prefix,.tvr-country-code-input){color:var(--text,#f4f5f8)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-menu{background:var(--surface,#191e29);border-color:var(--line,#30384b);color:var(--text,#f4f5f8);z-index:100}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-option{background:transparent;color:var(--text,#f4f5f8)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-option:hover,.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-option[aria-selected=true]{background:var(--surface-2,#202736)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone :is(.tvr-country-option-code,.tvr-country-empty){color:var(--muted,#99a6ba)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-contact-phone .tvr-country-menu-toggle{color:var(--text,#f4f5f8);background:transparent}\r\n.crm-content .tripand-visas-admin.tvr-visa-editor-page{width:100%;max-width:1200px!important;margin-inline:auto;min-width:0;color:var(--text,#17233c)}\r\n.crm-content .tvr-visa-editor-page>.tvr-visa-editor-back{margin:0 0 22px;font-size:14px}\r\n.crm-content .tvr-visa-editor-page>h1{margin:0 0 8px;font-size:28px;line-height:1.25;letter-spacing:-.02em}\r\n.crm-content .tvr-visa-editor-page>.tvr-visa-editor-intro{margin:0 0 24px;color:var(--muted,#64748b);font-size:14px}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-card{display:flex;flex-direction:column;gap:18px;min-width:0;padding:22px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-card--wide,.crm-content .tvr-visa-editor-page .tvr-visa-form-actions,.crm-content .tvr-visa-editor-page [data-visa-form-error]{grid-column:1\/-1}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-card h2{margin:0;color:var(--text,#17233c);font-size:20px;line-height:1.3}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-pair,.crm-content .tvr-visa-editor-page .tvr-visa-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0;align-items:start}\r\n.crm-content .tvr-visa-editor-page label{display:grid;gap:8px;margin:0;font-weight:600;min-width:0}\r\n.crm-content .tvr-visa-editor-page small{color:var(--muted,#64748b);font-size:13px;line-height:1.45;font-weight:400;overflow-wrap:anywhere}\r\n.crm-content .tvr-visa-editor-page input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.crm-content .tvr-visa-editor-page select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c);font:inherit;font-weight:400;box-sizing:border-box}\r\n.crm-content .tvr-visa-editor-page input::placeholder{color:var(--muted,#64748b);opacity:.85}\r\n.crm-content .tvr-visa-editor-page .tvd-field{display:grid;gap:8px;min-width:0;max-width:none;margin:0}\r\n.crm-content .tvr-visa-editor-page fieldset{border:0;border-radius:0;padding:0;margin:0;min-width:0;display:grid;gap:18px}\r\n.crm-content .tvr-visa-editor-page [data-visa-admin-applicants]>fieldset{position:relative;padding-right:0}\r\n.crm-content .tvr-visa-editor-page [data-visa-admin-applicants]>fieldset+fieldset{border-top:1px solid var(--line,#d8e0ee);margin-top:24px;padding-top:24px}\r\n.crm-content .tvr-visa-editor-page [data-visa-admin-applicants]>fieldset>legend{margin-bottom:16px;padding:0 34px 0 0;font-size:16px;font-weight:650;color:var(--text,#17233c)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-applicant-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px 7px;margin-left:5px;border-radius:7px;background:var(--surface-2,#f7f9fc);color:var(--muted,#64748b);font-size:13px;vertical-align:middle}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type{display:block;gap:0}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type legend{margin-bottom:8px;padding:0;font-weight:600;font-size:16px;color:var(--text,#17233c)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;border:0;border-radius:0;background:transparent}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label{position:relative;min-width:0;min-height:100px;box-sizing:border-box;cursor:pointer;display:flex!important;align-items:center;margin:0;padding:20px 60px 20px 20px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);box-shadow:none}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices input[type=radio]{position:absolute;flex:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0;border:0;opacity:0}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label>span{display:grid;gap:8px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;text-align:left;font-size:16px;line-height:1.35;font-weight:600;color:var(--text,#17233c);overflow-wrap:anywhere}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices strong{font-size:14px;font-weight:400;white-space:normal;color:var(--muted,#68758d)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label::after{content:\"\";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;box-sizing:border-box;border:2px solid var(--muted,#68758d);border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1;font-weight:700;color:#fff}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label:has(input:checked){border-color:var(--blue,#236bff);box-shadow:inset 0 0 0 1px var(--blue,#236bff);background:color-mix(in srgb,var(--blue,#236bff) 10%,var(--surface,#fff))}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices input:checked+span{background:transparent;color:var(--text,#17233c)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label:has(input:checked)::after{content:\"\u2713\";border-color:var(--blue,#236bff);background:var(--blue,#236bff)}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label:has(input:checked) strong{color:color-mix(in srgb,var(--blue,#236bff) 35%,var(--text,#17233c))}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label:has(input:focus-visible){outline:2px solid var(--blue,#236bff);outline-offset:3px}\r\n@media(max-width:650px){.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices{grid-template-columns:minmax(0,1fr);gap:12px}.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices label{min-height:88px;padding:16px 56px 16px 16px}}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-price-confirm{display:flex;align-items:flex-start;gap:10px;font-weight:400}\r\n.crm-content .tvr-visa-editor-page input[type=checkbox]{width:20px;height:20px;min-height:0;padding:0;border:0;background:transparent;accent-color:var(--blue,#236bff)}\r\n.crm-content .tvr-visa-editor-page input[type=file]{font-size:13px;padding:6px}\r\n.crm-content .tvr-visa-editor-page input[type=file]::file-selector-button{margin-right:8px;padding:8px 10px;border:1px solid var(--line,#d8e0ee);border-radius:7px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit;cursor:pointer}\r\n.crm-content .tvr-visa-editor-page :is(.tvr-visa-add-person,.tvr-visa-remove-person,button[type=submit]),.crm-content .tvr-visa-editor-page .tvr-visa-form-cancel{min-height:44px;padding:10px 18px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f7f9fc);color:var(--text,#17233c);font:inherit;font-weight:600;line-height:1.4;white-space:normal}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-add-person{align-self:flex-start}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-remove-person{position:absolute;right:0;top:0;width:32px;min-height:32px;padding:0;background:transparent;color:var(--muted,#64748b);font-size:22px;border-color:transparent;border-radius:7px;justify-content:center}\r\n.crm-content .tvr-visa-editor-page button:disabled{opacity:.4;cursor:not-allowed}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:0;flex-wrap:wrap;padding:4px 0}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-total{display:grid;gap:4px}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-total strong{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-buttons{display:flex;gap:12px;flex-wrap:wrap}\r\n.crm-content .tvr-visa-editor-page .tvr-visa-form-cancel{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:transparent}\r\n.crm-content .tvr-visa-editor-page button[type=submit]{border-color:var(--blue,#236bff);background:var(--blue,#236bff);color:#fff;min-width:190px}\r\n.crm-content .tvr-visa-editor-page [data-visa-form-error]{margin:0;padding:13px 16px;border:1px solid color-mix(in srgb,var(--danger,#c7364f) 35%,var(--line,#d8e0ee));border-radius:10px;background:var(--surface,#fff);color:var(--danger,#c7364f);overflow-wrap:anywhere}\r\n.crm-content .tvr-visa-editor-page [aria-invalid=true]{border-color:var(--danger,#c7364f)!important}\r\n.crm-content .tvr-visa-editor-page [data-visa-field-error]{color:var(--danger,#c7364f)}\r\n.crm-content .tvr-visa-editor-page [hidden]{display:none!important}\r\n.crm-content .tvr-visa-editor-page :is(input,select,button,a):focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n@media(max-width:650px){.crm-content .tvr-visa-editor-page .tvr-visa-editor,.crm-content .tvr-visa-editor-page .tvr-visa-form-pair,.crm-content .tvr-visa-editor-page .tvr-visa-person-grid{grid-template-columns:minmax(0,1fr);gap:16px}.crm-content .tvr-visa-editor-page .tvr-visa-form-card{padding:16px;gap:16px}.crm-content .tvr-visa-editor-page>h1{font-size:24px}.crm-content .tvr-visa-editor-page .tvr-visa-form-buttons{width:100%;gap:8px}.crm-content .tvr-visa-editor-page .tvr-visa-form-buttons>*{flex:1;min-width:0}.crm-content .tvr-visa-editor-page .tvr-visa-form-actions{gap:14px}.crm-content .tvr-visa-editor-page input:not([type=hidden]):not([type=radio]):not([type=checkbox]),.crm-content .tvr-visa-editor-page select{font-size:16px}.crm-content .tvr-visa-editor-page .tvr-visa-remove-person{width:44px;min-height:44px}.crm-content .tvr-visa-editor-page .tvr-visa-entry-type__choices span{min-height:44px}}\r\n\/* Shared boarding: one task per screen, without collapsed input fields. *\/\r\n[data-two-step] .tvr-manifest-editor-card{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100dvh - 44px)}\r\n[data-two-step] [data-tvr-manifest-form]{display:flex;flex-direction:column;flex:1}\r\n[data-two-step] .tvr-manifest-editor-actions{position:fixed;inset:auto 0 0;z-index:50;box-sizing:border-box;margin:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line,#d8e0ee);background:var(--surface,#fff);box-shadow:0 -6px 16px rgb(4 9 20 \/ 8%)}\r\n.tvr-boarding-success{position:fixed;top:50%;left:50%;z-index:200;display:grid;justify-items:center;gap:12px;max-width:calc(100vw - 48px);box-sizing:border-box;padding:24px 32px;border:1px solid #b7e6c8;border-radius:24px;background:#fff;color:#12813c;box-shadow:0 12px 48px rgb(4 9 20 \/ 20%);transform:translate(-50%,-50%);pointer-events:none;font:700 20px\/1.3 system-ui,sans-serif;text-align:center;animation:tvr-boarding-success-show 1.1s ease both}\r\n.tvr-boarding-success svg{width:88px;height:88px;overflow:visible}.tvr-boarding-success circle{fill:#e6f7ed}.tvr-boarding-success path{fill:none;stroke:#12813c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:tvr-boarding-success-check .35s .08s ease forwards}\r\n@keyframes tvr-boarding-success-show{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}15%,85%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}\r\n@keyframes tvr-boarding-success-check{to{stroke-dashoffset:0}}\r\n@media(prefers-reduced-motion:reduce){.tvr-boarding-success,.tvr-boarding-success path{animation:none}.tvr-boarding-success path{stroke-dashoffset:0}}\r\n[data-two-step] .tvr-manifest-editor-actions>div{display:flex;gap:12px;width:100%}\r\n[data-two-step] .tvr-manifest-editor-actions .tvr-button{flex:1;min-width:0}\r\n[data-two-step] .tvr-manifest-editor-actions .tvr-boarding-next{width:auto;margin-top:0}\r\n[data-two-step] [data-tvr-manifest-save-state]{margin:8px 0 16px}\r\n[data-two-step] .tvr-boarding-cash-fill{display:flex;align-items:stretch;min-width:0}\r\n[data-two-step] .tvr-boarding-cash-fill input{min-width:0;flex:1;border-radius:10px 0 0 10px}\r\n[data-two-step] .tvr-boarding-cash-fill button{flex:0 0 auto;padding:8px 12px;border:1px solid var(--line,#d8e0ee);border-left:0;border-radius:0 10px 10px 0;background:var(--surface,#fff);color:var(--blue,#2465ff);font:inherit;cursor:pointer}\r\n@media(max-width:700px){[data-two-step] .tvr-manifest-editor-card{min-height:100dvh}}\r\n[data-two-step] .tvr-boarding-steps{display:flex;gap:24px;margin:20px 0;color:#64748b}\r\n[data-two-step] .tvr-boarding-steps [aria-current]{color:#2465ff;font-weight:700}\r\n[data-two-step] [hidden]{display:none!important}\r\n[data-two-step] .tvr-boarding-payment-summary{background:#eaf3ff;border-radius:14px;padding:18px;margin-bottom:16px;display:grid;gap:6px}\r\n[data-two-step] .tvr-boarding-payment-summary strong{font-size:32px}\r\n[data-two-step] .tvr-boarding-sepay{text-align:center;margin:16px 0}\r\n[data-two-step] .tvr-boarding-sepay img{width:min(360px,100%);height:auto;max-height:none;object-fit:contain}\r\n[data-two-step] .tvr-boarding-sepay img.tvr-boarding-vietqr-logo{width:min(140px,45%);height:auto;border-radius:0}\r\n[data-two-step] .tvr-boarding-cash-input{display:grid;gap:6px;margin:14px 0;font-weight:600}\r\n[data-two-step] .tvr-boarding-cash-input input,[data-two-step] .tvr-manifest-editor-comment textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:12px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit}\r\n[data-two-step] .tvr-manifest-editor-comment{display:grid;gap:6px;margin:14px 0;font-weight:600}\r\n[data-two-step] .tvr-manifest-editor-comment textarea{min-height:72px;resize:vertical;font-weight:400}\r\n[data-two-step] .tvr-boarding-cash-input input:focus-visible,[data-two-step] .tvr-manifest-editor-comment textarea:focus-visible{outline:2px solid var(--blue,#2465ff);outline-offset:2px}\r\n[data-two-step] .tvr-boarding-payment-methods button[aria-pressed=true]{background:var(--blue,#2465ff);color:#fff}\r\n[data-two-step] .tvr-boarding-payment-methods button{display:flex;align-items:center;justify-content:center;gap:8px}\r\n[data-two-step] .tvr-boarding-payment-methods button svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n[data-two-step] .tvr-boarding-receipt{grid-template-columns:repeat(2,minmax(0,1fr))}\r\n[data-two-step] .tvr-boarding-receipt [data-receipt-view],[data-two-step] .tvr-boarding-receipt small{grid-column:1\/-1}\r\n[data-two-step] .tvr-boarding-next{width:100%;margin-top:24px}\r\n[data-two-step] [data-tvr-manifest-save]:disabled{opacity:.45;cursor:not-allowed}\r\n[data-two-step] [data-boarding-receipt-hint]{font-size:14px;color:#64748b}\r\n[data-two-step] [data-tvr-payment-panel] h3 small{font-size:12px;color:#a32020;background:#ffe3e3;border-radius:6px;padding:4px 8px}\r\n\r\n.tvr-ticket-boarding{min-width:0}.tvr-ticket-boarding-points{display:grid;gap:16px;margin:12px 0 0;padding:0;list-style:none}.tvr-ticket-boarding-points li{display:grid;gap:4px;overflow-wrap:anywhere}.tvr-ticket-boarding-points a{display:inline-block;padding:4px 0}\r\n.tvr-ticket-facts>.tvr-ticket-boarding-fact{grid-column:1\/-1}\r\n.tvr-booking-complete-boarding{padding:14px 0;border-top:1px solid #e4e7ec;overflow-wrap:anywhere}\r\n\r\n\/* Explicit arrival choices, matching the boarding passenger cards. *\/\r\n.tvr-shared-passenger-cards:has(.tvr-arrival-choice){gap:12px;border:0;border-radius:0;overflow:visible}\r\n.tvr-shared-passenger-cards .tvr-shared-passenger-card:has(.tvr-arrival-choice){padding:16px;border:1px solid #d8e0ee;border-radius:14px;background:#fff}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice{display:block;min-width:0;margin:0;padding:0;border:0}\r\n.tvr-arrival-identity-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}\r\n.tvr-arrival-identity-row .tvr-shared-passenger-identity{min-width:0;gap:6px}\r\n.tvr-arrival-identity-row .tvr-shared-passenger-identity>strong{font-size:18px;line-height:1.25}\r\n.tvr-arrival-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice .tvr-manifest-attendance-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:10px 8px;margin:0;border:1px solid #c8d4e6;border-radius:9px 0 0 9px;background:#fff;color:#17233c;font-size:16px;font-weight:700;line-height:1.25;text-align:center;box-sizing:border-box;cursor:pointer}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice .tvr-manifest-attendance-option:last-child{border-radius:0 9px 9px 0}\r\n.tvr-arrival-choice input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;pointer-events:none}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice .is-departed:has(input:checked){border-color:#15803d;background:#15803d;color:#fff}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice .is-no_show:has(input:checked){border-color:#475569;background:#475569;color:#fff}\r\n.tvr-shared-passenger-cards .tvr-arrival-choice .tvr-manifest-attendance-option:has(input:focus-visible){z-index:1;outline:3px solid #2467ff;outline-offset:2px}\r\n.tvr-arrival-choice .tvr-manifest-attendance-option:has(input:disabled){cursor:default}\r\n.tvr-arrival-hint{display:block;margin-top:8px;color:#a65b00;font-size:13px;line-height:1.3}\r\n.tvr-arrival-hint[hidden],.tvr-arrival-footer-hint[hidden]{display:none}\r\n[data-two-step] .tvr-arrival-status-count{margin:6px 0 0;color:#67748a;font-size:13px}\r\n[data-two-step] .tvr-arrival-footer-hint{margin:0 0 8px;color:#a65b00;font-size:13px;line-height:1.3}\r\n[data-two-step]:has(.tvr-arrival-choice) .tvr-manifest-editor-card{padding-bottom:calc(140px + env(safe-area-inset-bottom))}\r\n[data-two-step] [data-boarding-next]:disabled{opacity:.45;cursor:not-allowed}\r\n@media(max-width:350px){.tvr-shared-passenger-cards .tvr-shared-passenger-card:has(.tvr-arrival-choice){padding:12px}.tvr-arrival-identity-row .tvr-shared-passenger-identity>strong{font-size:16px}.tvr-shared-passenger-cards .tvr-arrival-choice .tvr-manifest-attendance-option{font-size:14px}}\r\n\r\n\/* The panel embeds the same boarding surface as the driver page. *\/\r\n.tvr-boarding-panel{width:100%;box-sizing:border-box;border-radius:16px;--surface:#f4f6fb;--line:#d7e1f3;--text:#17233c;--muted:#66748c;color-scheme:light}\r\n\/* Auto margins on this grid item must not derive the page width from the active tab. *\/\r\n.tvr-boarding-panel>main{width:100%;min-width:0;box-sizing:border-box}\r\n.tvr-boarding-journey-select{display:block;width:100%;min-height:44px;margin:8px 0 14px;padding:8px 12px;border:1px solid #d7e1f3;border-radius:12px;background:#fff;color:#17233c;font:inherit}\r\n.tvr-boarding-logout{justify-self:end;min-height:44px;padding:8px 12px;border:1px solid #d7e1f3;border-radius:10px;background:#fff;color:#17233c}\r\n.tvr-shared-boarding-page .tvr-shared-staff-name-button:disabled{opacity:1;color:inherit;cursor:default}\r\n\r\n\/* The employee mount follows the panel theme; guest pages keep their light palette. *\/\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel{--surface:#171c27;--surface-2:#202736;--line:#30394d;--text:#f5f7fb;--muted:#9da9be;color-scheme:dark;background:var(--surface);color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-app{color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-app .tvr-manifest-tabs{background:var(--surface-2)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-tabs button:hover:not([aria-selected=\"true\"]){background:#253658}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-summary>.tvr-manifest-cash-counter,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-staff-bar .tvr-shared-language,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-card,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-boarding-journey-select,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-boarding-logout{background:var(--surface);border-color:var(--line);color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-staff-bar .tvr-shared-staff-name-button,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-staff-bar .tvr-shared-language[data-language-short]:after,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-staff-bar .tvr-shared-language option,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-seat>strong{color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-cash-counter>span,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-language-icon,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-language-arrow,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-details,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-seat>span{color:var(--muted)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-seat{background:var(--surface-2);border-color:var(--line)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-shared-passenger-cards .tvr-arrival-choice .tvr-manifest-attendance-option:not(:has(input:checked)){background:var(--surface-2);border-color:var(--line);color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-boarding-payment-summary,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-editor-due[data-cash-action]{background:#203553;color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-editor-due[data-cash-action=out]{background:#3b2b12}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-editor-due[data-cash-action] span{color:var(--text)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-editor-due[data-cash-action] small{color:var(--muted)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-bus-seat.is-departed{background:#153a29;border-color:#22c55e;color:#b9f6ce}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-bus-seat.is-expected{background:#452126;border-color:#ef4444;color:#fecaca}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-bus-seat.is-no-show,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-bus-seat.is-free{background:#293140;border-color:#536079;color:#bac4d4}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-seat-payment{background:var(--surface)}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-seat-payment.is-paid,\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel [data-tvr-attendance-count],\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-manifest-summary [data-summary-kind=departed] strong{color:#86efac}\r\nhtml[data-theme=\"dark\"] .tvr-boarding-panel .tvr-seat-payment.is-unpaid{color:#fca5a5}\r\n\r\n\/* Employee date selection uses an explicit calendar and a separate same-day trip choice. *\/\r\n.tvr-boarding-journey-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:10px 0 16px;min-width:0}\r\n.tvr-boarding-journey-controls>label,.tvr-boarding-date-field{display:grid;gap:6px;flex:1 1 220px;min-width:0;color:var(--text,#17233c);font-size:13px;font-weight:700}\r\n.tvr-boarding-journey-controls>label[hidden]{display:none}\r\n.tvr-boarding-date-calendar,.tvr-boarding-journey-controls .tvr-boarding-journey-select{margin:0;width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d7e1f3);border-radius:10px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit;font-size:16px}\r\n.tvr-boarding-date-calendar:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n\r\n\/* Seats and the customer QR remain visible on the main ticket. *\/\r\n.tvr-ticket-boarding-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin:16px 0;padding:16px 0;border-top:1px solid #e4eaf2}\r\n.tvr-ticket-boarding-seats{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:0;padding:0;flex:1;min-width:160px}\r\n.tvr-ticket-boarding-seats li{display:grid;gap:4px;overflow-wrap:anywhere}\r\n.tvr-ticket-boarding-seats span{color:#526782}\r\n.tvr-ticket-customer-qr{display:grid;gap:6px;justify-items:center;text-align:center;max-width:190px;font-size:13px;overflow-wrap:anywhere}\r\n.tvr-ticket-customer-qr .tvr-passenger-qr-code{width:152px;height:152px;background:#fff;padding:8px}\r\n.tvr-ticket-customer-qr .tvr-passenger-qr-code svg{display:block;width:100%;height:100%}\r\n.tvr-ticket-customer-qr small{line-height:1.4;color:#526782}\r\n@media(max-width:480px){.tvr-ticket-boarding-summary{align-items:flex-start;gap:16px}.tvr-ticket-boarding-seats{flex-basis:100%}}\r\n\r\n.tvr-boarding-date-picker{position:relative;min-width:0}\r\n.tvr-boarding-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d7e1f3);border-radius:10px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit;font-size:16px;text-align:left;cursor:pointer}\r\n.tvr-boarding-date-trigger svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-boarding-date-calendar[hidden],.tvr-boarding-date-popover[hidden]{display:none!important}\r\n.tvr-boarding-date-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:min(320px,calc(100vw - 48px));box-sizing:border-box;padding:12px;border:1px solid var(--line,#d7e1f3);border-radius:12px;background:var(--surface,#fff);color:var(--text,#17233c);box-shadow:0 6px 24px rgb(25 45 75 \/ 18%)}\r\n.tvr-boarding-date-month{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px;text-align:center;margin-bottom:8px}\r\n.tvr-boarding-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}\r\n.tvr-boarding-date-grid>span{font-size:12px;padding:4px 0;color:var(--muted,#65748c)}\r\n.tvr-boarding-date-popover button{min-width:0;min-height:40px;padding:4px;border:1px solid var(--line,#d7e1f3);border-radius:7px;background:var(--surface-2,#eaf0f9);color:inherit;font:inherit;cursor:pointer}\r\n.tvr-boarding-date-popover button:disabled{opacity:.4;cursor:default}\r\n.tvr-boarding-date-popover button[aria-pressed=\"true\"]{background:var(--blue,#236bff);color:#fff}\r\n.tvr-boarding-date-picker button:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n\/* Keep the employee journey calendar in the first header row. *\/\r\n.tvr-shared-staff-bar.has-journey-calendar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-bottom:8px}\r\n.tvr-shared-staff-bar .tvr-boarding-journey-controls{margin:0;gap:8px;align-items:center;justify-content:flex-end}\r\n.tvr-shared-staff-bar .tvr-boarding-date-field{flex:0 1 auto;gap:0}\r\n.tvr-shared-staff-bar .tvr-boarding-date-trigger{width:auto;height:44px;min-height:44px;box-sizing:border-box;padding:4px 10px;gap:8px;white-space:nowrap;font-size:14px}\r\n.tvr-boarding-date-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.tvr-shared-staff-bar .tvr-boarding-date-text>.tvr-shared-trip-hour{color:var(--muted,#66748c);font-size:11px;line-height:1.2;margin:0}.tvr-shared-staff-bar.has-journey-calendar .tvr-shared-language{height:44px}.tvr-shared-staff-bar.has-journey-calendar .tvr-shared-staff-name-button{min-height:44px}\r\n.tvr-shared-staff-bar .tvr-boarding-date-popover{left:auto;right:0}\r\n.tvr-shared-boarding-page .tvr-shared-staff-bar .tvr-boarding-journey-select{position:static;inset:auto;opacity:1;width:100%;height:auto;min-height:40px;padding:8px 10px;color:var(--text,#17233c)}\r\n@media(max-width:600px){.tvr-shared-staff-bar.has-journey-calendar{gap:6px}.tvr-shared-staff-bar .tvr-boarding-journey-controls{max-width:190px;gap:4px}.tvr-shared-staff-bar .tvr-boarding-date-trigger{padding:4px 6px;gap:5px;font-size:13px}}\r\n\/* Inline day choices avoid popover clipping in mobile and expanded boarding views. *\/\r\n.tvr-boarding-day-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1 1 100%;min-width:0}\r\n.tvr-boarding-day-switch button{min-width:0;min-height:44px;padding:10px 6px;border:1px solid var(--line,#d7e1f3);border-radius:10px;background:var(--surface-2,#edf2f8);color:var(--text,#17233c);font:inherit;font-weight:700;cursor:pointer}\r\n.tvr-boarding-day-switch button[aria-pressed=true]{background:var(--blue,#236bff);border-color:var(--blue,#236bff);color:#fff}\r\n.tvr-boarding-day-switch button:disabled{opacity:.45;cursor:default}\r\n.tvr-boarding-day-switch button:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n\r\n.tvr-boarding-panel .tvr-shared-trip-date{color:var(--text,#17233c)}\r\n\r\n\/* This header switch is separate from the CRM full-screen viewport controls. *\/\r\n.tvr-boarding-header-toggle{display:block;min-height:44px;width:100%;box-sizing:border-box;margin:8px 0;padding:10px 12px;border:1px solid var(--line,#d7e1f3);border-radius:10px;background:var(--surface-2,#edf2f8);color:var(--text,#17233c);font:inherit;font-weight:700;cursor:pointer}\r\n.tvr-boarding-header-toggle:focus-visible{outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-bookings-list[data-boarding-header-collapsed=\"1\"]>.tvr-bookings-list-header,\r\n.tvr-bookings-list[data-boarding-header-collapsed=\"1\"]>.tvr-shared-boarding-controls,\r\n.tvr-bookings-list[data-boarding-header-collapsed=\"1\"]>.tvr-boarding-panel .tvr-shared-staff-bar,\r\n.tvr-bookings-list[data-boarding-header-collapsed=\"1\"]>.tvr-boarding-panel .tvr-boarding-journey-controls,\r\n.tvr-bookings-list[data-boarding-header-collapsed=\"1\"]>.tvr-boarding-panel .tvr-manifest-summary{display:none!important}\r\n\r\n\/* In normal boarding, scroll the mobile menu header with the page instead of covering seats. *\/\r\n@media(max-width:1000px){\r\nbody:not(.is-crm-table-mode):has(.tvr-boarding-panel) .crm-mobile-header{position:static;inset:auto}\r\nbody:not(.is-crm-table-mode):has(.tvr-boarding-panel) .crm-shell{padding-top:0}\r\n}\r\n\r\n\/* Let the sticky boarding tabs travel through the whole trip, not a single grid row. *\/\r\n.tvr-shared-boarding-page .tvr-manifest[data-review-mode=\"0\"] .tvr-manifest-trip{display:block}\r\n.tvr-shared-boarding-page .tvr-manifest-trip>.tvr-manifest-tabs{margin-bottom:6px}\r\n\r\n\/* Normal boarding scrolls the page when a gesture starts on the bus map. *\/\r\n.tvr-boarding-panel .tvr-manifest-bus-wrap[data-crm-compact-viewport]:not(.is-crm-table-mode-active){overflow:visible;overscroll-behavior:auto;contain:none}\r\n\r\n\/* The normal trip calendar passes vertical gestures to the page; its grid still pans horizontally. *\/\r\n.tvr-visabus-cabinet [data-tvr-calendar-filter-root][data-crm-compact-viewport]:not(.is-crm-table-mode-active){overflow:visible;overscroll-behavior:auto;contain:none}\r\n.tvr-settlement-dialog:has([data-finance-wizard]){width:min(1240px,calc(100vw - 40px));max-height:94dvh;padding:24px;box-sizing:border-box;overscroll-behavior:contain}\r\n.tvr-finance-wizard{--finance-accent:#00845b;--finance-line:var(--line,#d8e1ea);font-size:14px;line-height:1.5}\r\n.tvr-finance-wizard [hidden]{display:none!important}\r\n.tvr-finance-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:0 35px 20px 0}\r\n.tvr-finance-heading h2{font-size:28px;margin:0}.tvr-finance-heading p{margin:4px 0}\r\n.tvr-finance-meta{display:flex;gap:8px;flex-wrap:wrap}.tvr-finance-meta span{padding:8px 12px;border:1px solid var(--finance-line);border-radius:8px}\r\n.tvr-finance-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}\r\n.tvr-finance-wizard button{font:inherit;min-height:44px;border:1px solid var(--finance-line);background:var(--surface,#fff);color:inherit}\r\n.tvr-finance-wizard button:focus-visible,.tvr-finance-wizard summary:focus-visible{outline:3px solid #28b48c;outline-offset:3px}\r\n.tvr-finance-steps button{display:flex;gap:10px;align-items:center;text-align:left;margin:0}.tvr-finance-steps button span{border-radius:50%;background:var(--surface-2,#eef3f6);padding:5px 11px}\r\n.tvr-finance-steps [aria-current=step]{color:var(--finance-accent);border-color:var(--finance-accent);font-weight:700}.tvr-finance-steps [aria-current=step] span{background:var(--finance-accent);color:white}\r\n.tvr-finance-kpis,.tvr-finance-cash-equation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 24px}\r\n.tvr-finance-kpis>div,.tvr-finance-cash-equation>div{padding:16px;border:1px solid var(--finance-line);border-radius:10px}.tvr-finance-kpis span,.tvr-finance-cash-equation span{display:block}.tvr-finance-kpis strong,.tvr-finance-cash-equation strong{display:block;font-size:22px;margin-top:6px;font-variant-numeric:tabular-nums}\r\n.tvr-finance-passenger-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tvr-finance-passenger-tools input{margin-left:auto;min-width:220px}.tvr-finance-passenger-tools [aria-pressed=true]{border-color:var(--finance-accent);color:var(--finance-accent)}\r\n.tvr-finance-passengers{border:1px solid var(--finance-line);border-radius:10px;overflow:hidden}.tvr-finance-passengers>details+details{border-top:1px solid var(--finance-line)}\r\n.tvr-finance-passengers summary{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:16px;align-items:center;cursor:pointer;padding:14px 16px;list-style:none}.tvr-finance-passengers summary small{display:block;font-size:12px;opacity:.75;margin-top:4px}.tvr-finance-passengers details[open]>summary{background:var(--surface-2,#eef8f4)}\r\n.tvr-finance-badge{padding:5px 8px;border-radius:6px;background:var(--surface-2,#f3f5f7);font-size:12px}.tvr-finance-passenger-body{padding:16px;border-top:1px solid var(--finance-line)}\r\n.tvr-finance-bank-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px}.tvr-finance-bank-layout>div{min-width:0}.tvr-finance-wizard [data-bank-results]>p{padding:12px;border:1px solid var(--finance-line);border-radius:8px;overflow-wrap:anywhere}\r\n.tvr-finance-wizard fieldset{border-radius:10px}.tvr-finance-wizard [data-bank-allocation],.tvr-finance-wizard [data-settlement-expense],.tvr-finance-wizard [data-finance-handover]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}\r\n.tvr-finance-wizard fieldset label{margin:4px 0}.tvr-finance-wizard input,.tvr-finance-wizard select,.tvr-finance-wizard textarea{width:100%;min-height:42px;font:inherit}.tvr-finance-wizard input[type=checkbox]{width:18px;min-height:18px;flex:none}.tvr-finance-wizard textarea{min-height:72px}\r\n.tvr-finance-costs fieldset{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;align-items:center}.tvr-finance-costs fieldset legend{font-weight:700}.tvr-finance-costs small{display:block;opacity:.75}\r\n.tvr-finance-cash-equation{grid-template-columns:repeat(5,minmax(0,1fr))}.tvr-finance-cash-equation strong{font-size:18px}\r\n.tvr-finance-history{margin:16px 0;padding:12px;border:1px solid var(--finance-line);border-radius:10px}.tvr-finance-history>summary{cursor:pointer;font-weight:600}\r\n.tvr-finance-bulk{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.tvr-finance-bulk label{flex:1}.tvr-finance-wizard [data-finance-task]{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}\r\n.tvr-finance-footer{position:sticky;bottom:-24px;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:16px 0;background:var(--surface,#fff);border-top:1px solid var(--finance-line);margin-top:24px}.tvr-finance-footer>[data-finance-dirty]{margin-right:auto}.tvr-finance-footer [data-finance-next],.tvr-finance-footer [value=accept]{background:var(--finance-accent);border-color:var(--finance-accent);color:#fff}.tvr-finance-footer [data-settlement-state]{flex-basis:100%}\r\n.tvr-finance-wizard button:disabled{opacity:.5;cursor:not-allowed}.tvr-finance-wizard [data-finance-blockers] button{display:block;width:100%;text-align:left;margin:8px 0}.tvr-finance-wizard [aria-invalid=true]{border-color:#d14836}\r\n@media(max-width:760px){.tvr-settlement-dialog:has([data-finance-wizard]){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:16px}.tvr-finance-heading{display:block}.tvr-finance-heading h2{font-size:24px}.tvr-finance-meta{margin-top:12px}.tvr-finance-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-finance-kpis,.tvr-finance-cash-equation{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-finance-kpis strong{font-size:18px}.tvr-finance-passengers summary{grid-template-columns:1fr 1fr;gap:8px}.tvr-finance-passengers summary>span:first-child{grid-column:1\/-1}.tvr-finance-bank-layout,.tvr-finance-costs fieldset,.tvr-finance-wizard [data-finance-task]{grid-template-columns:1fr}.tvr-finance-footer{bottom:-16px}.tvr-finance-footer>[data-finance-dirty]{flex-basis:100%}.tvr-finance-footer button{flex:1}.tvr-finance-passenger-tools input{width:100%;min-width:0}.tvr-finance-wizard [data-bank-allocation],.tvr-finance-wizard [data-settlement-expense],.tvr-finance-wizard [data-finance-handover]{grid-template-columns:1fr}}\r\n\r\n\/* Finance wizard density: keep the first passenger and actions reachable on phones. *\/\r\n.tvr-finance-meta>span{display:grid;gap:2px;min-width:0}.tvr-finance-meta small{font-size:11px;opacity:.8}.tvr-finance-meta strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}\r\nhtml[data-theme=dark] .tvr-finance-steps [aria-current=step],html[data-theme=dark] .tvr-finance-passenger-tools [aria-pressed=true]{color:#6ee7b7;border-color:#238d70}\r\n@media(max-width:760px){.tvr-finance-heading{margin-bottom:12px}.tvr-finance-heading h2{font-size:22px}.tvr-finance-heading p{font-size:12px;line-height:1.4}.tvr-finance-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.tvr-finance-meta>span{padding:6px;font-size:12px}.tvr-finance-meta small{font-size:10px}.tvr-finance-meta strong{font-size:12px}.tvr-finance-steps{gap:6px;margin-bottom:12px}.tvr-finance-steps button{font-size:12px;min-height:44px;gap:7px;padding:7px}.tvr-finance-steps button span{padding:3px 8px}.tvr-finance-kpis{gap:8px;margin:12px 0 16px}.tvr-finance-kpis>div{padding:10px}.tvr-finance-kpis span{font-size:12px}.tvr-finance-kpis strong{font-size:18px;margin-top:4px}.tvr-finance-footer{gap:6px;padding:10px 0;margin-top:16px}.tvr-finance-footer>[data-finance-dirty]{font-size:12px}.tvr-finance-footer button{font-size:12px;padding:8px}}\r\n<\/style><div class=\"tvr-home-embed\" data-tvr-home-embed data-tvr-deferred-results=\"1\">\t\t<div class=\"tvr-app tvr-app--transport-catalog\">\r\n\t\t\t<form class=\"tvr-filter tvr-result-filter tvr-result-filter--standalone\" method=\"get\">\r\n\t\t\t\t<div class=\"tvr-search-field tvr-search-field--date\">\r\n\t\t\t\t\t<label class=\"tvr-search-field-label\" for=\"tvr-search-date\">\u0414\u0430\u0442\u0430<\/label>\r\n\t\t\t\t\t<div class=\"tvr-date-control\" data-date-separator=\" \" data-date-order=\"dmy\">\r\n\t\t\t\t\t\t<input id=\"tvr-search-date\" class=\"tvr-date-display\" type=\"text\" value=\"\" placeholder=\"20 \u043e\u043a\u0442. 2026\" autocomplete=\"off\" maxlength=\"20\" readonly aria-haspopup=\"dialog\" aria-expanded=\"false\">\r\n\t\t\t\t\t\t<input class=\"tvr-date-value\" type=\"hidden\" name=\"tvr_date\" value=\"\">\r\n\t\t\t\t\t\t<input class=\"tvr-date-picker-input\" type=\"date\" value=\"\" min=\"2026-10-20\" tabindex=\"-1\" aria-hidden=\"true\">\r\n\t\t\t\t\t\t<button class=\"tvr-date-picker-button\" type=\"button\" aria-label=\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0443\"><svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"19\" height=\"19\"><path d=\"M7 3v3m10-3v3M4.5 9h15M6 5h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/><\/svg><\/button>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u041e\u0442\u043a\u0443\u0434\u0430<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u041e\u0442\u043a\u0443\u0434\u0430<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Da Nang\" ><span>Da Nang<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Lao Bao\" ><span>Lao Bao<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Hoi An\" ><span>Hoi An<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<div hidden><input type=\"checkbox\" name=\"tvr_transport_type[]\" value=\"car\" ><input type=\"checkbox\" name=\"tvr_transport_type[]\" value=\"seated_bus\" ><input type=\"checkbox\" name=\"tvr_transport_type[]\" value=\"sleeper_bus\" ><\/div>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_border_result[]\" value=\"visa\" ><span>\u0412\u0438\u0437\u0430<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_border_result[]\" value=\"stamp\" ><span>\u0428\u0442\u0430\u043c\u043f<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<button class=\"tvr-result-clear\" type=\"button\">\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b<\/button>\r\n\t\t\t<\/form>\r\n\t\t\t\t<div class=\"tvr-transport-tabs\" role=\"group\" aria-label=\"\u0422\u0438\u043f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0430\">\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" data-tvr-transport-tab=\"\" aria-controls=\"tvr-trip-list\" aria-pressed=\"true\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"\/><\/svg><span>\u0412\u0441\u0435<\/span><\/button>\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" data-tvr-transport-tab=\"sleeper_bus\" aria-controls=\"tvr-trip-list\" aria-pressed=\"false\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"3\" width=\"14\" height=\"16\" rx=\"3\"\/><path d=\"M5 11h14M12 3v8M7 19v2m10-2v2M8 15h1m6 0h1\"\/><\/svg><span>\u0421\u043b\u0438\u043f\u0431\u0430\u0441<\/span><\/button>\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" data-tvr-transport-tab=\"car\" aria-controls=\"tvr-trip-list\" aria-pressed=\"false\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m5 9 2-5h10l2 5M3 11a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v7H3zM5 18v3m14-3v3M6 13h2m8 0h2\"\/><\/svg><span>\u0410\u0432\u0442\u043e<\/span><\/button>\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<div class=\"tvr-results-layout tvr-results-layout--transport\">\r\n\t\t\t\t<div class=\"tvr-list is-loading\" id=\"tvr-trip-list\" aria-busy=\"true\"><span class=\"tvr-catalog-loading\" role=\"status\">\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u0435\u0437\u0434\u043e\u043a\u2026<\/span><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<\/div><script>window.tripandVisaRunConfig={\"locale\":\"ru_RU\",\"datetime_locale\":\"ru-RU\",\"ajax_url\":\"https:\\\/\\\/tripand.app\\\/wp-admin\\\/admin-ajax.php?language=ru\\u0026tvr_language=ru\\u0026tripand_lang=ru\",\"ai_nonce\":\"daa3de5435\",\"visa_rules\":{\"version\":1,\"updated_at\":\"2026-08-16\",\"countries\":{\"laos\":{\"label\":\"\u041b\u0430\u043e\u0441\",\"exemptions\":{\"Russia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Belarus\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Brunei\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Luxembourg\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Cambodia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Malaysia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Philippines\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Switzerland\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Thailand\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Indonesia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Japan\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Mongolia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Myanmar\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Singapore\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"South Korea\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\"},\"visa_price\":\"\u0426\u0435\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u0430\",\"visa_method\":\"\u041d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0438\u043b\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 \u0432\u0438\u0437\u043e\u0432\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\",\"source_url\":\"https:\\\/\\\/laoevisa.gov.la\\\/info\"},\"vietnam\":{\"label\":\"\u0412\u044c\u0435\u0442\u043d\u0430\u043c\",\"exemptions\":{\"Chile\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 90 \u0434\u043d\u0435\u0439\",\"Panama\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 90 \u0434\u043d\u0435\u0439\",\"Belgium\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Bulgaria\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Hungary\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Germany\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Denmark\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Spain\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Italy\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Luxembourg\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Netherlands\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Norway\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Poland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"South Korea\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Russia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Romania\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Slovakia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Slovenia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"United Kingdom\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Finland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"France\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Croatia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Czechia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Switzerland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Sweden\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Japan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Belarus\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Cambodia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Indonesia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Kazakhstan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Kyrgyzstan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Laos\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Malaysia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Mongolia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Myanmar\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Singapore\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Thailand\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Philippines\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 21 \u0434\u043d\u0435\u0439\",\"Brunei\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 14 \u0434\u043d\u0435\u0439\"},\"visa_price\":\"\u041e\u0442 25 USD\",\"visa_method\":\"\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0442\u0443\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0438\u0437\u0430\",\"source_url\":\"https:\\\/\\\/evisa.gov.vn\\\/\"},\"cambodia\":{\"label\":\"\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430\",\"exemptions\":{\"Laos\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Malaysia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Philippines\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Singapore\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Vietnam\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Thailand\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Indonesia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Brunei\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Myanmar\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\"},\"visa_price\":\"30 USD\",\"visa_method\":\"\u0422\u0443\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f eVisa, \u043e\u043a\u043e\u043b\u043e 3 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0434\u043d\u0435\u0439\",\"source_url\":\"https:\\\/\\\/www.evisa.gov.kh\\\/information\\\/visa_type\\\/4?vcode=134\"}}},\"pickup_map\":{\"version\":\"2026.09.04.1\",\"archives\":[{\"id\":\"vietnam-overview\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"bounds\":[102,7.2,115,23.5],\"bytes\":29074325,\"sha256\":\"c8ed2df4ec3a2cf49d333ee152a95c151fdff7175004cf7928ae5587cb5d4fb9\"}],\"overview_archive\":{\"id\":\"vietnam-overview\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"bounds\":[102,7.2,115,23.5],\"tile_min_zoom\":6,\"tile_max_zoom\":10,\"display_min_zoom\":6,\"display_max_zoom\":17,\"bytes\":29074325,\"sha256\":\"c8ed2df4ec3a2cf49d333ee152a95c151fdff7175004cf7928ae5587cb5d4fb9\"},\"regional_archives\":[{\"id\":\"north\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-north.pmtiles\",\"bounds\":[102,19.5,109,23.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":284425785,\"sha256\":\"a4cd4446e9092f577348434a1f6a4b75f69a9a27cfc27b45a159c8a349423a4b\"},{\"id\":\"north-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-north-central.pmtiles\",\"bounds\":[103,16.5,109,20.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":130178476,\"sha256\":\"758369692cb9292ff9f1d677b97039e883d3bda52780169706bb5c56fe238813\"},{\"id\":\"south-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-south-central.pmtiles\",\"bounds\":[105.4,12,110.2,17.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":154348205,\"sha256\":\"89fa39763c7608e1bec227940cc7bdb1f247a78460f73527e63137607a6298f7\"},{\"id\":\"south\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-south.pmtiles\",\"bounds\":[102.5,7.2,115,13],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":211479091,\"sha256\":\"2049537c169d76d34d45e491170fda48a7469e68d844d6da211b19024ed8a668\"}],\"detail_archives\":[{\"id\":\"lao-bao-detail\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/details\\\/2026.09.03.2\\\/tripand-light-lao-bao-detail.pmtiles\",\"bounds\":[106.439,16.4869,106.72,16.7565],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":1273599,\"sha256\":\"8731396fa50d7dd4ae6117912827a002a5b85dc050aaf155d17081f610f80c45\"}],\"fallback_archives\":[{\"id\":\"north\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-north.pmtiles\",\"bounds\":[102,19.5,109,23.5],\"bytes\":215205270,\"sha256\":\"03650f9af8d984175ad69bb184dd7261d87d91250dc1f14e09f58a765ded0db9\"},{\"id\":\"north-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-north-central.pmtiles\",\"bounds\":[103,16.5,109,19.5],\"bytes\":46470512,\"sha256\":\"b15ccd7c5777332aa0fa0a837cff5f226f32efd1f1b6c920acf0cf36b536f761\"},{\"id\":\"south-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-south-central.pmtiles\",\"bounds\":[105.4,12,110.2,16.5],\"bytes\":98564451,\"sha256\":\"907202e3ae625dd36eb49199ed67ca8b786749d0ea6ca4eae25ffba87cc46e97\"},{\"id\":\"south\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-south.pmtiles\",\"bounds\":[102.5,7.2,115,12],\"bytes\":138483354,\"sha256\":\"05a1b97a391988b55bca13c799919397d471d968ed0f3f1881f686ad8d0b847c\"}],\"archive_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"fallback_archive_url\":\"\",\"glyphs_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/fonts\\\/{fontstack}\\\/{range}.pbf\",\"glyphs_fallback_url\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/fonts-2026.09.06.1\\\/{fontstack}\\\/{range}.pbf\",\"diagnostics\":false,\"marker_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/icons\\\/pickup-marker.svg\",\"min_zoom\":6,\"max_zoom\":17,\"sha256\":\"\",\"regions\":[{\"id\":\"vietnam\",\"name\":\"Vietnam\",\"bounds\":[102,7.2,115,23.5],\"center\":[108.2022,16.0544],\"initial_zoom\":12}],\"route_overview\":{\"min_zoom\":6,\"reset_max_zoom\":10,\"bounds_padding_degrees\":0.18},\"place_labels\":[{\"coordinates\":[105.8342,21.0278],\"name\":\"Hanoi\",\"name_ru\":\"\u0425\u0430\u043d\u043e\u0439\",\"name_vi\":\"H\u00e0 N\u1ed9i\"},{\"coordinates\":[107.5909,16.4637],\"name\":\"Hue\",\"name_ru\":\"\u0425\u044e\u044d\",\"name_vi\":\"Hu\u1ebf\"},{\"coordinates\":[108.2022,16.0544],\"name\":\"Da Nang\",\"name_ru\":\"\u0414\u0430\u043d\u0430\u043d\u0433\",\"name_vi\":\"\u0110\u00e0 N\u1eb5ng\"},{\"coordinates\":[108.328,15.88],\"name\":\"Hoi An\",\"name_ru\":\"\u0425\u043e\u0439\u0430\u043d\",\"name_vi\":\"H\u1ed9i An\"},{\"coordinates\":[106.599,16.627],\"name\":\"Lao Bao\",\"name_ru\":\"Lao Bao\",\"name_vi\":\"Lao B\u1ea3o\"},{\"coordinates\":[109.1967,12.2388],\"name\":\"Nha Trang\",\"name_ru\":\"\u041d\u044f\u0447\u0430\u043d\u0433\",\"name_vi\":\"Nha Trang\"},{\"coordinates\":[108.4583,11.9404],\"name\":\"Da Lat\",\"name_ru\":\"\u0414\u0430\u043b\u0430\u0442\",\"name_vi\":\"\u0110\u00e0 L\u1ea1t\"},{\"coordinates\":[106.6297,10.8231],\"name\":\"Ho Chi Minh City\",\"name_ru\":\"\u0425\u043e\u0448\u0438\u043c\u0438\u043d\",\"name_vi\":\"Th\u00e0nh ph\u1ed1 H\u1ed3 Ch\u00ed Minh\"}],\"timeout_ms\":10000,\"assets\":{\"maplibre_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/maplibre-gl.js\",\"maplibre_css\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/maplibre-gl.css\",\"pmtiles_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/pmtiles.js\",\"basemaps_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/protomaps-basemaps.js\"}},\"strings\":{\"passengers\":\"\u041f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\",\"seats\":\"\u041c\u0435\u0441\u0442\u0430\",\"extras\":\"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043b\u0443\u0433\u0438\",\"visa\":\"\u0412\u0438\u0437\u0430\",\"visa_cost\":\"\u0412\u0438\u0437\u0430\",\"visas\":\"\u0412\u0438\u0437\u044b\",\"price_per_person\":\"\u0426\u0435\u043d\u0430 \u0437\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430\",\"visa_or_stamp\":\"\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f\",\"visa_own\":\"\u041e\u0444\u043e\u0440\u043c\u043b\u044e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\",\"visa_tripand\":\"\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c\",\"passport_file_error\":\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JPEG, PNG, WebP \u0438\u043b\u0438 PDF \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e 10 \u041c\u0411.\",\"portrait_file_error\":\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e 3\u00d74 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JPEG, PNG, WebP \u0438\u043b\u0438 PDF \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e 10 \u041c\u0411.\",\"review\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\",\"auth\":\"\u0412\u043e\u0439\u0434\u0438\u0442\u0435\",\"open_photo\":\"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e\",\"close\":\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c\",\"passenger\":\"\u041f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\",\"passenger_incomplete\":\"\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\",\"stamp\":\"\u0428\u0442\u0430\u043c\u043f\",\"details\":\"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435\",\"passenger_short\":\"\u041f\",\"reset\":\"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c\",\"seat_number\":\"\u041c\u0435\u0441\u0442\u043e %s\",\"seat_on_boarding\":\"\u0410\u0432\u0442\u043e\u0432\u044b\u0431\u043e\u0440\",\"seat_not_selected\":\"\u041c\u0435\u0441\u0442\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"choose_seat_for_every_passenger\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0435\u0441\u0442\u043e \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u043c\u0435\u0441\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430.\",\"shares_parent_seat\":\"\u0411\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0441 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c\",\"assign_on_boarding\":\"\u0410\u0432\u0442\u043e\u0432\u044b\u0431\u043e\u0440\",\"without_seat_selection\":\"\u0411\u0435\u0437 \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0441\u0442\",\"without_extra_options\":\"\u0411\u0435\u0437 \u0434\u043e\u043f \u043e\u043f\u0446\u0438\u0439\",\"citizenship_value\":\"\u0413\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e: %s\",\"adult\":\"\u0412\u0437\u0440\u043e\u0441\u043b\u044b\u0439\",\"child\":\"\u0420\u0435\u0431\u0451\u043d\u043e\u043a\",\"pickup_address_value\":\"\u0410\u0434\u0440\u0435\u0441: %s\",\"pickup_comment_value\":\"\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043a \u043f\u043e\u0441\u0430\u0434\u043a\u0435: %s\",\"select_citizenship\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430.\",\"choose_citizenship\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e\",\"citizenship_search\":\"\u041d\u0430\u0439\u0442\u0438 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e\",\"visa_required\":\"\u041d\u0443\u0436\u043d\u0430 \u0432\u0438\u0437\u0430\",\"visa_not_required\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"other_countries\":\"\u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u044b\",\"customer\":\"\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\",\"trip\":\"\u041f\u043e\u0435\u0437\u0434\u043a\u0430\",\"no_extras\":\"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"sending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u2026\",\"booking_processing_title\":\"\u041e\u0444\u043e\u0440\u043c\u043b\u044f\u0435\u043c \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\",\"checking_availability\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043c\u0435\u0441\u0442\u0430\",\"booking_in_progress\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u0443\u0435\u043c\",\"almost_ready\":\"\u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e\",\"booking_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\",\"use_account_email\":\"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c email \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430: %s\",\"booking_limit_reached\":\"\u0412\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043b\u0438\u043c\u0438\u0442\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0431\u0440\u043e\u043d\u0435\u0439: 2. \u041e\u0442\u043c\u0435\u043d\u0438\u0442\u0435 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043d\u0438\u0445, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e.\",\"passenger_count_mismatch\":\"\u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443. \u0412\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0448\u0430\u0433\u0443 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.\",\"stale_booking_client\":\"\u0424\u043e\u0440\u043c\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c. \u0427\u0435\u0440\u043d\u043e\u0432\u0438\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\",\"stale_booking_client_mini_app\":\"\u0424\u043e\u0440\u043c\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c. \u0427\u0435\u0440\u043d\u043e\u0432\u0438\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d. \u0417\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u0438 \u0441\u043d\u043e\u0432\u0430 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 Telegram, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\",\"stale_booking_refresh\":\"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\",\"route\":\"\u041c\u0430\u0440\u0448\u0440\u0443\u0442\",\"transport\":\"\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\",\"departure\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\",\"from\":\"\u041e\u0442\u043a\u0443\u0434\u0430\",\"to\":\"\u041a\u0443\u0434\u0430\",\"price_calculation\":\"\u0420\u0430\u0441\u0447\u0451\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438\",\"cost_summary\":\"\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c\",\"ticket_cost\":\"\u0411\u0438\u043b\u0435\u0442\u044b\",\"tickets\":\"\u0411\u0438\u043b\u0435\u0442\u044b\",\"passenger_count\":\"Passengers\",\"seat_selection_fee\":\"\u041c\u0435\u0441\u0442\u0430\",\"extras_short\":\"\u0414\u043e\u043f. \u0443\u0441\u043b\u0443\u0433\u0438\",\"total\":\"\u0418\u0442\u043e\u0433\u043e\",\"grand_total\":\"\u041e\u0431\u0449\u0438\u0439 \u0438\u0442\u043e\u0433\",\"price_pending\":\"\u0426\u0435\u043d\u0430 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0441\u0442\u0430\",\"total_price\":\"\u0418\u0442\u043e\u0433\u043e\",\"connection_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"contact_telegram_required\":\"\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 Telegram, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0432\u044f\u0437\u0438.\",\"contact_telegram_signin\":\"\u0412\u043e\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 Telegram\",\"contact_method_required\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 WhatsApp \u0438\u043b\u0438 Telegram \u043a\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0432\u044f\u0437\u0438.\",\"contact_phone_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u044b.\",\"contact_confirmation_required\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.\",\"cancel_ticket_confirm\":\"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0431\u0438\u043b\u0435\u0442 \u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430?\",\"cancel_booking\":\"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\",\"confirm_cancel_booking\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0443\",\"keep_booking\":\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\",\"booking_cancelled\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e\",\"cancelling_ticket\":\"\u041e\u0442\u043c\u0435\u043d\u0430\u2026\",\"no_active_bookings\":\"\u0423 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439\",\"telegram_offer\":\"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0431\u0438\u043b\u0435\u0442 \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 Telegram.\",\"telegram_send\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram\",\"telegram_sending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u0438\u043b\u0435\u0442\u2026\",\"telegram_error\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"telegram_retry\":\"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0432 Telegram\",\"telegram_delivery_failed_booking\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram. \u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"telegram_ticket_sent\":\"\u0411\u0438\u043b\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0432 Telegram.\",\"telegram_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Telegram\",\"identity_link_opened\":\"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435.\",\"identity_link_incomplete\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"identity_link_checking\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0435\u0441\u0441\u0438\u044e\u2026\",\"identity_session_unavailable\":\"\u0421\u0435\u0441\u0441\u0438\u044f \u0438\u043b\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u2014 \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 Telegram \u0441\u043d\u043e\u0432\u0430.\",\"identity_telegram_signin\":\"\u0412\u043e\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 Telegram \u0441\u043d\u043e\u0432\u0430\",\"identity_link_cancelled\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Telegram \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e. \u0412\u0430\u0448\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u043c.\",\"identity_link_conflict\":\"\u042d\u0442\u043e\u0442 Telegram \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Tripand. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435.\",\"booking_confirmed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e\",\"ticket_safe_account\":\"\u0411\u0438\u043b\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d \u0432 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435.\",\"payment\":\"\u041e\u043f\u043b\u0430\u0442\u0430\",\"payment_total\":\"\u0418\u0442\u043e\u0433\u043e\",\"payment_received\":\"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e\",\"payment_remaining\":\"\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c\",\"payment_deposit\":\"\u041e\u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0434\u0435\u043f\u043e\u0437\u0438\u0442\",\"payment_full\":\"\u041e\u043f\u043b\u0430\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e\",\"payment_bank_details\":\"\u0420\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\",\"payment_account\":\"\u041d\u043e\u043c\u0435\u0440 \u0441\u0447\u0451\u0442\u0430\",\"payment_holder\":\"\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0441\u0447\u0451\u0442\u0430\",\"payment_description\":\"\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\",\"payment_qr_unavailable\":\"QR-\u043a\u043e\u0434 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b \u043d\u0438\u0436\u0435.\",\"payment_price_pending\":\"\u041e\u043f\u043b\u0430\u0442\u0430 \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438.\",\"payment_closed\":\"\u041e\u043d\u043b\u0430\u0439\u043d-\u043e\u043f\u043b\u0430\u0442\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u0430.\",\"notification_hub_title\":\"\u041d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u043e\u0435\u0437\u0434\u043a\u0443\",\"notification_hub_intro\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u0430\u0441 \u043a\u0430\u043d\u0430\u043b\u0430\u0445.\",\"notification_channels_connected\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e: {count} \u0438\u0437 {total}\",\"notification_channel_expand\":\"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\",\"notification_channel_collapse\":\"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\",\"channel_connected\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e\",\"channel_not_connected\":\"\u041d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e\",\"ticket\":\"\u0411\u0438\u043b\u0435\u0442\",\"booking_reference\":\"\u041d\u043e\u043c\u0435\u0440 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\",\"copy_reference\":\"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c\",\"reference_copied\":\"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e\",\"view_ticket\":\"\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435\",\"open_ticket\":\"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0437\u0430\u043a\u0430\u0437\",\"telegram_notifications\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 Telegram\",\"telegram_channel\":\"Telegram\",\"telegram_notifications_prompt\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Telegram, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442 \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438.\",\"phone_reminder\":\"\u0422\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043b\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f\",\"phone_reminder_prompt\":\"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u0439 \u043d\u043e\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u0442\u044b \u043f\u0440\u043e\u0441\u043f\u0438\u0448\u044c.\",\"phone_save\":\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440\",\"phone_saved\":\"\u041d\u043e\u043c\u0435\u0440 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\",\"phone_change\":\"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c\",\"trip_information\":\"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\",\"what_to_bring\":\"\u0427\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0441 \u0441\u043e\u0431\u043e\u0439\",\"meeting_points\":\"\u041c\u0435\u0441\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438\",\"other_useful_information\":\"\u0414\u0440\u0443\u0433\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\",\"information_coming_soon\":\"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0437\u0436\u0435.\",\"ticket_delivery\":\"\u0413\u0434\u0435 \u043d\u0430\u0439\u0442\u0438 \u0431\u0438\u043b\u0435\u0442\",\"ticket_account_email_sent\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"ticket_account_email_failed\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435, \u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"ticket_account_only\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435.\",\"google_email_copy\":\"\u041a\u043e\u043f\u0438\u044f \u043d\u0430 email \u0447\u0435\u0440\u0435\u0437 Google\",\"google_email_connected\":\"\u041f\u043e\u0447\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443.\",\"google_email_resend\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u0435\u0449\u0451 \u0440\u0430\u0437\",\"google_email_resending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u043e\u2026\",\"google_email_resent\":\"\u0411\u0438\u043b\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"google_email_resend_failed\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"google_email_prompt\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u0431\u0438\u043b\u0435\u0442\u0430 \u043d\u0430 email.\",\"google_email_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Google \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u043d\u0430 email\",\"google_email_safe\":\"\u0411\u0438\u043b\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u0438 Telegram. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u043d\u0430 email.\",\"google_calendar_title\":\"\u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435\",\"google_calendar_ready\":\"\u0413\u043e\u0442\u043e\u0432\u043e \u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e\",\"google_calendar_prompt\":\"\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u0435\u0437\u0434\u043a\u0443 \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0437\u0430 \u0447\u0430\u0441 \u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.\",\"google_calendar_connect_prompt\":\"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google. \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0430\u0448\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u0443, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0443 \u0432 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c.\",\"google_calendar_add\":\"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c\",\"google_calendar_added\":\"Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.\",\"google_calendar_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Google \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\",\"email_sent_connect_telegram\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Telegram, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0442\u0430\u043c.\",\"connect_telegram_notifications\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Telegram \u0434\u043b\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439\",\"notifications_sending\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u0438 \u0432 Telegram\u2026\",\"notifications_sent\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443 \u0438 \u0432 Telegram.\",\"telegram_sent_email_failed\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0432 Telegram, \u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"email_sent_telegram_failed\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443. \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u0432 Telegram \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"booking_confirmed_email_failed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e, \u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"booking_confirmed_telegram_failed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435. \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"confirmation_email_sent\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"ai_you\":\"\u0412\u044b\",\"ai_welcome\":\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043c\u0435\u043d\u044f \u043e \u0432\u0438\u0437\u0430\u0440\u0430\u043d\u0430\u0445, \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.\",\"ai_thinking\":\"Tripand AI \u0434\u0443\u043c\u0430\u0435\u0442\u2026\",\"ai_unavailable\":\"Tripand AI \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"ai_retry\":\"\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437\",\"ai_connection_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"ai_show_trips\":\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0438\",\"choose_date\":\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0443\",\"choose_time\":\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f\",\"previous_month\":\"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446\",\"next_month\":\"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446\",\"date_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u0434\u0430\u0442\u0443.\",\"time_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.\",\"address_for_all\":\"\u0410\u0434\u0440\u0435\u0441 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\",\"boarding\":\"\u041f\u043e\u0441\u0430\u0434\u043a\u0430\",\"choose_location\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435\",\"choose_pickup_passenger\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.\",\"choose_valid_pickup\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435.\",\"enter_pickup_address\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0430\u0434\u043a\u0438.\",\"location_selected\":\"\u041c\u0435\u0441\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"map_loading\":\"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443\u2026\",\"map_error\":\"\u041a\u0430\u0440\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"map_retry\":\"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c\",\"map_outside_coverage\":\"\u0410\u0434\u0440\u0435\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u044b. \u0415\u0433\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c.\",\"nothing_found\":\"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u0423\u0442\u043e\u0447\u043d\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0443 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435.\",\"phone_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u044b.\",\"pickup_address\":\"\u0410\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0430\u0434\u043a\u0438\",\"pickup_addresses\":\"\u0410\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0441\u0430\u0434\u043a\u0438\",\"selected_point\":\"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430\",\"searching\":\"\u0418\u0449\u0435\u043c\u2026\"}};<\/script><script id=\"tripand-visarun-js\" data-noptimize=\"1\" data-cfasync=\"false\">function tripandVisaRunInit() {\r\n  var config = window.tripandVisaRunConfig || {};\r\n  var strings = config.strings || {};\r\n  function cleanTranslation(value) {\r\n    return String(value).replace(\/#!trpst#[^#]*#!trpen#\/g, '');\r\n  }\r\n  function tr(key, fallback) {\r\n    return cleanTranslation(Object.prototype.hasOwnProperty.call(strings, key) ? strings[key] : fallback);\r\n  }\r\n  function activeLocale() {\r\n    return String(document.documentElement.lang || config.locale || '').replace(\/_\/g, '-');\r\n  }\r\n  \/\/ One display order for every interface; ISO remains the form value.\r\n  function dateMonths(language) { return \/^ru\/i.test(language) ? ['\u044f\u043d\u0432.','\u0444\u0435\u0432\u0440.','\u043c\u0430\u0440.','\u0430\u043f\u0440.','\u043c\u0430\u044f','\u0438\u044e\u043d.','\u0438\u044e\u043b.','\u0430\u0432\u0433.','\u0441\u0435\u043d\u0442.','\u043e\u043a\u0442.','\u043d\u043e\u044f\u0431.','\u0434\u0435\u043a.'] : ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec']; }\r\n  function formatCivilDate(value, language) {\r\n    var p = \/^(\\d{4})-(\\d{2})-(\\d{2})$\/.exec(String(value || ''));\r\n    if (!p || !dateMonths(language)[Number(p[2])-1]) return '';\r\n    return p[3] + ' ' + dateMonths(language)[Number(p[2])-1] + ' ' + p[1];\r\n  }\r\n  function parseCivilDate(value, language) {\r\n    var p = \/^(\\d{1,2})\\s+(\\S+)\\s+(\\d{4})$\/.exec(String(value || '').trim());\r\n    if (!p) return '';\r\n    var month = dateMonths(language).map(function(m){return m.toLowerCase();}).indexOf(p[2].toLowerCase()) + 1;\r\n    var iso = p[3] + '-' + String(month).padStart(2,'0') + '-' + p[1].padStart(2,'0');\r\n    var date = new Date(iso + 'T12:00:00Z');\r\n    return month && !isNaN(date) && date.toISOString().slice(0,10) === iso ? iso : '';\r\n  }\r\n  function dateTimeLocale() {\r\n    var locale = String(activeLocale() || 'en-US').replace(\/_\/g, '-');\r\n    return ['ru-RU', 'en-US', 'vi-VN'].indexOf(locale) === -1 ? 'en-US' : locale;\r\n  }\r\n  function activeLanguage() {\r\n    return activeLocale().toLowerCase().split('-')[0] || 'en';\r\n  }\r\n  var aiTranslations = {\r\n    ru: {\r\n      ai_title: '\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 Tripand AI \u2728',\r\n      ai_documents: '\u041a\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0443\u0436\u043d\u044b?',\r\n      ai_border: '\u041a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b?',\r\n      ai_bring: '\u0427\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0441 \u0441\u043e\u0431\u043e\u0439?',\r\n      ai_evisa: '\u041d\u0443\u0436\u043d\u0430 \u043b\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0432\u0438\u0437\u0430?',\r\n      ai_pickup: '\u0413\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0441\u0430\u0434\u043a\u0438?',\r\n      ai_tomorrow: '\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u043e\u0435\u0445\u0430\u0442\u044c \u0437\u0430\u0432\u0442\u0440\u0430?',\r\n      ai_open: '\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0447\u0430\u0442 Tripand AI',\r\n      ai_close: '\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0447\u0430\u0442',\r\n      ai_ask: '\u0417\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441',\r\n      ai_placeholder: '\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0435',\r\n      ai_send: '\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c',\r\n      ai_disclaimer: 'Tripand AI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0435. \u0412\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0435\u0437\u0434\u043a\u043e\u0439.',\r\n      ai_you: '\u0412\u044b',\r\n      ai_welcome: '\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043c\u0435\u043d\u044f \u043e \u0432\u0438\u0437\u0430\u0440\u0430\u043d\u0430\u0445, \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.',\r\n      ai_thinking: 'Tripand AI \u0434\u0443\u043c\u0430\u0435\u0442\u2026',\r\n      ai_unavailable: 'Tripand AI \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.',\r\n      ai_retry: '\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437',\r\n      ai_connection_error: '\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.',\r\n      ai_show_trips: '\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0438'\r\n    }\r\n  };\r\n  function aiTr(key, fallback) {\r\n    var localized = aiTranslations[activeLanguage()] || {};\r\n    return Object.prototype.hasOwnProperty.call(localized, key) ? localized[key] : tr(key, fallback);\r\n  }\r\n  function format(template, value) {\r\n    return String(template).replace('%s', value);\r\n  }\r\n\r\n  function initWideResultFilters() {\r\n    var media = window.matchMedia('(min-width: 1280px)');\r\n    function syncResultFilters(event) {\r\n      document.querySelectorAll('.tvr-filter-menu').forEach(function (menu) {\r\n        if (menu.closest('[data-tvr-home-embed]')) {\r\n          menu.open = false;\r\n          delete menu.dataset.wideManaged;\r\n          delete menu.dataset.preWideOpen;\r\n          return;\r\n        }\r\n        if (event.matches) {\r\n          if (menu.dataset.wideManaged !== '1') menu.dataset.preWideOpen = menu.open ? '1' : '0';\r\n          menu.dataset.wideManaged = '1';\r\n          menu.open = true;\r\n        } else if (menu.dataset.wideManaged === '1') {\r\n          menu.open = menu.dataset.preWideOpen === '1';\r\n          delete menu.dataset.wideManaged;\r\n          delete menu.dataset.preWideOpen;\r\n        }\r\n      });\r\n    }\r\n    syncResultFilters(media);\r\n    if (media.addEventListener) media.addEventListener('change', syncResultFilters);\r\n    else media.addListener(syncResultFilters);\r\n  }\r\n\r\n  initWideResultFilters();\r\n\r\n  function initHomeStickyOffsets() {\r\n    var media = window.matchMedia ? window.matchMedia('(min-width: 1000px)') : { matches: false };\r\n    document.querySelectorAll('.tvr-home-embed').forEach(function (embed) {\r\n      if (embed.dataset.stickyOffsetReady === '1') return;\r\n      var filter = embed.querySelector('.tvr-search-filter');\r\n      if (!filter) return;\r\n      embed.dataset.stickyOffsetReady = '1';\r\n\r\n      function syncStickyOffset() {\r\n        if (!media.matches) {\r\n          embed.style.removeProperty('--tvr-home-sticky-offset');\r\n          return;\r\n        }\r\n        var filterTop = parseFloat(window.getComputedStyle(filter).top) || 0;\r\n        var gap = parseFloat(window.getComputedStyle(embed).getPropertyValue('--tvr-home-sticky-gap')) || 0;\r\n        var bounds = filter.getBoundingClientRect();\r\n        var height = bounds.height || filter.offsetHeight || 0;\r\n        embed.style.setProperty('--tvr-home-sticky-offset', Math.ceil(filterTop + height + gap) + 'px');\r\n      }\r\n\r\n      if (window.ResizeObserver) {\r\n        var observer = new window.ResizeObserver(syncStickyOffset);\r\n        observer.observe(filter);\r\n      }\r\n      if (media.addEventListener) media.addEventListener('change', syncStickyOffset);\r\n      else if (media.addListener) media.addListener(syncStickyOffset);\r\n      window.addEventListener('resize', syncStickyOffset);\r\n      syncStickyOffset();\r\n    });\r\n  }\r\n\r\n  initHomeStickyOffsets();\r\n\r\n  var catalogHistoryInitialized = false;\r\n  var catalogRequestSequence = 0;\r\n\r\n  function catalogFragmentUrl(pageUrl) {\r\n    pageUrl = new URL(pageUrl, window.location.href);\r\n    var requestUrl = new URL(config.ajax_url || '\/wp-admin\/admin-ajax.php', window.location.origin);\r\n    requestUrl.searchParams.set('action', 'tvr_filter_catalog');\r\n    pageUrl.searchParams.forEach(function (value, key) {\r\n      if (key.indexOf('tvr_') !== 0) return;\r\n      if (\/\\[\\]$\/.test(key)) requestUrl.searchParams.append(key, value);\r\n      else requestUrl.searchParams.set(key, value);\r\n    });\r\n    if (window.matchMedia && window.matchMedia('(max-width: 999px)').matches) requestUrl.searchParams.set('tvr_mobile', '1');\r\n    return requestUrl;\r\n  }\r\n\r\n  function replaceLoadMore(nextDocument, list) {\r\n    var currentControl = document.querySelector('.tvr-load-more');\r\n    var nextControl = nextDocument.querySelector('.tvr-load-more');\r\n    if (currentControl) currentControl.remove();\r\n    if (nextControl) list.insertAdjacentElement('afterend', document.importNode(nextControl, true));\r\n  }\r\n\r\n  function isoFromLocalizedDate(value) { return parseCivilDate(value, activeLocale()); }\r\n\r\n  function localizedDateFromIso(value) { return formatCivilDate(value, activeLocale()); }\r\n\r\n  function syncLocalizedDateControl(control) {\r\n    var hidden = control.querySelector('.tvr-date-value');\r\n    var display = control.querySelector('.tvr-date-display');\r\n    var picker = control.querySelector('.tvr-date-picker-input');\r\n\tvar separator = control.dataset.dateSeparator || '\/';\r\n\tvar order = control.dataset.dateOrder || 'dmy';\r\n    if (!hidden || !display || !picker) return;\r\n    picker.value = hidden.value;\r\n\tdisplay.value = localizedDateFromIso(hidden.value, separator, order);\r\n    display.setCustomValidity('');\r\n  }\r\n\r\n  function initLocalizedDates() {\r\n    document.querySelectorAll('.tvr-date-control').forEach(function (control) {\r\n      if (control.dataset.initialized === '1') return;\r\n      control.dataset.initialized = '1';\r\n      var hidden = control.querySelector('.tvr-date-value');\r\n      var display = control.querySelector('.tvr-date-display');\r\n      var picker = control.querySelector('.tvr-date-picker-input');\r\n      var button = control.querySelector('.tvr-date-picker-button');\r\n\t  var separator = control.dataset.dateSeparator || '\/';\r\n\t  var order = control.dataset.dateOrder || 'dmy';\r\n      var form = control.closest('form');\r\n      if (!hidden || !display || !picker || !button || !form) return;\r\n      var mobileCalendarQuery = window.matchMedia ? window.matchMedia('(max-width: 999px)') : null;\r\n      var coarsePointerQuery = window.matchMedia ? window.matchMedia('(pointer: coarse)') : null;\r\n      var telegramCalendar = \/(?:^|[?#&])tgWebApp(?:Data|Version|Platform|ThemeParams)=\/i.test(window.location.href)\r\n        || Boolean(window.Telegram && window.Telegram.WebApp);\r\n      try { telegramCalendar = telegramCalendar || sessionStorage.getItem('tripandTelegramWebApp') === '1'; } catch (error) {}\r\n\r\n      function useCalendarOnly() {\r\n        return telegramCalendar || Boolean(mobileCalendarQuery && mobileCalendarQuery.matches) || Boolean(coarsePointerQuery && coarsePointerQuery.matches);\r\n      }\r\n\r\n      function syncDateInteractionMode() {\r\n        var calendarOnly = useCalendarOnly();\r\n        display.readOnly = calendarOnly;\r\n        if (calendarOnly) {\r\n          display.setAttribute('aria-haspopup', 'dialog');\r\n          display.setAttribute('aria-expanded', calendar.hidden ? 'false' : 'true');\r\n        } else {\r\n          display.removeAttribute('aria-haspopup');\r\n          display.removeAttribute('aria-expanded');\r\n        }\r\n      }\r\n\r\n      var calendar = document.createElement('div');\r\n      calendar.className = 'tvr-calendar';\r\n      calendar.hidden = true;\r\n      calendar.setAttribute('role', 'dialog');\r\n      calendar.setAttribute('aria-label', button.getAttribute('aria-label') || tr('choose_date', 'Choose date'));\r\n      calendar.innerHTML = '<div class=\"tvr-calendar-header\">'\r\n        + '<button class=\"tvr-calendar-nav tvr-calendar-prev\" type=\"button\" aria-label=\"' + tr('previous_month', 'Previous month') + '\">\u2039<\/button>'\r\n        + '<strong class=\"tvr-calendar-month\" aria-live=\"polite\"><\/strong>'\r\n        + '<button class=\"tvr-calendar-nav tvr-calendar-next\" type=\"button\" aria-label=\"' + tr('next_month', 'Next month') + '\">\u203a<\/button>'\r\n        + '<\/div><div class=\"tvr-calendar-weekdays\"><\/div><div class=\"tvr-calendar-days\"><\/div>';\r\n      control.appendChild(calendar);\r\n      button.setAttribute('aria-haspopup', 'dialog');\r\n      button.setAttribute('aria-expanded', 'false');\r\n      syncDateInteractionMode();\r\n      [mobileCalendarQuery, coarsePointerQuery].forEach(function (query) {\r\n        if (!query) return;\r\n        if (query.addEventListener) query.addEventListener('change', syncDateInteractionMode);\r\n        else if (query.addListener) query.addListener(syncDateInteractionMode);\r\n      });\r\n\r\n      var monthLabel = calendar.querySelector('.tvr-calendar-month');\r\n      var weekdays = calendar.querySelector('.tvr-calendar-weekdays');\r\n      var days = calendar.querySelector('.tvr-calendar-days');\r\n      var previousMonthButton = calendar.querySelector('.tvr-calendar-prev');\r\n      var initialDate = \/^\\d{4}-\\d{2}-\\d{2}$\/.test(hidden.value) && (!picker.min || hidden.value >= picker.min) ? hidden.value : picker.min;\r\n      var selectedDate = initialDate ? new Date(initialDate + 'T00:00:00Z') : new Date();\r\n      var viewYear = selectedDate.getUTCFullYear();\r\n      var viewMonth = selectedDate.getUTCMonth();\r\n      var locale = dateTimeLocale();\r\n      var availableDates = Array.isArray(control.tvrAvailableDates) ? control.tvrAvailableDates : null;\r\n\r\n      function isoDate(year, month, day) {\r\n        return String(year).padStart(4, '0') + '-' + String(month + 1).padStart(2, '0') + '-' + String(day).padStart(2, '0');\r\n      }\r\n\r\n      function renderCalendar() {\r\n        var viewMonthKey = isoDate(viewYear, viewMonth, 1).slice(0, 7);\r\n        previousMonthButton.disabled = Boolean(picker.min && viewMonthKey <= picker.min.slice(0, 7));\r\n        monthLabel.textContent = new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(new Date(Date.UTC(viewYear, viewMonth, 1)));\r\n        weekdays.replaceChildren();\r\n        for (var weekdayIndex = 0; weekdayIndex < 7; weekdayIndex += 1) {\r\n          var weekday = document.createElement('span');\r\n          var weekdayDate = new Date(Date.UTC(2024, 0, 1 + weekdayIndex));\r\n          weekday.dataset.weekday = String((weekdayIndex + 1) % 7);\r\n          weekday.textContent = new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' }).format(weekdayDate);\r\n          weekdays.appendChild(weekday);\r\n        }\r\n\r\n        days.replaceChildren();\r\n        var offset = (new Date(Date.UTC(viewYear, viewMonth, 1)).getUTCDay() + 6) % 7;\r\n        var dayCount = new Date(Date.UTC(viewYear, viewMonth + 1, 0)).getUTCDate();\r\n        for (var blankIndex = 0; blankIndex < offset; blankIndex += 1) {\r\n          var blank = document.createElement('span');\r\n          blank.className = 'tvr-calendar-blank';\r\n          blank.setAttribute('aria-hidden', 'true');\r\n          days.appendChild(blank);\r\n        }\r\n        for (var day = 1; day <= dayCount; day += 1) {\r\n          var value = isoDate(viewYear, viewMonth, day);\r\n          var dayButton = document.createElement('button');\r\n          dayButton.type = 'button';\r\n          dayButton.className = 'tvr-calendar-day';\r\n          dayButton.dataset.date = value;\r\n          dayButton.textContent = String(day);\r\n          dayButton.setAttribute('aria-label', localizedDateFromIso(value));\r\n          if (value === hidden.value) dayButton.classList.add('is-selected');\r\n          if (value === new Date().toISOString().slice(0, 10)) dayButton.setAttribute('aria-current', 'date');\r\n          if ((picker.min && value < picker.min) || (picker.max && value > picker.max) || (availableDates && availableDates.indexOf(value) === -1)) dayButton.disabled = true;\r\n          days.appendChild(dayButton);\r\n        }\r\n      }\r\n\r\n      control.addEventListener('tvr-date-availability', function () {\r\n        availableDates = Array.isArray(control.tvrAvailableDates) ? control.tvrAvailableDates : null;\r\n        if (!calendar.hidden) renderCalendar();\r\n      });\r\n\r\n      function closeCalendar() {\r\n        calendar.hidden = true;\r\n        button.setAttribute('aria-expanded', 'false');\r\n        if (useCalendarOnly()) display.setAttribute('aria-expanded', 'false');\r\n      }\r\n\r\n      function openCalendar() {\r\n        if (!calendar.hidden) return;\r\n        initialDate = \/^\\d{4}-\\d{2}-\\d{2}$\/.test(hidden.value) && (!picker.min || hidden.value >= picker.min) ? hidden.value : picker.min;\r\n        selectedDate = initialDate ? new Date(initialDate + 'T00:00:00Z') : new Date();\r\n        viewYear = selectedDate.getUTCFullYear();\r\n        viewMonth = selectedDate.getUTCMonth();\r\n        renderCalendar();\r\n        calendar.hidden = false;\r\n        button.setAttribute('aria-expanded', 'true');\r\n        if (useCalendarOnly()) display.setAttribute('aria-expanded', 'true');\r\n      }\r\n\r\n      function updateFromDisplay(showError) {\r\n        var entered = display.value.trim();\r\n\t\tvar iso = entered ? isoFromLocalizedDate(entered, separator, order) : '';\r\n        var outsideRange = Boolean(iso && ((picker.min && iso < picker.min) || (picker.max && iso > picker.max)));\r\n        hidden.value = outsideRange ? '' : iso;\r\n        picker.value = outsideRange ? '' : iso;\r\n        display.setCustomValidity(showError && entered && (!iso || outsideRange) ? tr('date_invalid', 'Enter a valid date.') : '');\r\n        return !entered || Boolean(iso && !outsideRange);\r\n      }\r\n\r\n      display.addEventListener('input', function () { updateFromDisplay(false); });\r\n      display.addEventListener('blur', function () { updateFromDisplay(true); });\r\n      display.addEventListener('change', function () {\r\n        if (updateFromDisplay(true)) hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      picker.addEventListener('change', function () {\r\n        var outsideRange = Boolean(picker.value && ((picker.min && picker.value < picker.min) || (picker.max && picker.value > picker.max)));\r\n        hidden.value = outsideRange ? '' : picker.value;\r\n\t\tdisplay.value = outsideRange ? '' : localizedDateFromIso(picker.value, separator, order);\r\n        display.setCustomValidity(outsideRange ? tr('date_invalid', 'Enter a valid date.') : '');\r\n        if (!outsideRange) hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      button.addEventListener('click', function () {\r\n        if (!calendar.hidden) {\r\n          closeCalendar();\r\n          return;\r\n        }\r\n        openCalendar();\r\n      });\r\n      display.addEventListener('click', function () {\r\n        if (useCalendarOnly()) openCalendar();\r\n      });\r\n      display.addEventListener('keydown', function (event) {\r\n        if (!useCalendarOnly() || (event.key !== 'Enter' && event.key !== ' ')) return;\r\n        event.preventDefault();\r\n        openCalendar();\r\n      });\r\n      previousMonthButton.addEventListener('click', function () {\r\n        if (previousMonthButton.disabled) return;\r\n        viewMonth -= 1;\r\n        if (viewMonth < 0) { viewMonth = 11; viewYear -= 1; }\r\n        renderCalendar();\r\n      });\r\n      calendar.querySelector('.tvr-calendar-next').addEventListener('click', function () {\r\n        viewMonth += 1;\r\n        if (viewMonth > 11) { viewMonth = 0; viewYear += 1; }\r\n        renderCalendar();\r\n      });\r\n      days.addEventListener('click', function (event) {\r\n        var dayButton = event.target.closest('[data-date]');\r\n        if (!dayButton || dayButton.disabled) return;\r\n        hidden.value = dayButton.dataset.date;\r\n        picker.value = dayButton.dataset.date;\r\n\t\tdisplay.value = localizedDateFromIso(dayButton.dataset.date, separator, order);\r\n        display.setCustomValidity('');\r\n        closeCalendar();\r\n        display.focus();\r\n        hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      document.addEventListener('click', function (event) {\r\n        if (!calendar.hidden && !control.contains(event.target)) closeCalendar();\r\n      });\r\n      control.addEventListener('keydown', function (event) {\r\n        if (event.key === 'Escape' && !calendar.hidden) {\r\n          closeCalendar();\r\n          button.focus();\r\n        }\r\n      });\r\n      form.addEventListener('submit', function (event) {\r\n        if (updateFromDisplay(true)) return;\r\n        event.preventDefault();\r\n        event.stopImmediatePropagation();\r\n        display.reportValidity();\r\n        display.focus();\r\n      }, true);\r\n    });\r\n  }\r\n\r\n  function syncTransportTabs() {\r\n    var selected = Array.from(document.querySelectorAll('.tvr-result-filter [name=\"tvr_transport_type[]\"]:checked')).map(function (field) { return field.value; });\r\n    document.querySelectorAll('[data-tvr-transport-tab]').forEach(function (button) {\r\n      var type = button.dataset.tvrTransportTab;\r\n      button.setAttribute('aria-pressed', String(type ? selected.length === 1 && selected[0] === type : selected.length === 0));\r\n    });\r\n  }\r\n\r\n  function catalogParamMatches(key, baseName) {\r\n    return key === baseName || (key.indexOf(baseName + '[') === 0 && \/^\\[\\d*\\]$\/.test(key.slice(baseName.length)));\r\n  }\r\n\r\n  function deleteCatalogParam(url, baseName) {\r\n    Array.from(url.searchParams.keys()).forEach(function (key) {\r\n      if (catalogParamMatches(key, baseName)) url.searchParams.delete(key);\r\n    });\r\n  }\r\n\r\n  function syncCatalogControls(pageUrl) {\r\n    pageUrl = new URL(pageUrl, window.location.href);\r\n    document.querySelectorAll('[name^=\"tvr_\"]').forEach(function (field) {\r\n      if (field.name === 'tvr_page') return;\r\n      if (field.type === 'checkbox') {\r\n        var baseName = field.name.replace(\/\\[\\]$\/, '');\r\n        var selectedValues = [];\r\n        pageUrl.searchParams.forEach(function (value, key) {\r\n          if (catalogParamMatches(key, baseName)) selectedValues.push(value);\r\n        });\r\n        field.checked = selectedValues.indexOf(field.value) !== -1;\r\n      } else {\r\n        field.value = pageUrl.searchParams.get(field.name) || '';\r\n      }\r\n    });\r\n\t\tdocument.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n    document.querySelectorAll('.tvr-search-filter').forEach(syncSearchClearButton);\r\n    var form = document.querySelector('.tvr-result-filter');\r\n    syncTransportTabs();\r\n    var summary = document.querySelector('.tvr-filter-toggle');\r\n    if (!form || !summary) return;\r\n    var count = form.querySelectorAll('input[type=\"checkbox\"][name^=\"tvr_\"]:checked').length;\r\n    var badge = summary.querySelector('.tvr-filter-count');\r\n    if (!count && badge) badge.remove();\r\n    if (count) {\r\n      if (!badge) {\r\n        badge = document.createElement('span');\r\n        badge.className = 'tvr-filter-count';\r\n        badge.setAttribute('aria-hidden', 'true');\r\n        summary.appendChild(badge);\r\n      }\r\n      badge.textContent = String(count);\r\n    }\r\n  }\r\n\r\n  function applyFacetAvailability(facets) {\r\n    var fields = {\r\n      from: 'tvr_from',\r\n      to: 'tvr_to',\r\n      transport_type: 'tvr_transport_type',\r\n      border_result: 'tvr_border_result',\r\n      departure_period: 'tvr_departure_period',\r\n      departure_time: 'tvr_departure_time',\r\n      return_time: 'tvr_return_time'\r\n    };\r\n    Object.keys(fields).forEach(function (facet) {\r\n      var inputs = document.querySelectorAll('.tvr-result-filter [name=\"' + fields[facet] + '[]\"]');\r\n      var available = Array.isArray(facets && facets[facet]) ? facets[facet] : [];\r\n      inputs.forEach(function (input) {\r\n        var unavailable = !input.checked && available.indexOf(input.value) === -1;\r\n        var option = input.closest('.tvr-filter-option');\r\n        input.disabled = !input.checked && unavailable;\r\n        if (option) option.hidden = unavailable;\r\n        else input.hidden = unavailable;\r\n      });\r\n    });\r\n  }\r\n\r\n  function applyDateAvailability(dates) {\r\n    if (!Array.isArray(dates)) return;\r\n    var available = dates.filter(function (date) { return \/^\\d{4}-\\d{2}-\\d{2}$\/.test(date); });\r\n    document.querySelectorAll('.tvr-date-control').forEach(function (control) {\r\n      control.tvrAvailableDates = available;\r\n      control.dispatchEvent(new Event('tvr-date-availability'));\r\n    });\r\n  }\r\n\r\n  function updateCatalogList(currentList, nextList) {\r\n    \/\/ The fragment is already localized by PHP. TranslatePress otherwise clears\r\n    \/\/ newly inserted text while translating it, briefly collapsing card heights.\r\n    nextList.setAttribute('data-no-dynamic-translation', '');\r\n    \/\/ Keep unchanged cards (and their decoded images) attached to the live list.\r\n    var remaining = Array.from(currentList.childNodes);\r\n    var cursor = currentList.firstChild;\r\n    Array.from(nextList.childNodes).forEach(function (nextNode) {\r\n      var index = remaining.findIndex(function (node) { return node.isEqualNode(nextNode); });\r\n      var node = index === -1 ? document.importNode(nextNode, true) : remaining.splice(index, 1)[0];\r\n      if (node !== cursor) currentList.insertBefore(node, cursor);\r\n      cursor = node.nextSibling;\r\n    });\r\n    while (cursor) {\r\n      var obsolete = cursor;\r\n      cursor = cursor.nextSibling;\r\n      obsolete.remove();\r\n    }\r\n    Array.from(currentList.attributes).forEach(function (attribute) { currentList.removeAttribute(attribute.name); });\r\n    Array.from(nextList.attributes).forEach(function (attribute) { currentList.setAttribute(attribute.name, attribute.value); });\r\n  }\r\n\r\n  function loadCatalogResults(pageUrl) {\r\n    var requestedPageUrl = new URL(pageUrl, window.location.href);\r\n    var requestId = ++catalogRequestSequence;\r\n    var currentList = document.querySelector('#tvr-trip-list');\r\n    if (!currentList) return Promise.reject(new Error('result-filter'));\r\n    currentList.classList.add('is-loading');\r\n    currentList.setAttribute('aria-busy', 'true');\r\n    return fetch(catalogFragmentUrl(requestedPageUrl.href).href, { credentials: 'same-origin' }).then(function (response) {\r\n      if (!response.ok) throw new Error('result-filter');\r\n      return response.json();\r\n    }).then(function (payload) {\r\n      if (requestId !== catalogRequestSequence) return false;\r\n      if (!payload.success || !payload.data || !payload.data.html) throw new Error('result-filter');\r\n      var resolvedPageUrl = new URL(requestedPageUrl.href);\r\n      if (typeof payload.data.normalized_date === 'string') {\r\n        if (\/^\\d{4}-\\d{2}-\\d{2}$\/.test(payload.data.normalized_date)) resolvedPageUrl.searchParams.set('tvr_date', payload.data.normalized_date);\r\n        else resolvedPageUrl.searchParams.delete('tvr_date');\r\n      }\r\n      syncCatalogControls(resolvedPageUrl.href);\r\n      applyFacetAvailability(payload.data.facets);\r\n      applyDateAvailability(payload.data.available_dates);\r\n      var nextDocument = new DOMParser().parseFromString(payload.data.html, 'text\/html');\r\n      var nextList = nextDocument.querySelector('#tvr-trip-list');\r\n      if (!nextList) throw new Error('result-filter');\r\n      var previousError = document.querySelector('.tvr-catalog-error');\r\n      if (previousError) previousError.remove();\r\n      updateCatalogList(currentList, nextList);\r\n      replaceLoadMore(nextDocument, currentList);\r\n      initCatalogAjax();\r\n      var deferredEmbed = currentList.closest('[data-tvr-deferred-results]');\r\n      if (deferredEmbed) {\r\n        deferredEmbed.dataset.deferredResultsState = 'loaded';\r\n        deferredEmbed.removeAttribute('data-tvr-deferred-results');\r\n      }\r\n      return resolvedPageUrl.href;\r\n    }).finally(function () {\r\n      if (requestId !== catalogRequestSequence) return;\r\n      var liveList = document.querySelector('#tvr-trip-list');\r\n      if (!liveList) return;\r\n      liveList.classList.remove('is-loading');\r\n      liveList.removeAttribute('aria-busy');\r\n    });\r\n  }\r\n\r\n  function searchFormHasActiveFilters(form) {\r\n    return ['tvr_from', 'tvr_border_result', 'tvr_date'].some(function (name) {\r\n      var field = form.querySelector('[name=\"' + name + '\"]');\r\n      return field && String(field.value || '').trim() !== '';\r\n    });\r\n  }\r\n\r\n  function syncSearchClearButton(form) {\r\n    var clearButton = form.querySelector('.tvr-search-clear');\r\n    if (clearButton) clearButton.hidden = !searchFormHasActiveFilters(form);\r\n  }\r\n\r\n  function initDeferredCatalogResults() {\r\n    document.querySelectorAll('[data-tvr-home-embed][data-tvr-deferred-results=\"1\"]').forEach(function (embed) {\r\n      if (embed.dataset.deferredResultsState) return;\r\n      embed.dataset.deferredResultsState = 'loading';\r\n      loadCatalogResults(window.location.href).then(function (resolvedUrl) {\r\n        if (resolvedUrl === false) return;\r\n        window.history.replaceState({}, '', resolvedUrl);\r\n        embed.dataset.deferredResultsState = 'loaded';\r\n        embed.removeAttribute('data-tvr-deferred-results');\r\n      }).catch(function () {\r\n        embed.dataset.deferredResultsState = 'error';\r\n        var list = embed.querySelector('#tvr-trip-list');\r\n        if (!list) return;\r\n        list.classList.remove('is-loading');\r\n        list.removeAttribute('aria-busy');\r\n        list.setAttribute('role', 'alert');\r\n      });\r\n    });\r\n  }\r\n\r\n  function initCatalogAjax() {\r\n    var localizedList = document.querySelector('#tvr-trip-list');\r\n    if (localizedList) localizedList.setAttribute('data-no-dynamic-translation', '');\r\n    document.querySelectorAll('.tvr-search-filter').forEach(function (form) {\r\n      if (form.dataset.initialized === '1') return;\r\n      form.dataset.initialized = '1';\r\n      var clearButton = form.querySelector('.tvr-search-clear');\r\n      syncSearchClearButton(form);\r\n      form.addEventListener('input', function () { syncSearchClearButton(form); });\r\n      if (!form.querySelector('button[type=\"submit\"]')) {\r\n        form.addEventListener('change', function (event) {\r\n          if (!event.target.matches('[name^=\"tvr_\"]')) return;\r\n          if (typeof form.requestSubmit === 'function') form.requestSubmit();\r\n          else form.dispatchEvent(new Event('submit', { cancelable: true, bubbles: true }));\r\n        });\r\n      }\r\n      form.addEventListener('change', function () { syncSearchClearButton(form); });\r\n      form.addEventListener('submit', function (event) {\r\n        event.preventDefault();\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        var url = new URL(window.location.href);\r\n        var data = new FormData(form);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_date', 'tvr_border_result', 'tvr_border_result[]'].forEach(function (key) {\r\n          url.searchParams.delete(key);\r\n        });\r\n        data.forEach(function (value, key) {\r\n          if (value) url.searchParams.set(key, value);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        var button = form.querySelector('button[type=\"submit\"]');\r\n        if (button) button.disabled = true;\r\n        loadCatalogResults(url.href).then(function (resolvedUrl) {\r\n          if (resolvedUrl === false) return;\r\n          window.history.pushState({}, '', resolvedUrl);\r\n          syncCatalogControls(resolvedUrl);\r\n        }).catch(function () {\r\n          var list = document.querySelector('#tvr-trip-list');\r\n          if (list) list.setAttribute('role', 'alert');\r\n        }).finally(function () {\r\n          form.removeAttribute('aria-busy');\r\n          if (button) button.disabled = false;\r\n        });\r\n      });\r\n      if (clearButton) clearButton.addEventListener('click', function () {\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        ['tvr_from', 'tvr_border_result', 'tvr_date'].forEach(function (name) {\r\n          var field = form.querySelector('[name=\"' + name + '\"]');\r\n          if (field) field.value = '';\r\n        });\r\n        form.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n        syncSearchClearButton(form);\r\n        var url = new URL(window.location.href);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_date', 'tvr_border_result', 'tvr_border_result[]'].forEach(function (key) {\r\n          url.searchParams.delete(key);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        clearButton.disabled = true;\r\n        var submitButton = form.querySelector('button[type=\"submit\"]');\r\n        if (submitButton) submitButton.disabled = true;\r\n        loadCatalogResults(url.href).then(function (resolvedUrl) {\r\n          if (resolvedUrl === false) return;\r\n          window.history.pushState({}, '', resolvedUrl);\r\n          syncCatalogControls(resolvedUrl);\r\n        }).catch(function () {\r\n          var list = document.querySelector('#tvr-trip-list');\r\n          if (list) list.setAttribute('role', 'alert');\r\n          syncCatalogControls(window.location.href);\r\n        }).finally(function () {\r\n          form.removeAttribute('aria-busy');\r\n          clearButton.disabled = false;\r\n          if (submitButton) submitButton.disabled = false;\r\n        });\r\n      });\r\n    });\r\n\r\n    document.querySelectorAll('.tvr-result-filter').forEach(function (form) {\r\n      if (form.dataset.initialized === '1') return;\r\n      form.dataset.initialized = '1';\r\n      var applyTimer;\r\n      var filterRequest = 0;\r\n      function applyFilters() {\r\n        var request = ++filterRequest;\r\n        var url = new URL(window.location.href);\r\n        var data = new FormData(form);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_to', 'tvr_transport_type', 'tvr_border_result', 'tvr_departure_period', 'tvr_departure_time', 'tvr_return_time', 'tvr_date'].forEach(function (key) {\r\n          deleteCatalogParam(url, key);\r\n        });\r\n        data.forEach(function (value, key) {\r\n          if (!value) return;\r\n          if (\/\\[\\]$\/.test(key)) url.searchParams.append(key, value);\r\n          else url.searchParams.set(key, value);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        loadCatalogResults(url.href).then(function (resolvedUrl) {\r\n          if (resolvedUrl === false) return;\r\n          window.history.pushState({}, '', resolvedUrl);\r\n          syncCatalogControls(resolvedUrl);\r\n        }).catch(function () {\r\n          if (request !== filterRequest) return;\r\n          if (!document.querySelector('[data-tvr-transport-tab]')) { form.submit(); return; }\r\n          syncCatalogControls(window.location.href);\r\n          var list = document.querySelector('#tvr-trip-list');\r\n          var error = document.createElement('p');\r\n          error.className = 'tvr-catalog-error';\r\n          error.setAttribute('role', 'alert');\r\n          error.textContent = aiTr('ai_connection_error', 'Connection error. Please try again.');\r\n          var previousError = document.querySelector('.tvr-catalog-error');\r\n          if (previousError) previousError.remove();\r\n          list.prepend(error);\r\n        }).finally(function () {\r\n          if (request !== filterRequest) return;\r\n          form.removeAttribute('aria-busy');\r\n        });\r\n      }\r\n      document.querySelectorAll('[data-tvr-transport-tab]').forEach(function (button) {\r\n        if (button.dataset.initialized === '1') return;\r\n        button.dataset.initialized = '1';\r\n        button.addEventListener('click', function () {\r\n          form.querySelectorAll('[name=\"tvr_transport_type[]\"]').forEach(function (field) {\r\n            field.checked = field.value === button.dataset.tvrTransportTab;\r\n            if (field.checked) field.disabled = false;\r\n          });\r\n          syncTransportTabs();\r\n          window.clearTimeout(applyTimer);\r\n          applyFilters();\r\n        });\r\n      });\r\n      syncTransportTabs();\r\n      form.addEventListener('submit', function (event) {\r\n        event.preventDefault();\r\n        applyFilters();\r\n      });\r\n      form.addEventListener('change', function (event) {\r\n        if (!event.target.matches('input[type=\"checkbox\"][name^=\"tvr_\"], .tvr-date-value[name=\"tvr_date\"]')) return;\r\n        window.clearTimeout(applyTimer);\r\n        applyTimer = window.setTimeout(applyFilters, 120);\r\n      });\r\n      var clearButton = form.querySelector('.tvr-result-clear');\r\n      if (clearButton) clearButton.addEventListener('click', function () {\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        form.querySelectorAll('[name^=\"tvr_\"]').forEach(function (field) {\r\n          if (field.name === 'tvr_page') return;\r\n          if (field.type === 'checkbox') field.checked = false;\r\n          else field.value = '';\r\n        });\r\n        form.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n        window.clearTimeout(applyTimer);\r\n        applyFilters();\r\n      });\r\n    });\r\n\r\n    if (!catalogHistoryInitialized) {\r\n      catalogHistoryInitialized = true;\r\n      window.addEventListener('popstate', function () {\r\n        var visibleList = document.querySelector('#tvr-trip-list');\r\n        if (!visibleList || visibleList.closest('[hidden]')) return;\r\n        loadCatalogResults(window.location.href).then(function (resolvedUrl) {\r\n          if (resolvedUrl === false) return;\r\n          window.history.replaceState({}, '', resolvedUrl);\r\n          syncCatalogControls(resolvedUrl);\r\n        }).catch(function () {\r\n          window.location.reload();\r\n        });\r\n      });\r\n    }\r\n\r\n    document.querySelectorAll('.tvr-load-more a').forEach(function (link) {\r\n      if (link.dataset.initialized === '1') return;\r\n      link.dataset.initialized = '1';\r\n      link.addEventListener('click', function (event) {\r\n        event.preventDefault();\r\n        if (link.getAttribute('aria-busy') === 'true') return;\r\n        link.setAttribute('aria-busy', 'true');\r\n        fetch(catalogFragmentUrl(link.href).href, { credentials: 'same-origin' }).then(function (response) {\r\n          if (!response.ok) throw new Error('load-more');\r\n          return response.json();\r\n        }).then(function (payload) {\r\n          if (!payload.success || !payload.data || !payload.data.html) throw new Error('load-more');\r\n          applyFacetAvailability(payload.data.facets);\r\n          var nextDocument = new DOMParser().parseFromString(payload.data.html, 'text\/html');\r\n          var currentList = document.querySelector('#tvr-trip-list');\r\n          var nextList = nextDocument.querySelector('#tvr-trip-list');\r\n          if (!currentList || !nextList) throw new Error('load-more');\r\n          var currentCount = currentList.querySelectorAll('.tvr-card').length;\r\n          Array.from(nextList.querySelectorAll('.tvr-card')).slice(currentCount).forEach(function (card) {\r\n            currentList.appendChild(document.importNode(card, true));\r\n          });\r\n          replaceLoadMore(nextDocument, currentList);\r\n          initCatalogAjax();\r\n        }).catch(function () {\r\n          window.location.href = link.href;\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  function initResponsiveFilterSections() {\r\n    var sections = document.querySelectorAll('.tvr-result-filter--standalone .tvr-filter-section');\r\n    if (!sections.length) return;\r\n    var mobile = window.matchMedia('(max-width: 999px)');\r\n    function syncSections(event) {\r\n      sections.forEach(function (section) {\r\n        section.open = !event.matches;\r\n        var summary = section.querySelector('.tvr-filter-section-summary');\r\n        if (summary) summary.tabIndex = event.matches ? 0 : -1;\r\n      });\r\n    }\r\n    sections.forEach(function (section) {\r\n      var summary = section.querySelector('.tvr-filter-section-summary');\r\n      if (!summary) return;\r\n      summary.addEventListener('click', function (event) {\r\n        if (!mobile.matches) event.preventDefault();\r\n      });\r\n    });\r\n    syncSections(mobile);\r\n    if (mobile.addEventListener) mobile.addEventListener('change', syncSections);\r\n    else if (mobile.addListener) mobile.addListener(syncSections);\r\n  }\r\n\r\n  initLocalizedDates();\r\n  initResponsiveFilterSections();\r\n  initCatalogAjax();\r\n  initDeferredCatalogResults();\r\n\r\n  document.querySelectorAll('[data-tvr-ai]').forEach(function (assistant) {\r\n    if (assistant.dataset.initialized === '1') return;\r\n    assistant.dataset.initialized = '1';\r\n    var quick = assistant.querySelector('[data-tvr-ai-quick]');\r\n    var chat = assistant.querySelector('[data-tvr-ai-chat]');\r\n    var messages = assistant.querySelector('[data-tvr-ai-messages]');\r\n    var form = assistant.querySelector('[data-tvr-ai-form]');\r\n    var input = assistant.querySelector('[data-tvr-ai-input]');\r\n    var collapse = assistant.querySelector('.tvr-ai-collapse');\r\n    var launcher = assistant.querySelector('[data-tvr-ai-launcher]');\r\n    var homeSidebarMedia = assistant.closest('[data-tvr-home-embed]') ? window.matchMedia('(min-width: 1000px)') : null;\r\n    var history = [];\r\n    var pending = false;\r\n    var quickLabels = {\r\n      documents: aiTr('ai_documents', 'What documents do I need?'),\r\n      border: aiTr('ai_border', 'How does the border crossing work?'),\r\n      bring: aiTr('ai_bring', 'What should I bring?'),\r\n      evisa: aiTr('ai_evisa', 'Do I need e-Visa?'),\r\n      pickup: aiTr('ai_pickup', 'Where are the pickup points?'),\r\n      tomorrow: aiTr('ai_tomorrow', 'Can I go tomorrow?')\r\n    };\r\n\r\n    var heading = assistant.querySelector('.tvr-ai-heading h2');\r\n    var inputLabel = form ? form.querySelector('label') : null;\r\n    var sendButton = form ? form.querySelector('button[type=\"submit\"]') : null;\r\n    if (heading) heading.textContent = aiTr('ai_title', 'Ask Tripand AI \u2728');\r\n    if (launcher) launcher.setAttribute('aria-label', aiTr('ai_open', 'Open Tripand AI chat'));\r\n    if (collapse) collapse.setAttribute('aria-label', aiTr('ai_close', 'Close chat'));\r\n    if (inputLabel) inputLabel.textContent = aiTr('ai_ask', 'Ask a question');\r\n    if (input) input.placeholder = aiTr('ai_placeholder', 'Ask about this trip');\r\n    if (sendButton) {\r\n      var sendLabel = aiTr('ai_send', 'Send');\r\n      var sendLabelElement = sendButton.querySelector('[data-tvr-ai-send-label]');\r\n      sendButton.setAttribute('aria-label', sendLabel);\r\n      sendButton.setAttribute('title', sendLabel);\r\n      if (sendLabelElement) sendLabelElement.textContent = sendLabel;\r\n    }\r\n    quick.querySelectorAll('[data-tvr-ai-quick-action]').forEach(function (button) {\r\n      var action = button.dataset.tvrAiQuickAction || '';\r\n      if (!quickLabels[action]) return;\r\n      button.dataset.tvrAiQuestion = quickLabels[action];\r\n      Array.from(button.childNodes).filter(function (node) { return node.nodeType === 3; }).forEach(function (node) { node.remove(); });\r\n      button.appendChild(document.createTextNode(quickLabels[action]));\r\n    });\r\n\r\n    function track(eventName, data) {\r\n      if (!window.dataLayer || !Array.isArray(window.dataLayer)) return;\r\n      window.dataLayer.push(Object.assign({ event: eventName }, data || {}));\r\n    }\r\n    function context() {\r\n      var params = new URLSearchParams(window.location.search);\r\n      var from = document.querySelector('[name=\"tvr_from\"]');\r\n      var date = document.querySelector('[name=\"tvr_date\"]');\r\n      return { trip_id: params.get('trip_id') || '', from: from ? from.value : '', to: '', date: date ? date.value : (params.get('tvr_date') || ''), locale: activeLocale() };\r\n    }\r\n    function appendMessage(role, text, isTyping) {\r\n      var item = document.createElement('div');\r\n      item.className = 'tvr-ai-message is-' + role + (isTyping ? ' is-typing' : '');\r\n      var label = document.createElement('strong');\r\n      label.textContent = role === 'assistant' ? 'Tripand AI' : aiTr('ai_you', 'You');\r\n      var body = document.createElement('p');\r\n      body.textContent = text;\r\n      item.appendChild(label); item.appendChild(body); messages.appendChild(item);\r\n      messages.scrollTop = messages.scrollHeight;\r\n      return item;\r\n    }\r\n    function expand() {\r\n      chat.hidden = false; launcher.setAttribute('aria-expanded', 'true');\r\n      if (!messages.children.length) appendMessage('assistant', aiTr('ai_welcome', 'Hi! Ask me about Visa Runs, schedules and trip details.'));\r\n      input.focus(); track('ai_opened', { trip_id: context().trip_id || undefined });\r\n    }\r\n    function collapseChat() {\r\n      if (homeSidebarMedia && homeSidebarMedia.matches) return;\r\n      chat.hidden = true; launcher.setAttribute('aria-expanded', 'false'); launcher.focus();\r\n    }\r\n    function toggleChat() {\r\n      if (chat.hidden) expand();\r\n      else collapseChat();\r\n    }\r\n    function syncHomeSidebar(event) {\r\n      if (!homeSidebarMedia) return;\r\n      launcher.hidden = event.matches;\r\n      launcher.setAttribute('aria-expanded', event.matches ? 'true' : 'false');\r\n      chat.hidden = !event.matches;\r\n      if (event.matches && !messages.children.length) appendMessage('assistant', aiTr('ai_welcome', 'Hi! Ask me about Visa Runs, schedules and trip details.'));\r\n    }\r\n    function renderActions(actions) {\r\n      if (!Array.isArray(actions) || !actions.length) return;\r\n      var box = document.createElement('div'); box.className = 'tvr-ai-actions';\r\n      actions.forEach(function (action) {\r\n        if (!action || action.type !== 'open_catalog' || typeof action.url !== 'string') return;\r\n        var url = new URL(action.url, window.location.origin);\r\n        if (url.origin !== window.location.origin || url.pathname.indexOf('\/visa-run') === -1) return;\r\n        var link = document.createElement('a'); link.className = 'tvr-ai-action'; link.href = url.href; link.textContent = aiTr('ai_show_trips', 'Show trips');\r\n        link.addEventListener('click', function () { track('ai_action_clicked', { action: action.type }); });\r\n        box.appendChild(link);\r\n      });\r\n      if (box.children.length) messages.appendChild(box);\r\n    }\r\n\tfunction renderFeedback(item, feedbackId) {\r\n\t  if (!feedbackId || !item) return;\r\n\t  var box = document.createElement('div'); box.className = 'tvr-ai-feedback';\r\n\t  var good = document.createElement('button'); good.type = 'button'; good.textContent = '\ud83d\udc4d'; good.setAttribute('aria-label', aiTr('ai_feedback_good', 'Helpful'));\r\n\t  var bad = document.createElement('button'); bad.type = 'button'; bad.textContent = '\ud83d\udc4e'; bad.setAttribute('aria-label', aiTr('ai_feedback_bad', 'Needs improvement'));\r\n\t  var editor = document.createElement('div'); editor.className = 'tvr-ai-feedback-editor'; editor.hidden = true;\r\n\t  var reason = document.createElement('select');\r\n\t  [['too_long','Too long'],['missing_clarification','Missing clarification'],['extra_question','Unnecessary question'],['wrong_fact','Wrong fact'],['ignored_context','Ignored context'],['repeated_question','Repeated known question'],['tone','Wrong tone'],['missing_knowledge','Missing knowledge']].forEach(function (entry) { var option = document.createElement('option'); option.value = entry[0]; option.textContent = aiTr('ai_feedback_' + entry[0], entry[1]); reason.appendChild(option); });\r\n\t  var correction = document.createElement('textarea'); correction.rows = 2; correction.maxLength = 4000; correction.placeholder = aiTr('ai_feedback_correction', 'Write a better reference answer (optional)');\r\n\t  var save = document.createElement('button'); save.type = 'button'; save.textContent = aiTr('ai_feedback_save', 'Save feedback');\r\n\t  function submit(rating, selectedReason) {\r\n\t\tvar data = new URLSearchParams(); data.set('action', 'tvr_ai_feedback'); data.set('nonce', config.ai_nonce || ''); data.set('journal_id', String(feedbackId)); data.set('rating', String(rating)); data.set('reason', selectedReason); data.set('corrected_answer', correction.value || '');\r\n\t\tfetch(config.ajax_url || '\/wp-admin\/admin-ajax.php', { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8' }, body: data.toString() }).then(function (response) { return response.json(); }).then(function (result) { if (result && result.success) { box.textContent = aiTr('ai_feedback_thanks', 'Thank you. Feedback saved.'); } });\r\n\t  }\r\n\t  good.addEventListener('click', function () { submit(1, 'helpful'); });\r\n\t  bad.addEventListener('click', function () { editor.hidden = false; });\r\n\t  save.addEventListener('click', function () { submit(-1, reason.value); });\r\n\t  editor.appendChild(reason); editor.appendChild(correction); editor.appendChild(save); box.appendChild(good); box.appendChild(bad); box.appendChild(editor); item.appendChild(box);\r\n\t}\r\n    function ask(message, quickAction, skipUserMessage) {\r\n      if (pending) return;\r\n      if (quick) quick.hidden = true;\r\n      expand(); pending = true;\r\n      if (message && !skipUserMessage) { appendMessage('user', message); history.push({ role: 'user', text: message }); track('ai_message_sent', { trip_id: context().trip_id || undefined }); }\r\n      if (quickAction) track('ai_quick_action_clicked', { action: quickAction, trip_id: context().trip_id || undefined });\r\n      var typing = appendMessage('assistant', aiTr('ai_thinking', 'Tripand AI is thinking\u2026'), true);\r\n      var data = new URLSearchParams();\r\n      data.set('action', 'tvr_ai_chat'); data.set('nonce', config.ai_nonce || ''); data.set('message', message || ''); data.set('quick_action', quickAction || '');\r\n      data.set('context', JSON.stringify(context())); data.set('history', JSON.stringify(history.slice(-8)));\r\n      fetch(config.ajax_url || '\/wp-admin\/admin-ajax.php', { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8' }, body: data.toString() })\r\n        .then(function (response) { return response.json(); })\r\n        .then(function (result) {\r\n          typing.remove();\r\n          var answer = result && result.data && result.data.message ? result.data.message : aiTr('ai_unavailable', 'Tripand AI is unavailable right now. Please try again.');\r\n          if (!result || !result.success) {\r\n            var error = appendMessage('assistant', answer); error.classList.add('is-error');\r\n            var retry = document.createElement('button'); retry.type = 'button'; retry.className = 'tvr-ai-retry'; retry.textContent = aiTr('ai_retry', 'Try again'); retry.addEventListener('click', function () { retry.remove(); error.remove(); ask(message, quickAction, true); }); error.appendChild(retry);\r\n            return;\r\n          }\r\n\t\t  var answerItem = appendMessage('assistant', answer); history.push({ role: 'assistant', text: answer }); renderActions(result.data.actions); renderFeedback(answerItem, Number(result.data.feedback_id || 0));\r\n        })\r\n        .catch(function () { typing.remove(); var error = appendMessage('assistant', aiTr('ai_connection_error', 'Connection error. Please try again.')); error.classList.add('is-error'); })\r\n        .finally(function () { pending = false; });\r\n    }\r\n    if (homeSidebarMedia) {\r\n      syncHomeSidebar(homeSidebarMedia);\r\n      if (homeSidebarMedia.addEventListener) homeSidebarMedia.addEventListener('change', syncHomeSidebar);\r\n      else homeSidebarMedia.addListener(syncHomeSidebar);\r\n    }\r\n    quick.querySelectorAll('[data-tvr-ai-quick-action]').forEach(function (button) { button.addEventListener('click', function () { ask(button.dataset.tvrAiQuestion || button.textContent.trim(), button.dataset.tvrAiQuickAction || ''); }); });\r\n    launcher.addEventListener('click', toggleChat);\r\n    collapse.addEventListener('click', collapseChat);\r\n    chat.addEventListener('keydown', function (event) { if (event.key === 'Escape') collapseChat(); });\r\n    form.addEventListener('submit', function (event) { event.preventDefault(); var message = input.value.trim(); if (!message) return; input.value = ''; ask(message, ''); });\r\n  });\r\n}\r\n\r\nif (document.readyState === 'loading') {\r\n  document.addEventListener('DOMContentLoaded', tripandVisaRunInit);\r\n} else {\r\n  tripandVisaRunInit();\r\n}\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-125","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/comments?post=125"}],"version-history":[{"count":2,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125\/revisions\/244"}],"wp:attachment":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/media?parent=125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}