.booking-list-summary{display:flex;justify-content:space-between;align-items:center;margin:24px 0;gap:16px}.booking-list-summary>div{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.booking-list-summary strong{font-size:21px;color:var(--text)}.booking-list-summary svg{width:20px;color:var(--blue)}
.booking-search{padding:20px;display:flex;gap:12px;border-bottom:1px solid var(--border)}.booking-search .search-input{flex:1;position:relative;display:flex;align-items:center}.booking-search .search-input svg{position:absolute;left:12px;width:16px;color:var(--muted)}.booking-search input{width:100%;padding-left:36px}.booking-search select{min-width:150px}.booking-pagination{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}
.booking-steps{display:flex;padding:0 0 28px;gap:0;overflow-x:auto;margin-top:28px}.booking-steps button{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:8px;padding:8px 12px;position:relative;flex:1;white-space:nowrap;cursor:pointer}.booking-steps button:not(:last-child):after{content:'';height:1px;background:var(--border);width:15px;position:absolute;right:-7px}.booking-steps span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);font-size:11px;font-weight:600;flex-shrink:0}.booking-steps strong{font-size:11px;font-weight:500}.booking-steps .current{color:var(--blue)}.booking-steps .current span{background:var(--brand);color:#fff;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.booking-steps .current strong{font-weight:650}.booking-steps .done span{background:var(--blue-soft);border-color:transparent;color:var(--blue)}.booking-steps svg{width:14px;height:14px}.booking-steps button:disabled{cursor:default;opacity:.75}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:24px;align-items:start}.booking-main{min-width:0;overflow:hidden}.booking-form-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-bottom:1px solid var(--border)}.booking-form-heading span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.booking-form-heading h2{font-size:19px;letter-spacing:-.5px;margin:7px 0 0}.booking-form-heading>svg{width:24px;height:24px;color:var(--blue)}.booking-body{padding:24px 28px}.booking-body label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--text);margin-bottom:16px;font-weight:500}.booking-body input:not([type=checkbox]):not([type=radio]),.booking-body select,.booking-body textarea{width:100%;box-sizing:border-box;min-width:0}.booking-body .form-grid{gap:0 16px}.booking-body .inline-note{line-height:1.65}.booking-form-footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:var(--soft)}
.booking-summary{position:sticky;top:90px;padding:22px;min-width:0}.booking-summary-heading{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border);padding-bottom:18px}.booking-summary-heading svg{width:18px;color:var(--blue)}.booking-summary h2{font-size:13px;margin:0}.booking-summary p{color:var(--muted);font-size:11px;line-height:1.9;margin:12px 0 20px}.summary-route{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:22px;font-size:13px}.summary-route svg{width:14px;color:var(--muted)}.booking-summary dl{margin:0;border-top:1px solid var(--border);padding-top:16px}.booking-summary dl>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:13px}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;font-weight:550}.summary-total{padding-top:18px;border-top:1px dashed var(--border);display:flex;justify-content:space-between;align-items:center;margin:6px 0 12px;font-size:11px}.summary-total strong{font-size:23px;letter-spacing:-.7px}.booking-summary>small{font-size:10px;color:var(--muted);line-height:1.6;display:block}.summary-capacity{background:var(--blue-soft);color:var(--blue);font-size:10px;padding:11px;border-radius:7px;line-height:1.6;margin-top:18px}.summary-capacity:empty{display:none}.summary-note{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;line-height:1.7}.summary-note svg{width:14px;flex-shrink:0;margin-top:2px}
.booking-date-search{display:flex;gap:10px;align-items:end;margin-bottom:8px}.booking-date-search label{flex:1;min-width:0;margin-bottom:0}.booking-date-search>.btn{margin-bottom:0;white-space:nowrap}.booking-voyage-list{padding-top:16px}.booking-voyage-list .booking-voyage-choice{display:flex;flex-direction:row;align-items:center;gap:12px;border:1px solid var(--border);border-radius:10px;padding:17px;margin:0 0 12px;cursor:pointer;transition:border-color .15s,background .15s}.booking-voyage-choice.selected{border-color:var(--blue);background:var(--blue-soft)}.booking-voyage-choice input{accent-color:var(--blue);flex-shrink:0}.booking-voyage-choice>div{min-width:0;flex:1}.booking-voyage-route{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-voyage-route>strong{font-size:13px;line-height:1.5}.booking-voyage-choice p{font-size:11px;font-weight:400;color:var(--muted);margin:8px 0}.booking-voyage-choice small{font-size:10px;font-weight:400;color:var(--muted);line-height:1.65}.booking-capacity-strip{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 20px;margin-bottom:3px}.booking-capacity-strip span{padding:8px 10px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:10px}.booking-capacity-strip strong{color:var(--text);font-weight:550;margin-right:4px}
.booking-record{border:1px solid var(--border);border-radius:10px;padding:20px;margin:0 0 22px;min-width:0}.booking-record legend{font-size:12px;font-weight:650;padding:0 8px}.record-tools{display:flex;justify-content:flex-end;margin:-5px 0 15px}.record-tools .btn{font-size:10px;min-height:28px;padding:5px 8px}.booking-record>label:last-child{margin-bottom:0}.booking-record .driver-rule{padding:12px;font-size:11px}.booking-no-vehicle{text-align:center;padding:25px 10px 35px;color:var(--muted)}.booking-no-vehicle>svg{width:30px;height:30px;color:var(--blue)}.booking-no-vehicle h3{font-size:16px;color:var(--text)}.booking-no-vehicle p{font-size:12px}.booking-tariff-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:20px}.booking-price-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--border);font-size:12px;align-items:center}.booking-price-list strong{white-space:nowrap}.booking-price-list small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.5}.booking-price-list .booking-price-total{font-size:17px;padding:22px 0;border-bottom:0}.booking-payment-note{display:flex;gap:14px;color:var(--note-ink);background:var(--note-soft);border-left:3px solid var(--note);padding:18px;border-radius:9px;margin:20px 0}.booking-payment-note>svg{width:22px;color:var(--brand);flex-shrink:0}.booking-payment-note strong{font-size:12px}.booking-payment-note p{font-size:11px;color:var(--note-ink);line-height:1.8;margin:8px 0 0}.booking-body .booking-confirm-check{display:flex;flex-direction:row;align-items:start;gap:10px;line-height:1.8;padding:15px;border:1px solid var(--border);border-radius:8px}.booking-confirm-check input{margin-top:4px;accent-color:var(--blue)}.booking-review-check{display:flex;align-items:center;gap:14px;margin-bottom:24px}.booking-review-check>svg{width:35px;height:35px;border-radius:50%;background:var(--blue-soft);color:var(--blue);padding:8px}.booking-review h3{font-size:16px;margin:0 0 6px}.booking-review p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.booking-review dl{font-size:12px}.booking-review dl>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.booking-review dt{color:var(--muted)}.booking-review dd{margin:0;text-align:right}.booking-review-people{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);padding:20px 0 5px}.booking-review-people span{font-size:11px;display:flex;align-items:center;gap:6px;background:var(--soft);border-radius:6px;padding:7px 9px}.booking-review-people svg{width:13px}
.issued-ticket{max-width:820px;margin:28px auto;overflow:hidden}.issued-ticket>header{display:flex;justify-content:space-between;align-items:center;padding:25px 32px;border-bottom:1px solid var(--border)}.ticket-wordmark{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ticket-wordmark>svg{width:25px;color:var(--blue)}.ticket-wordmark strong{font-size:23px;letter-spacing:-1px}.ticket-wordmark span{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-left:15px}.ticket-number{text-align:center;padding:30px 20px}.ticket-number span,.ticket-number small{display:block;font-size:11px;color:var(--muted)}.ticket-number strong{display:block;font-size:23px;letter-spacing:1px;margin:9px 0;font-variant-numeric:tabular-nums}.ticket-route{display:flex;justify-content:space-between;align-items:center;margin:0 32px;padding:25px;background:var(--blue-soft);border-radius:10px;gap:16px}.ticket-route h2{font-size:20px;margin:10px 0;letter-spacing:-.6px}.ticket-route small{font-size:9px;letter-spacing:1.8px;color:var(--blue)}.ticket-route p{font-size:12px;margin:0;color:var(--muted)}.ticket-route>svg{width:24px;color:var(--blue);flex-shrink:0}.ticket-ship{font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;padding:20px}.ticket-ship svg{width:17px}.ticket-section{padding:20px 32px;border-top:1px solid var(--border)}.ticket-section h3{font-size:12px;margin:0 0 16px}.ticket-section .op-table th,.ticket-section .op-table td{padding:12px 5px}.ticket-vehicle{margin:14px 0;font-size:12px}.ticket-vehicle>strong{margin-right:10px}.ticket-vehicle>span,.ticket-vehicle p{color:var(--muted);font-size:11px;line-height:1.8}.ticket-payment{padding:14px 16px;background:var(--soft);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px}.ticket-payment>small{width:100%;color:var(--muted)}.ticket-contact{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ticket-contact p,.ticket-section>p{font-size:11px;color:var(--muted);line-height:1.9;margin:0}.ticket-cancelled{margin:20px 32px;padding:16px;border:1px solid var(--border);background:var(--soft);border-radius:8px;font-size:12px}.issued-ticket>footer{padding:20px 32px;color:var(--muted);font-size:10px;line-height:1.7;border-top:1px dashed var(--border)}
@media(max-width:1100px){.booking-layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.booking-summary{padding:17px}.booking-steps button{padding:8px}.booking-steps strong{font-size:10px}.booking-steps span{width:23px;height:23px}.booking-body{padding:20px}.booking-date-search{flex-wrap:wrap}.booking-date-search>.btn{width:100%}.booking-voyage-route{align-items:start;flex-direction:column}}
@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}.booking-steps{padding-bottom:20px}.booking-steps button{flex:none;min-width:90px}.booking-steps button:after{display:none}.booking-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.booking-summary dl>div{display:block}.booking-summary dd{margin-top:8px}.summary-route{margin-top:18px}.booking-voyage-route{flex-direction:row}.booking-search{flex-wrap:wrap}.booking-search .search-input{flex-basis:100%}}
@media(max-width:520px){.booking-form-heading,.booking-body{padding:18px}.booking-form-footer{padding:16px}.booking-form-footer .btn{font-size:11px}.booking-record{padding:14px}.booking-voyage-route{flex-direction:column}.booking-body .form-grid{grid-template-columns:1fr}.booking-review dl>div{flex-wrap:wrap;gap:6px}.booking-date-search input{font-size:11px}.ticket-number strong{font-size:17px;letter-spacing:0}.issued-ticket>header{padding:18px}.ticket-wordmark span{display:none}.ticket-route{margin:0 16px;padding:16px;flex-direction:column;text-align:center}.ticket-route>svg{transform:rotate(90deg)}.ticket-route h2{font-size:18px}.ticket-section{padding:20px 16px}.ticket-contact{grid-template-columns:1fr}.ticket-ship{font-size:9px;flex-wrap:wrap;padding:16px}.ticket-number{padding:22px 12px}.booking-price-list>div{font-size:11px}.booking-price-list .booking-price-total{font-size:15px}.booking-summary dl{grid-template-columns:1fr 1fr 1fr}.booking-pagination{font-size:10px;padding:12px}.booking-pagination .btn{font-size:10px}.booking-list-summary{flex-wrap:wrap}.ticket-section .op-table td{font-size:11px}.ticket-cancelled{margin:16px}}
@media print{body{background:#fff!important;color:#000000!important}body *{visibility:hidden}#issued-ticket,#issued-ticket *{visibility:visible!important;color:#000000!important}#issued-ticket{position:absolute;left:0;top:0;max-width:none;width:100%;margin:0;border:0;box-shadow:none;border-radius:0;background:#fff!important;font-size:11pt}.ticket-section,.ticket-route,.ticket-number{break-inside:avoid}.ticket-section{padding:12px 24px}.issued-ticket>header{padding:12px 24px}.ticket-number{padding:16px}.ticket-route{background:#f5f4fa!important;margin:0 24px}.table-scroll{overflow:visible}#issued-ticket .badge{border:1px solid #bbb}#dialog{display:none}@page{size:A4;margin:12mm}}

@media(max-width:520px){.booking-steps{overflow:visible;align-items:stretch;gap:2px}.booking-steps button{min-width:0;flex:1;flex-direction:column;justify-content:flex-start;gap:8px;padding:6px 1px}.booking-steps strong{font-size:8px;white-space:normal;line-height:1.4;max-width:100%}}

@media print{.sidebar,.sidebar-backdrop,.topbar,.main-footer,.page-heading,#toast{display:none!important}.workspace,.main-wrap,#content{display:block!important;margin:0!important;padding:0!important;min-height:0!important}#content>*:not(#issued-ticket){display:none!important}#issued-ticket{position:static!important;overflow:visible!important}.ticket-section,.ticket-route,.ticket-number{background:white!important}.ticket-route{display:flex!important;flex-direction:row!important;text-align:left!important}.ticket-route>svg{transform:none!important}.ticket-contact{grid-template-columns:1fr 1fr!important}}
.booking-voyage-choice input[type=radio],.booking-confirm-check input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:2px 0;accent-color:var(--blue)}

.booking-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:26px}.booking-tabs a{padding:12px 3px;color:var(--muted);font-weight:600;text-decoration:none;border-bottom:2px solid transparent}.booking-tabs a.active{color:var(--blue);border-color:var(--blue)}
.financial-panel{margin-bottom:26px;overflow:hidden}.finance-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:24px;gap:20px}.finance-metrics>div{display:flex;flex-direction:column;gap:10px}.finance-metrics span{font-size:12px;color:var(--muted)}.finance-metrics strong{font-size:24px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.finance-metrics .due strong,.balance-due{color:var(--blue)}.finance-attention{display:flex;gap:10px;align-items:center;padding:14px 24px;background:var(--blue-soft);font-size:13px;color:var(--text)}.finance-tax,.finance-cancel{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.finance-cancel p{max-width:570px;line-height:1.6}.finance-cancel .btn{flex-shrink:0}.finance-note{padding:12px 24px}.refund-panel{padding:24px;border-top:1px solid var(--border);max-width:850px}.refund-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.refund-heading h3{margin:8px 0}.refund-breakdown{margin:20px 0}.refund-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.refund-breakdown dt{color:var(--muted)}.refund-breakdown dd{margin:0;white-space:nowrap;font-weight:600}.refund-breakdown .refund-total{font-size:19px;padding-top:18px;border:0}.refund-total dt{color:var(--text);font-weight:600}.refund-rules{background:var(--blue-soft);padding:16px;border-radius:10px;font-size:13px;line-height:1.6}.booking-search{flex-wrap:wrap}.booking-search select{max-width:280px}.financial-panel .panel-heading h2{margin:8px 0 0}.financial-panel .eyebrow,.refund-panel .eyebrow{font-size:10px;letter-spacing:1.5px}.financial-panel .op-table td{font-size:12px}
@media(max-width:700px){.finance-metrics{grid-template-columns:repeat(2,1fr);padding:18px}.finance-metrics strong{font-size:21px}.finance-tax,.finance-cancel,.refund-heading{align-items:flex-start;flex-direction:column}.finance-cancel,.finance-tax,.refund-panel{padding:18px}.booking-search select{max-width:100%;width:100%}.refund-breakdown dt{max-width:65%}.refund-breakdown .refund-total{font-size:17px}.financial-panel .panel-heading{gap:15px;flex-wrap:wrap}}
@media print{.financial-panel,.booking-tabs{display:none!important}}

.financial-panel .op-table{min-width:720px}

.booking-recovery{padding:24px;max-width:850px}.booking-recovery h2{font-size:20px}.booking-recovery p{font-size:14px;color:var(--muted);line-height:1.8;margin:16px 0}.booking-recovery .btn{margin:8px 8px 0 0}.booking-recovery .form-error{color:var(--danger)}.booking-draft-status{background:var(--soft);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin:0 0 20px;font-size:13px;line-height:1.7;color:var(--muted)}.booking-search>label:not(.search-input){flex:1 1 150px}.booking-search>select{flex:1 1 180px;min-width:0}.booking-search input,.booking-search select{max-width:100%}.booking-search>label>select,.booking-search>label>input{width:100%}
@media(max-width:600px){.booking-recovery{padding:18px}.booking-recovery .btn{width:100%;margin-right:0;white-space:normal;min-height:44px}.booking-form-footer{position:sticky;bottom:0;z-index:2;background:var(--surface);box-shadow:0 -3px 10px #0000000a}.booking-form-footer .btn{min-height:44px}.booking-search>label:not(.search-input),.booking-search>select{flex-basis:100%}.booking-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-review-people span{max-width:100%;overflow-wrap:anywhere}.booking-steps strong{font-size:10px}.booking-body input,.booking-body select,.booking-body textarea{min-width:0;font-size:16px}}
.booking-extra-filters{flex-basis:100%;border-top:1px solid var(--border);padding-top:14px}.booking-extra-filters>summary{cursor:pointer;font-weight:600;font-size:13px;line-height:1.7}.booking-extra-filters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.booking-extra-filters input,.booking-extra-filters select{width:100%;max-width:none}.booking-extra-filters label{min-width:0}@media(max-width:600px){.booking-extra-filters>div{grid-template-columns:1fr}.booking-extra-filters input,.booking-extra-filters select{font-size:16px}}
@media(max-width:600px){#content .booking-body input,#content .booking-body select,#content .booking-body textarea,#content .booking-search input,#content .booking-search select{font-size:16px}.booking-main{overflow:visible}}

.booking-accommodation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:2px 0 8px;padding:16px;background:var(--soft);border:1px solid var(--border);border-radius:9px}.booking-place-choice{border:0;padding:0;margin:0;min-width:0}.booking-place-choice legend{padding:0;margin-bottom:8px;font-size:11px;font-weight:500}.booking-place-choice>div{display:flex;gap:8px}.booking-body .booking-place-option{display:flex;flex:1;flex-direction:row;align-items:center;gap:8px;margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);cursor:pointer;min-height:42px;box-sizing:border-box}.booking-place-option.selected{border-color:var(--blue);background:var(--blue-soft)}.booking-place-option.unavailable{opacity:.5;cursor:default}.booking-place-option input[type=radio]{margin:0;width:16px;height:16px;accent-color:var(--blue)}.booking-accommodation>label{margin:0}.booking-accommodation small{color:var(--muted);line-height:1.6}@media(max-width:600px){.booking-accommodation{grid-template-columns:1fr;padding:12px}.booking-body .booking-place-option{min-height:44px}}
.corporate-transport.ticket-corporate-transport{margin:24px 0}.corporate-transport.ticket-corporate-transport>summary{padding:18px 22px}.ticket-corporate-transport .corporate-transport-body{padding:22px}@media(max-width:600px){.corporate-transport.ticket-corporate-transport>summary,.ticket-corporate-transport .corporate-transport-body{padding:16px}}@media print{.corporate-transport.ticket-corporate-transport{display:none!important}}
