:root{--layout-panel-inset:24px;--layout-filter-padding:20px;--layout-control-gap:12px;--layout-compact-gap:8px;--layout-sidebar:288px;--layout-header:85px;--layout-page-padding:32px;--layout-section-gap:36px;--layout-control-height:46px;--layout-surface-width:768px;--layout-wide-content:1800px;--violet:#5b5bd6;--violet-hover:#4848bd;--violet-soft:#eeeeff;--border:#e3e6e8;--surface:#f9fafb;--text:#17191c;--muted:#667085;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--text);font-size:16px;line-height:1.5;background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b8b8f4;outline-offset:3px}svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.8}h1,h2,p{margin:0}button{border:0}button svg{width:18px;height:18px}[hidden]{display:none!important}.skip-link{position:fixed;top:-70px;left:16px;padding:12px;background:#fff;z-index:1000}.skip-link:focus{top:8px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--layout-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;background:#fff;z-index:30}.brand{height:var(--layout-header);padding:0 32px;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--violet);color:#fff;border-radius:10px;font-size:22px;font-weight:800}.brand-name{font-size:20px;font-weight:800;letter-spacing:.06em}.version{font-size:12px;font-weight:700;letter-spacing:0;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:2px 6px}.nav-caption{font-size:12px;letter-spacing:.1em;font-weight:800;color:var(--muted);margin:36px 32px 16px}.navigation{padding:0 16px;display:grid;gap:8px}.nav-item{display:flex;gap:12px;align-items:center;min-height:48px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;color:#525866}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:var(--surface)}.nav-item.active{background:var(--violet);box-shadow:0 4px 12px #5b5bd622;color:#fff}.nav-item .nav-count{margin-left:auto;min-width:24px;text-align:center;font-size:12px;background:#ffffff22;border-radius:6px;padding:1px 6px}.sidebar-footer{margin-top:auto;padding:24px 32px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.sidebar-footer strong{display:block;font-size:13px;color:#475467;font-weight:600;margin-bottom:4px}.close-menu{display:none}
.topbar{position:fixed;left:var(--layout-sidebar);right:0;top:0;height:var(--layout-header);border-bottom:1px solid var(--border);background:#fff;z-index:20;padding:0 var(--layout-page-padding);display:flex;align-items:center;justify-content:space-between;gap:24px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);white-space:nowrap}.breadcrumb strong{font-weight:600;color:var(--text)}.breadcrumb svg{width:14px;height:14px;color:#a2a8b1}.workspace-label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}.workspace-label svg{width:16px;height:16px}.menu-toggle{display:none}.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;display:inline-grid;place-items:center;color:var(--muted)}.icon-button:hover{background:var(--surface);color:var(--text)}
.main{margin-left:var(--layout-sidebar);padding:calc(var(--layout-header) + var(--layout-page-padding)) var(--layout-page-padding) 48px;min-height:100vh}.page{max-width:var(--layout-wide-content);margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:var(--layout-section-gap)}h1{font-size:24px;line-height:31px;font-weight:800;letter-spacing:-.025em}.description{font-size:14px;color:var(--muted);margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:10px;border:1px solid transparent;font-size:14px;font-weight:700;white-space:nowrap;background:var(--violet);color:#fff;transition:background .15s}.button:hover{background:var(--violet-hover)}.button.secondary{border-color:var(--border);background:#fff;color:#414651}.button.secondary:hover{background:#f4f5f7}.button.tertiary{background:transparent;color:var(--muted);padding:8px 12px}.button.tertiary:hover{background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.toolbar{padding:var(--layout-filter-padding) var(--layout-panel-inset);display:flex;align-items:center;gap:var(--layout-control-gap);border-bottom:1px solid var(--border);background:#fff}.search{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:10px;background:#fff;min-height:46px;padding:0 12px;flex:1;max-width:420px;color:var(--muted)}.search svg{width:18px;height:18px}.search input{min-width:0;width:100%;height:44px;border:0;outline:none;background:transparent;font-size:14px;color:var(--text)}.search:focus-within{outline:3px solid #b8b8f4;outline-offset:2px}.search input:focus-visible{outline:none}.search input::placeholder{color:#8c929d}.select{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 36px 0 12px;background:#fff;color:#414651;font-size:14px;max-width:240px}.toolbar-spacer{flex:1}.result-count{white-space:nowrap;font-size:13px;color:var(--muted)}.empty{padding:72px 24px 80px;text-align:center;max-width:580px;margin:auto}.empty-symbol{width:64px;height:64px;display:grid;place-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 12px #10182804;margin:0 auto 24px;color:var(--violet)}.empty-symbol svg{width:28px;height:28px}.empty h2{font-size:18px;font-weight:800;letter-spacing:-.02em}.empty p{font-size:14px;color:var(--muted);max-width:360px;margin:8px auto 24px;line-height:1.7}.panel-bottom{padding:16px 24px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:#fff}.panel-bottom svg{height:16px;width:16px}.notice{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;margin-bottom:24px;background:var(--violet-soft);border:1px solid #dddffa;border-radius:12px;font-size:14px;color:#4747a3}.notice p{flex:1}.notice .text-button{padding:0;min-height:auto}.text-button{background:transparent;color:var(--violet);font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:0;padding:8px 0;min-height:40px}.text-button:hover{text-decoration:underline}.error-state{color:#b42318}.loading{padding:72px 24px;text-align:center;color:var(--muted)}
.table-wrap{overflow-x:auto;background:#fff}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}thead{background:var(--surface);color:#667085;font-size:12px}th{font-weight:700;letter-spacing:.015em;height:44px;padding:12px 24px;white-space:nowrap}td{padding:20px 24px;border-top:1px solid var(--border);vertical-align:middle}tbody tr:hover{background:#fcfcff}.entity{display:flex;align-items:center;gap:12px;min-width:180px}.entity-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:#7878b5;flex-shrink:0}.entity strong{font-size:14px;display:block;overflow-wrap:anywhere}.entity small,.cell-secondary{font-size:13px;color:var(--muted);display:block;margin-top:4px;overflow-wrap:anywhere}.contact-cell{max-width:280px;overflow-wrap:anywhere}.contact-cell a:hover{color:var(--violet);text-decoration:underline}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:6px;padding:4px 8px;border:1px solid #e0e4e8;color:#667085;white-space:nowrap;background:#f9fafb}.status.active{color:#26735a;border-color:#d8eee3;background:#f0f9f4}.status.inactive{color:#667085}.row-actions{text-align:right;width:64px}.edit-button{border-color:transparent;background:transparent}.provider-link{font-size:14px;font-weight:600;color:#414651;max-width:240px;background:transparent;text-align:left;padding:0;white-space:normal}.provider-link:hover{color:var(--violet);text-decoration:underline}.excursion-description{max-width:380px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-footer{padding:14px 24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);background:#fff}.filter-caption{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:14px;color:var(--muted)}
dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--border);border-radius:16px;padding:0;box-shadow:0 24px 96px #10182833;color:var(--text);background:#fff}dialog::backdrop{background:#10182866;backdrop-filter:blur(3px)}.dialog-header{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:16px}.dialog-header>div{flex:1}.dialog-header h2{font-size:20px;line-height:28px;font-weight:800;letter-spacing:-.02em}.dialog-header p{margin-top:4px;font-size:13px;color:var(--muted)}.form-body{padding:28px;display:grid;gap:24px;max-height:calc(100dvh - 250px);overflow:auto}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #d9dde3;border-radius:10px;padding:10px 12px;color:var(--text);background:#fff;font-size:14px;font-weight:400}.field textarea{min-height:104px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#98a2b3}.field small{font-size:12px;color:var(--muted);font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.optional{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px}.required{color:var(--violet)}.form-error{background:#fef3f2;color:#b42318;border:1px solid #fecdca;border-radius:10px;padding:12px 16px;font-size:14px}.form-note{font-size:13px;color:var(--muted);padding:12px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 28px;border-top:1px solid var(--border);background:var(--surface)}.dialog-actions .save-note{margin-right:auto;align-self:center;font-size:12px;color:var(--muted)}.discard-dialog{max-width:440px;padding:28px}.discard-dialog h2{font-size:20px;line-height:1.4}.discard-dialog p{margin:12px 0 24px;font-size:14px;color:var(--muted)}.discard-actions{display:flex;gap:12px;justify-content:flex-end}.toast{position:fixed;bottom:24px;left:calc(50% + var(--layout-sidebar)/2);transform:translateX(-50%);background:#242735;color:#fff;box-shadow:0 8px 24px #10182826;border-radius:12px;padding:14px 20px;font-size:14px;z-index:100;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px)}.toast svg{color:#a9e5bc;width:18px;height:18px}.menu-overlay{display:none}
@media(max-width:1150px){:root{--layout-panel-inset:16px;--layout-filter-padding:16px}th,td{padding-left:16px;padding-right:16px}.toolbar{padding:16px}.workspace-label span{display:none}.toolbar .select{max-width:200px}}
@media(max-width:991px){:root{--layout-header:72px;--layout-page-padding:16px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:min(288px,calc(100vw - 40px))}.sidebar.open{transform:translateX(0)}.sidebar.open~.menu-overlay{display:block;position:fixed;inset:0;background:#10182866;z-index:29}.topbar{left:0;gap:12px}.topbar .menu-toggle{display:inline-grid}.breadcrumb{margin-right:auto;gap:8px}.workspace-label{display:none}.close-menu{display:inline-grid;margin-left:auto;width:32px;height:32px}.brand{padding:0 20px;gap:8px}.main{margin-left:0;padding-top:calc(var(--layout-header) + 24px)}.toast{left:50%}.page-heading{gap:16px}.toolbar{flex-wrap:wrap}.search{max-width:none;flex-basis:220px}.toolbar-spacer{display:none}.result-count{margin-left:auto}.empty{padding:56px 20px}.page-heading h1{font-size:24px}.field-row{gap:16px}}
@media(max-width:600px){.page-heading{flex-direction:column;gap:20px;margin-bottom:24px}.page-heading>.button{width:100%}.description{max-width:340px}.toolbar{padding:16px;gap:12px}.search{flex-basis:100%}.toolbar .select{max-width:none;flex:1;min-width:0}.result-count{font-size:12px}.toolbar-spacer{display:none}.table-wrap{overflow:visible}table,tbody,tr,td{display:block}thead{display:none}tbody tr{padding:20px;position:relative;border-bottom:1px solid var(--border)}tbody tr:last-child{border-bottom:0}td{border:0;padding:8px 0}.entity{padding-right:32px}.contact-cell{max-width:none;padding-left:52px}.mobile-labelled{display:flex;gap:8px;align-items:center;padding-left:52px}.mobile-labelled::before{content:attr(data-label);font-size:12px;color:var(--muted)}.row-actions{position:absolute;right:16px;top:20px;width:auto}.panel-bottom{padding:16px;font-size:12px;align-items:flex-start}.dialog-header{padding:20px}.form-body{padding:20px;gap:20px;max-height:calc(100dvh - 240px)}.dialog-actions{padding:16px 20px}.field-row{grid-template-columns:1fr}.save-note{display:none}dialog{max-height:calc(100dvh - 24px)}.notice{padding:16px;flex-wrap:wrap}.notice .text-button{margin-left:32px}.breadcrumb{font-size:13px}.discard-actions{flex-direction:column-reverse}.toast{bottom:16px;min-width:250px}.table-footer{padding:16px}.filter-caption{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.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}.close-menu{position:absolute;right:16px;top:20px}.sidebar .brand{padding-right:16px}@media(max-width:991px){.sidebar .brand-name{font-size:18px}.sidebar .version{display:none}.menu-is-open{overflow:hidden}}
.entity-link:hover{color:var(--violet);text-decoration:underline}.entity>div{min-width:0}.entity-link{overflow-wrap:anywhere}.migration-note{font-size:12px;color:var(--muted);margin-top:12px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:24px}.back-link svg{transform:rotate(180deg);width:16px;height:16px}.back-link:hover{color:var(--violet)}.eyebrow{font-size:11px;letter-spacing:.09em;font-weight:800;color:var(--muted);margin-bottom:8px}.detail-heading{align-items:flex-start}.detail-heading>div{min-width:0}.detail-heading h1{overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px;color:var(--muted);margin-top:16px}.detail-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:28px;overflow-x:auto}.detail-tabs button{background:none;padding:16px 0;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.detail-tabs button.active{color:var(--violet);border-bottom-color:var(--violet)}.detail-tabs button span{background:var(--surface);padding:3px 7px;border-radius:6px;font-size:11px;margin-left:6px}.detail-card{padding:28px;margin-bottom:24px}.detail-card h2{font-size:17px;margin-bottom:20px;font-weight:800}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;margin:0 0 24px}.facts>div{min-width:0}.facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.facts dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}.long-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.muted{color:var(--muted);font-weight:400}.linked-records{display:grid}.linked-records>a{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);font-size:14px}.linked-records>a:last-child{border-bottom:0}.linked-records>a>span:first-child{flex:1;overflow-wrap:anywhere}.linked-records>a:hover{color:var(--violet)}.source-info,.nested-details{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.source-info>summary,.nested-details>summary{cursor:pointer;min-height:32px;align-content:center;line-height:1.6}.source-info .facts,.nested-details .facts{margin:16px 0}.source-info .facts dd{font-size:12px;font-weight:400}.source-info{opacity:.9}.section-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px;font-size:13px}.section-intro p{font-weight:700}.section-intro>span{color:var(--muted);font-size:12px}.price-list,.pickup-list{display:grid;gap:16px;margin-top:20px}.price-card,.pickup-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface)}.price-heading{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;font-size:14px;margin-bottom:20px}.price-heading>span{color:var(--muted);font-size:12px}.price-card>.facts{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.price-card>.facts dd{font-variant-numeric:tabular-nums}.schedule{border-bottom:1px solid var(--border)}.schedule>summary{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer}.schedule>summary::after{content:'+';font-size:20px;color:var(--muted)}.schedule[open]>summary::after{content:'−'}.schedule>summary>div{flex:1;min-width:0}.schedule>summary strong{display:block;font-size:14px}.schedule>summary span:not(.status){display:block;font-size:12px;color:var(--muted);margin-top:4px}.schedule-body{padding:0 24px 24px}.pickup-time{font-variant-numeric:tabular-nums;font-size:16px!important;font-weight:800;color:var(--violet)!important;white-space:nowrap}.pickup-card .price-heading{margin-bottom:8px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;font-size:12px;color:var(--muted)}.pagination>div{display:flex;gap:8px}.pagination .button{min-height:38px;padding:8px 14px;font-size:12px}.no-matches{padding:32px;color:var(--muted);font-size:14px}.detail-card .cell-secondary{font-size:14px}.schedule-list{scroll-margin-top:110px}
@media(max-width:1200px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card>.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-heading{flex-wrap:wrap}.section-intro{align-items:flex-start;flex-direction:column;gap:8px}.toolbar .search{min-width:150px}.toolbar{flex-wrap:wrap}}
@media(max-width:600px){.detail-card{padding:20px}.facts{gap:20px 16px}.detail-tabs{gap:20px;margin-bottom:20px}.detail-heading>.button{width:100%}.detail-heading h1{font-size:24px}.price-card,.pickup-card{padding:16px}.price-heading{flex-direction:column;gap:8px}.schedule>summary{padding:16px;gap:12px}.schedule-body{padding:0 16px 16px}.schedule>summary .status{display:none}.pagination{padding:16px;flex-wrap:wrap}.section-heading{flex-wrap:wrap;margin-bottom:12px}.section-heading h2{margin-bottom:0}.back-link{margin-bottom:20px}.linked-records>a{gap:8px}.detail-tabs button{min-height:46px}.facts dd{font-size:13px}}
.icon-button.menu-toggle,.icon-button.close-menu{display:none}@media(max-width:991px){.icon-button.menu-toggle,.icon-button.close-menu{display:inline-grid}}
.entity small.excursion-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidebar{overflow-y:auto}.sidebar>.brand,.sidebar>.navigation,.sidebar>.nav-caption,.sidebar>.sidebar-footer{flex-shrink:0}.choice-field{border:0;padding:0;margin:0;min-width:0}.choice-field legend{font-size:14px;font-weight:600;margin-bottom:12px}.choice-list{max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:8px}.choice-list>label{display:flex;align-items:flex-start;gap:12px;padding:8px;border-radius:8px;font-size:14px;cursor:pointer}.choice-list>label:hover{background:var(--surface)}.choice-list input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--violet);margin-top:2px}.choice-list span{min-width:0;overflow-wrap:anywhere}.choice-list small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.choice-list>p{padding:12px;font-size:13px}.new-vehicle{border:1px solid var(--border);padding:16px;border-radius:10px}.new-vehicle>summary{font-size:14px;cursor:pointer;color:var(--violet);font-weight:600}.new-vehicle-fields{display:grid;gap:20px;margin-top:20px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.vehicle-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface)}.vehicle-card strong{font-size:14px}.vehicle-card p{font-size:14px;margin-top:12px}.vehicle-card small{font-size:12px;color:var(--muted)}.vehicle-card .section-heading{margin:0}.vehicle-card .status{flex-shrink:0}.zone-list>div{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);font-size:14px}.zone-list>div:last-child{border:0}.zone-list strong{flex:1}.zone-list>div>span:not(.status){font-size:12px;color:var(--muted)}.linked-records small{display:block;margin-top:4px}.contract-period{font-size:12px;color:var(--muted);max-width:200px}.transport-rate{padding:24px;border-bottom:1px solid var(--border)}.transport-rate:last-child{border:0}.rate-route-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.rate-origin{font-size:12px;color:var(--muted);margin-bottom:4px}.rate-route-heading h3{font-size:16px;margin:0;overflow-wrap:anywhere}.rate-service{font-size:12px;color:var(--muted);margin-top:4px}.rate-band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.rate-band{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);min-width:0}.rate-band>strong{font-size:14px}.rate-band>span{font-size:12px;color:var(--muted)}.rate-amount{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--border);padding:8px 12px;min-height:46px;margin-top:12px;border-radius:8px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.rate-amount:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}.rate-amount>svg{width:16px;height:16px;color:var(--muted)}.rate-amount:disabled{opacity:1;cursor:default}.rate-amount .cell-secondary{font-size:13px;font-weight:400}.missing-amount{padding:12px 0;margin-top:auto}.transport-rate-list{scroll-margin-top:calc(var(--layout-header) + 24px)}
@media(max-width:600px){.transport-rate{padding:20px}.rate-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-band{padding:12px}.rate-band>strong{overflow-wrap:anywhere}.vehicle-grid{grid-template-columns:1fr}.zone-list>div{flex-wrap:wrap}.zone-list strong{flex-basis:100%}.contract-period{max-width:none}.choice-list{max-height:220px}.rate-route-heading h3{font-size:16px}}
#record-form{display:flex;flex-direction:column;max-height:calc(100dvh - 50px)}.dialog-header,.dialog-actions{flex-shrink:0}.dialog-header>div{min-width:0}.dialog-header>.icon-button{flex-shrink:0}.form-body{flex:1;min-height:0;max-height:none}@media(max-width:600px){.toolbar .select{flex-basis:100%;width:100%}.result-count{margin-left:0}.dialog-actions .button{flex:1;white-space:normal}.dialog-actions{gap:8px}#record-form{max-height:calc(100dvh - 26px)}}
.transport-secondary{margin-top:8px}.sidebar .nav-caption{margin-top:24px;margin-bottom:12px}.sidebar .brand{flex-shrink:0}.sidebar-footer{margin-top:24px}.reference-parent{display:flex;align-items:center;gap:16px;margin-bottom:24px;font-size:13px;color:var(--muted)}.reference-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.reference-links a{white-space:normal;text-align:left}.mapping-summary{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;margin-bottom:20px;color:var(--muted)}.mapping-summary strong{font-size:22px;color:var(--text);margin-right:6px}.mapping-explanation{margin-bottom:24px}.mapping-list{background:#fff}.mapping-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) 40px;gap:24px;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.mapping-row:last-child{border-bottom:0}.mapping-name{min-width:0}.mapping-name h3{font-size:14px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}.mapping-name>a:hover{color:var(--violet);text-decoration:underline}.mapping-links{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-width:0}.mapping-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:8px 12px;border:1px solid var(--border);border-radius:10px;max-width:100%;overflow-wrap:anywhere}.mapping-chip:hover{border-color:var(--violet);color:var(--violet)}.mapping-chip svg{width:16px;height:16px}.mapping-row .eyebrow{font-size:10px}.reference-links .text-button{overflow-wrap:anywhere}.mapping-row,.table-wrap{scroll-margin-top:110px}
@media(max-width:1150px){.toolbar:has(#mapping-search){flex-wrap:wrap}.mapping-row{gap:16px}}
@media(max-width:600px){.mapping-row{grid-template-columns:minmax(0,1fr) 40px;padding:20px;gap:16px}.mapping-links{grid-column:1/-1;grid-row:2}.mapping-row>.icon-button{grid-column:2;grid-row:1}.mapping-summary{gap:16px}.mapping-summary strong{font-size:18px}.pagination{flex-wrap:wrap}.reference-parent{align-items:flex-start;flex-direction:column;gap:4px}.breadcrumb strong{max-width:180px;overflow:hidden;text-overflow:ellipsis}.mobile-labelled>.text-button{white-space:normal;text-align:left}}
.price-search-card{overflow:visible;background:#fff;padding:24px;margin-bottom:var(--layout-section-gap)}.price-journey{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:24px}.price-swap{margin-top:32px}.price-picker{position:relative;min-width:0}.picker-hint{display:block;margin-top:8px;font-size:12px;color:var(--muted);min-height:20px;overflow-wrap:anywhere}.price-suggestions{position:absolute;top:76px;left:0;right:0;z-index:15;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #1018281a;margin:0;padding:8px;list-style:none;max-height:320px;overflow-y:auto;overscroll-behavior:contain}.price-suggestions [role=option]{padding:12px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}.price-suggestions [role=option]:hover,.price-suggestions [aria-selected=true]{background:var(--violet-soft)}.price-suggestions strong{display:block;font-size:14px}.price-suggestions span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.picker-empty{padding:16px;font-size:14px;color:var(--muted)}.price-main-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.price-more{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.price-more>summary{font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;min-height:40px;align-content:center}.price-more>.field-row{margin-top:12px}.price-checkbox{display:flex;align-items:center;gap:12px;font-size:14px;margin-top:20px;min-height:32px}.price-checkbox input{width:18px;height:18px;accent-color:var(--violet)}.price-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.price-actions>span{font-size:13px;color:var(--muted);margin-right:auto;max-width:360px}.price-search-card .form-error{margin-top:20px}.price-initial{display:flex;gap:16px;justify-content:center;padding:32px 24px;border:1px dashed var(--border);border-radius:16px;color:var(--muted)}.price-initial>svg{margin-top:4px}.price-initial h2{font-size:16px;color:var(--text);font-weight:700}.price-initial p{font-size:14px;margin-top:8px;max-width:560px}.price-results{scroll-margin-top:110px}.price-results-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.price-results-heading h2{font-size:18px;line-height:28px}.price-results-heading p{font-size:14px;font-weight:600;margin:8px 0;overflow-wrap:anywhere}.price-results-heading span{font-size:13px;color:var(--muted)}#price-result-cards{display:grid;gap:16px}.price-result{padding:24px;background:#fff}.price-result-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.price-result-top>div:first-child{min-width:0}.price-carrier{font-size:16px;font-weight:800}.price-carrier:hover{color:var(--violet);text-decoration:underline}.price-result-top p{font-size:14px;margin:8px 0 4px}.price-result-top>div>span{font-size:13px;color:var(--muted)}.price-total{text-align:right;flex-shrink:0;display:grid;gap:4px}.price-total strong{font-size:24px;line-height:32px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.price-total>span{font-weight:700;color:var(--text)!important;font-size:14px!important}.price-total small{font-size:12px;color:var(--muted)}.price-result-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}.price-match{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.price-match svg{width:16px;height:16px}.price-result .facts{margin-bottom:0}.price-draft{display:table!important;margin-top:12px}.price-stale{padding:24px;border-radius:12px;background:var(--surface);font-size:14px;color:var(--muted)}
@media(max-width:1150px){.price-actions>span{max-width:240px}}
@media(max-width:600px){.price-search-card{padding:20px}.price-journey{grid-template-columns:minmax(0,1fr) 40px;gap:16px}.price-journey>.price-picker:last-child{grid-column:1/-1}.price-main-fields{grid-template-columns:1fr;gap:20px}.price-suggestions{max-height:240px}.price-actions{flex-wrap:wrap;gap:16px}.price-actions>span{flex-basis:100%;max-width:none}.price-actions>.button{flex:1}.price-results-heading{flex-direction:column;gap:8px}.price-result{padding:20px}.price-result-top{gap:16px}.price-total strong{font-size:22px}.price-result-bottom{flex-direction:column;align-items:flex-start;gap:8px}.price-initial{padding:24px 20px}.price-initial>svg{display:none}.price-search-card .field input{min-width:0}.price-total{max-width:50%}.price-result-top p{overflow-wrap:anywhere}}
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar .navigation{flex-shrink:0}.agency-toolbar{flex-wrap:wrap}.agency-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;min-height:40px}.agency-checkbox input{accent-color:var(--violet);width:17px;height:17px}.agency-logo{width:48px;height:40px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px;flex-shrink:0}.agency-profile{display:flex;align-items:center;gap:24px}.agency-profile-logo{width:140px;height:80px;object-fit:contain}.agency-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.agency-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.agency-tabs>button{flex-shrink:0}.agency-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.agency-section-card{text-align:left;padding:20px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px}.agency-section-card:hover{border-color:var(--violet)}.agency-section-card>span{font-size:14px;font-weight:600}.agency-section-card>strong{font-size:26px;font-weight:800;color:var(--violet)}.agency-review-notice p{margin-top:4px}.agency-line{background:#fff;padding:24px;border-bottom:1px solid var(--border);min-width:0}.agency-line h3{font-size:16px;line-height:1.6;margin:0;overflow-wrap:anywhere}.agency-tags{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;margin-top:8px;color:var(--muted);font-size:13px}.agency-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px}.agency-price{padding:16px;border-radius:10px;border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;min-width:0;background:var(--surface)}.agency-price>span:first-child{font-size:14px;font-weight:600;margin-bottom:8px}.agency-price>strong{font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.agency-price>strong small{display:block;color:#26735a;font-size:13px;font-weight:600;letter-spacing:normal}.agency-price>span,.agency-price>small{font-size:13px;color:var(--muted)}.agency-price .agency-unpriced{font-size:14px;color:var(--muted);letter-spacing:normal}.agency-warning-text{color:#946200;font-size:14px;font-weight:600;margin-bottom:12px}.agency-conditions{font-size:14px;line-height:1.8;margin-bottom:16px}.agency-reference-prices{border-top:0}.agency-reference-prices .agency-price{background:#fff;border-style:dashed}.agency-validity{margin-top:16px;display:block}.agency-validity strong{display:block;margin-bottom:4px}.agency-mapping{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.agency-mapping>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.agency-mapping>div>strong{font-size:14px;margin-bottom:4px}.agency-source{font-size:13px;margin:12px 0;min-width:0}.agency-source>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr);border-top:1px solid var(--border);gap:16px;padding:10px 0;min-width:0}.agency-source dt{color:var(--muted);overflow-wrap:anywhere}.agency-source dd{margin:0;overflow-wrap:anywhere;min-width:0}.agency-source-list>div+div{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.agency-evidence{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--border);font-size:14px;overflow-wrap:anywhere}.agency-evidence>span{color:var(--muted);font-size:13px}.agency-hash{overflow-wrap:anywhere;display:block;font-size:12px}.agency-codes{margin-top:24px}.agency-codes summary{font-weight:700;cursor:pointer}.agency-code-list{margin-top:20px}.agency-code-list>div{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:center;border-top:1px solid var(--border);padding:12px 0;font-size:14px;overflow-wrap:anywhere}.agency-kickback{margin-top:20px}.agency-kickback h4{margin:24px 0 8px;font-size:14px}.agency-kickback .long-text{margin-top:16px;font-size:14px}.agency-bands{margin:20px 0}.agency-bands>div{padding:16px 0;border-bottom:1px solid var(--border)}.agency-bands>div>strong{font-size:14px}.agency-bands>div>div{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.agency-kick-rate{display:flex;flex-direction:column;gap:4px;font-size:14px;min-width:100px}.agency-kick-rate>strong{font-size:18px}.agency-kick-rate>span{color:var(--muted);font-size:13px}.agency-price-editor{border:1px solid var(--border);border-radius:12px;padding:16px;display:grid;gap:16px;min-width:0}.agency-price-editor legend{font-size:14px;font-weight:700;padding:0 8px}.agency-ref-search{width:100%;border:1px solid var(--border);border-radius:8px;min-height:42px;padding:8px 12px;margin-bottom:12px;font-size:14px}#agency-section{scroll-margin-top:110px}.agency-tabs+div .detail-card{margin-top:24px}.agency-line .nested-details{overflow-wrap:anywhere}.agency-line .rate-route-heading>.icon-button{flex-shrink:0}
@media(max-width:1200px){.agency-heading-actions{flex-direction:column;align-items:stretch}.agency-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.agency-heading-actions{width:100%}.agency-heading-actions>.select{max-width:none}.agency-section-grid{gap:12px}.agency-section-card{padding:16px;display:block}.agency-section-card>span{display:block}.agency-section-card>strong{display:block;margin-top:8px;font-size:24px}.agency-line{padding:20px}.agency-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.agency-price{padding:12px}.agency-price>strong{font-size:20px}.agency-price>span:first-child{font-size:13px;overflow-wrap:anywhere}.agency-mapping{grid-template-columns:1fr}.agency-source>div{grid-template-columns:1fr;gap:4px}.agency-code-list>div{grid-template-columns:70px minmax(0,1fr);gap:8px}.agency-code-list>div>a{grid-column:2}.agency-profile{gap:16px;flex-direction:column;align-items:flex-start}.agency-toolbar .search{max-width:none}.agency-tabs>button{font-size:14px}.agency-line .detail-meta{flex-wrap:wrap}.agency-profile-logo{width:120px;height:70px}}
.agency-contract-heading{margin-bottom:20px}.agency-contract-heading .detail-meta{margin-top:12px}.agency-publication-note{background:#f8f9fc;color:var(--muted);border-color:var(--border);padding:12px 16px;margin-bottom:20px;font-size:13px}.agency-tabs{flex-wrap:wrap;gap:4px 16px;overflow:visible;padding-bottom:0;margin-bottom:24px}.agency-tabs>button{padding:12px 2px;min-height:44px;font-size:14px}.agency-section-picker{display:none}.agency-tariff-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:20px}.agency-tariff-heading h2{font-size:19px;letter-spacing:-.02em}.agency-tariff-heading p{font-size:14px;color:var(--muted);margin-top:4px}.agency-explorer{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px 20px}.agency-explorer-search{display:flex;align-items:center;gap:12px}.agency-explorer-search>.search{max-width:none;flex:1;background:#fff}.agency-explorer-search>.select{flex-shrink:0}.agency-explorer-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}.agency-explorer-options .agency-checkbox{font-size:13px}.agency-explorer-options .text-button{font-size:13px}.agency-group-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:12px 0}.agency-group-tools p{font-size:13px;color:var(--muted)}.agency-group-tools>div{display:flex;align-items:center;gap:12px}.agency-group-tools .text-button{font-size:13px}.agency-group-tools>div>span{color:#c0c4ca}.agency-place-group{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}.agency-place-group>summary{display:flex;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;background:#fff}.agency-place-group>summary:hover{background:#fafaff}.agency-place-group>summary::-webkit-details-marker,.agency-destination>summary::-webkit-details-marker,.agency-fare-detail>summary::-webkit-details-marker{display:none}.agency-airport-code{display:grid;place-items:center;width:52px;min-height:44px;flex-shrink:0;background:var(--violet-soft);border:1px solid #dedff7;border-radius:10px;color:var(--violet);font-size:15px;font-weight:800;letter-spacing:.02em}.agency-group-symbol{width:42px;min-height:42px;display:grid;place-items:center;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--muted);flex-shrink:0}.agency-group-symbol>svg{width:19px;height:19px}.agency-place-title{min-width:0;flex:1}.agency-place-title>small{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}.agency-place-title>strong{display:block;font-size:15px;font-weight:800;overflow-wrap:anywhere}.agency-place-count{font-size:13px;color:#475467;text-align:right;white-space:nowrap}.agency-place-count>small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.agency-group-chevron{display:inline-flex;align-items:center;color:#7a8090;flex-shrink:0}.agency-group-chevron>svg{width:17px;height:17px;transition:transform .15s}.agency-place-group[open]>summary .agency-group-chevron>svg,.agency-destination[open]>summary .agency-group-chevron>svg,.agency-fare-detail[open]>summary>svg{transform:rotate(90deg)}.agency-place-group[open]>summary{border-bottom:1px solid var(--border);background:#fcfcff}.agency-place-content{padding:4px 20px 12px}.agency-destination{border-bottom:1px solid var(--border)}.agency-destination:last-child{border-bottom:0}.agency-destination>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:16px 0;min-height:52px}.agency-destination>summary>strong{flex:1;font-size:14px;font-weight:700;overflow-wrap:anywhere}.agency-destination>summary>span:last-child{font-size:12px;color:var(--muted);white-space:nowrap}.agency-destination[open]>summary{color:var(--violet)}.agency-destination>div{margin:0 0 12px 26px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.agency-fare{padding:16px 18px;border-bottom:1px solid var(--border);background:#fff}.agency-fare:last-child{border-bottom:0}.agency-fare-main{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,2fr);align-items:start;gap:20px}.agency-fare-name{min-width:0}.agency-fare-name h4{font-size:14px;line-height:1.5;margin:0;font-weight:700;overflow-wrap:anywhere}.agency-fare-name p{font-size:12px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.agency-fare-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.agency-fare-badges span{font-size:12px;color:#795706;background:#fcf7e8;padding:2px 6px;border-radius:4px}.agency-fare-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px 16px;min-width:0}.agency-mini-price{min-width:0;display:flex;flex-direction:column;gap:3px}.agency-mini-price>span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.agency-mini-price>strong{font-size:18px;letter-spacing:-.02em;line-height:1.45;font-variant-numeric:tabular-nums}.agency-mini-price>strong>small{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}.agency-mini-price>strong.unconfirmed{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0}.agency-mini-price>em{font-size:12px;color:#26735a;font-weight:600;font-style:normal}.agency-mini-price>small{font-size:12px;color:var(--muted)}.agency-no-price{font-size:13px;color:var(--muted);padding-top:2px}.agency-fare-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.agency-fare-actions>.text-button{font-size:12px;min-height:30px;padding:3px 0;align-self:start}.agency-fare-actions>.text-button>svg{width:14px;height:14px}.agency-fare-detail{display:contents}.agency-fare-detail>summary{list-style:none;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;min-height:30px;cursor:pointer;grid-column:1;grid-row:1}.agency-fare-detail>summary>svg{width:14px;height:14px;transition:transform .15s}.agency-fare-detail>summary small{font-size:12px;color:var(--muted)}.agency-fare-detail>summary:hover{color:var(--violet)}.agency-fare-detail-body{grid-column:1/-1;grid-row:2;font-size:14px;border-top:1px solid var(--border);padding-top:16px;margin-top:4px;min-width:0}.agency-fare-detail:not([open])>.agency-fare-detail-body{display:none}.agency-fare-detail .nested-details{margin-top:12px}.agency-detail-section{margin-bottom:20px}.agency-detail-section h4{font-size:14px;margin:0 0 12px}.agency-fare-validity{display:flex;gap:6px;color:#806005;font-size:12px;margin-top:12px}.agency-fare-validity>svg{width:15px;height:15px;margin-top:2px}.agency-condition-preview{font-size:14px;line-height:1.7;white-space:pre-line;margin-top:12px}.agency-results-section{font-size:15px;margin:24px 0 12px}.agency-results-section:first-child{margin-top:0}.agency-place-content>.agency-fare{padding-left:0;padding-right:0}.agency-fare .agency-source{font-size:13px}.agency-place-group>summary:focus-visible,.agency-destination>summary:focus-visible,.agency-fare-detail>summary:focus-visible{outline:3px solid #b8b8f4;outline-offset:-3px}
@media(max-width:1200px){.agency-fare-main{grid-template-columns:1fr}.agency-fare-prices{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.agency-fare-name{display:flex;gap:4px 12px;align-items:baseline;flex-wrap:wrap}.agency-fare-name p{margin-top:0}.agency-fare-badges{margin-top:0}.agency-fare-main{gap:12px}}
@media(max-width:600px){.agency-contract-heading .detail-meta{gap:8px}.agency-publication-note{font-size:12px;padding:12px}.agency-tabs{display:none}.agency-section-picker{display:flex;margin-bottom:24px}.agency-section-picker>span{font-size:13px;color:var(--muted)}.agency-tariff-heading{align-items:flex-start}.agency-tariff-heading h2{font-size:18px}.agency-tariff-heading p{font-size:13px}.agency-tariff-heading>.button{font-size:12px;min-height:40px;padding:8px 10px}.agency-explorer{padding:12px;border-radius:12px}.agency-explorer-search{flex-direction:column;align-items:stretch;gap:8px}.agency-explorer-search>.search{width:100%}.agency-explorer-search>.select{width:100%;max-width:none;height:40px}.agency-explorer-options{gap:8px;flex-wrap:wrap;margin-top:8px}.agency-group-tools{align-items:flex-start;gap:4px;flex-direction:column;margin:12px 0}.agency-group-tools>div{gap:10px}.agency-group-tools .text-button{min-height:36px}.agency-place-group>summary{padding:14px 12px;gap:10px}.agency-place-title>strong{font-size:14px}.agency-airport-code{width:42px;min-height:40px;font-size:13px}.agency-place-count{font-size:12px}.agency-place-count>small{font-size:12px}.agency-place-content{padding:0 12px 8px}.agency-destination>div{margin-left:0}.agency-destination>summary{padding:14px 0;gap:8px}.agency-destination>summary>strong{font-size:13px}.agency-fare{padding:14px 12px}.agency-fare-main{gap:12px}.agency-fare-prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agency-mini-price>strong{font-size:18px}.agency-fare-name h4{font-size:14px}.agency-fare-actions{gap:4px}.agency-fare-detail>summary small{display:block}.agency-fare .agency-mapping{grid-template-columns:1fr}.agency-place-title>small{font-size:12px}.agency-place-group{border-radius:12px}}
@media(max-width:600px){.agency-contract-heading .agency-heading-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}.agency-contract-heading .agency-heading-actions>.button{font-size:13px;padding:8px}.agency-contract-heading .agency-heading-actions>.select{width:100%;min-width:0;padding-right:24px;font-size:13px}.agency-tariff-heading h2{display:none}.agency-tariff-heading p{margin:0}.agency-tariff-heading{margin-bottom:12px;align-items:center}.agency-section-picker{margin-bottom:16px}}
:root{--import-gap:24px}
.import-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:32px;overflow-x:auto}.import-tabs>a{display:flex;gap:8px;align-items:center;white-space:nowrap;padding:0 0 16px;color:var(--muted);font-size:14px;font-weight:650;text-decoration:none;border-bottom:2px solid transparent}.import-tabs>a.active{color:var(--violet);border-color:var(--violet)}.import-tabs>a>span{font-size:12px;background:var(--surface);border:1px solid var(--border);padding:0 6px;border-radius:6px}.import-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;font-size:13px}.import-topline>span{display:flex;gap:8px;align-items:center;color:var(--muted)}.import-topline svg{width:16px;height:16px}.import-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:var(--import-gap);align-items:start}.import-upload-card{padding:24px}.import-card-heading{display:flex;gap:12px;align-items:center;margin-bottom:24px}.import-card-heading h2{font-size:17px;margin:0 0 4px}.import-card-heading p{font-size:13px;color:var(--muted);margin:0}.import-step{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;color:var(--violet);background:var(--violet-soft);border:1px solid var(--border);font-weight:750;font-size:14px}.import-file-heading{margin-top:32px}.import-model-help{padding:12px 16px;background:var(--surface);border-radius:8px;border:1px solid var(--border);font-size:13px;color:var(--muted);line-height:1.6;margin-top:16px}.import-upload-card .field-row{margin-bottom:0}.import-upload-card [hidden]{display:none}.import-drop{display:flex;align-items:center;flex-direction:column;text-align:center;position:relative;gap:8px;padding:28px 16px;border:1px dashed #b9bbc9;border-radius:12px;background:#fff;cursor:pointer;min-height:208px}.import-drop:hover,.import-drop.dragging{border-color:var(--violet);background:var(--violet-soft)}.import-drop-icon{color:var(--violet);border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;background:var(--surface)}.import-drop-icon>svg{width:22px;height:22px}.import-drop strong{font-size:15px;overflow-wrap:anywhere}.import-drop>span:not(.import-drop-icon){font-size:13px;color:var(--muted)}.import-drop small{color:var(--muted);font-size:12px;margin-top:8px}.import-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.import-drop:focus-within{outline:3px solid #b8b8f4;outline-offset:3px}.import-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.import-form-footer>span{color:var(--muted);font-size:12px;display:flex;gap:6px;align-items:center;line-height:1.6}.import-form-footer>span svg{width:16px;height:16px;flex-shrink:0}.import-form-footer .button{flex-shrink:0}.import-aside{display:grid;gap:20px}.import-guide{padding:24px}.import-eyebrow{font-size:11px;color:var(--muted);letter-spacing:.08em;font-weight:750}.import-guide h2{font-size:18px;margin:12px 0 24px}.import-guide ol{padding:0;list-style:none;counter-reset:import}.import-guide li{position:relative;padding-left:28px;margin-bottom:24px;counter-increment:import}.import-guide li:last-child{margin-bottom:0}.import-guide li:before{content:counter(import);position:absolute;left:0;top:1px;font-weight:700;color:var(--muted);font-size:12px}.import-guide li strong{font-size:13px}.import-guide li p{font-size:13px;line-height:1.7;margin-top:6px;color:var(--muted)}.import-resume{display:grid;padding:20px 24px;gap:8px;text-decoration:none;color:var(--text)}.import-resume>strong{font-size:15px}.import-resume>span:not(.import-eyebrow){font-size:12px;color:var(--muted);overflow-wrap:anywhere}.import-resume>div{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:8px}.import-resume>div>svg{margin-left:auto;color:var(--violet)}.import-resume:hover{border-color:var(--violet)}.import-footnote{font-size:12px;color:var(--muted);line-height:1.7;margin:16px 0}.import-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px}.import-section-heading h2{font-size:18px;margin:0 0 6px}.import-section-heading p{font-size:13px;color:var(--muted)}.import-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:36px}.import-model{padding:24px;display:flex;flex-direction:column;gap:16px}.import-model-top{display:flex;justify-content:space-between;align-items:center}.import-model h3{font-size:18px}.import-model>p{font-size:13px;color:var(--muted);line-height:1.7;min-height:44px}.import-model dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:13px}.import-model dt{color:var(--muted);font-size:12px;margin-bottom:4px}.import-model dd{margin:0}.import-model .text-button{align-self:flex-start;margin-top:4px}.import-empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:32px 24px;gap:12px}.import-empty h3{font-size:16px}.import-empty p{font-size:13px;color:var(--muted)}.import-template{margin-bottom:12px}.import-template>summary{display:flex;gap:16px;padding:20px 24px;cursor:pointer;align-items:center}.import-template>summary>span:not(.status){font-size:13px;color:var(--muted);flex:1}.import-template-body{padding:0 24px 20px}.import-column-list{display:grid;gap:0}.import-column-list>div,.import-column-list>label{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.import-column-list>label:not(:has(svg)){grid-template-columns:1fr 1fr}.import-column-list svg{width:16px;height:16px;color:var(--muted)}.import-column-list span{overflow-wrap:anywhere}.import-column-list select{height:var(--layout-control-height);padding:8px 12px;border:1px solid var(--border);border-radius:10px;width:100%;font:inherit;color:var(--text);background:#fff}.import-job-heading h1{overflow-wrap:anywhere;font-size:22px}.import-job-kicker{font-size:13px;color:var(--muted);margin-bottom:8px}.import-heading-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.import-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:24px;padding:20px 0}.import-metrics>div{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding:0 24px}.import-metrics>div:last-child{border:0}.import-metrics strong{font-size:24px}.import-metrics span{font-size:12px;color:var(--muted)}.import-exclusions{margin:0 0 24px;font-size:13px;color:var(--muted)}.import-exclusions summary{cursor:pointer}.import-exclusions p{margin-top:12px}.import-review-toolbar{display:flex;gap:20px;align-items:center;margin:24px 0 16px}.import-review-toolbar .search{flex:1;max-width:none}.import-check{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.import-check input{accent-color:var(--violet);width:16px;height:16px}.import-review-toolbar>span{font-size:12px;color:var(--muted)}.import-booking{margin-bottom:8px;overflow:hidden;background:#fff}.import-booking>summary{display:flex;align-items:center;gap:16px;padding:16px 20px;list-style:none;cursor:pointer}.import-booking>summary::-webkit-details-marker{display:none}.import-booking>summary>div{flex:1;min-width:0}.import-booking>summary strong{font-size:13px;display:block;overflow-wrap:anywhere}.import-booking>summary small{font-size:12px;display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.import-booking-ref{font-size:12px;font-weight:700;min-width:100px;color:var(--violet)}.import-booking-date{font-size:12px;text-align:right}.import-booking>summary>svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}.import-booking[open]>summary{border-bottom:1px solid var(--border);background:var(--surface)}.import-booking[open]>summary>svg{transform:rotate(90deg)}.import-booking-body{padding:20px 24px}.import-booking-actions{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.import-booking-actions .text-button{font-size:12px}.import-trip{display:grid;grid-template-columns:1fr 1fr;gap:24px}.import-trip span{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em;margin-bottom:8px}.import-trip strong{font-size:13px;display:block}.import-trip p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px}.import-pax{font-size:12px;color:var(--muted);margin:16px 0 24px}.import-booking-body h3{font-size:14px;margin-bottom:12px}.import-services{border:1px solid var(--border);border-radius:10px;overflow:hidden}.import-services>div{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid var(--border)}.import-services>div:last-child{border-bottom:0}.import-services strong{font-size:13px;display:block}.import-services small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.import-services>div>div:last-child{text-align:right;min-width:140px}.import-service-state{font-size:12px;color:var(--muted)}.import-services .text-button{font-size:12px;margin-top:8px}.import-warnings,.import-passengers{font-size:13px;margin-top:16px}.import-warnings summary,.import-passengers summary{cursor:pointer;color:var(--muted)}.import-warnings ul,.import-passengers ul{padding-left:20px;line-height:1.8;margin-top:12px}.import-passengers li span{color:var(--muted);margin-left:8px}.import-passengers dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px}.import-passengers dt{font-size:11px;color:var(--muted)}.import-passengers dd{font-size:12px;margin:4px 0;overflow-wrap:anywhere}.import-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:20px 0;font-size:13px}.import-validation-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0;padding:20px 24px}.import-validation-bar strong{font-size:14px}.import-validation-bar p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:6px;max-width:600px}.import-validation-bar .button{flex-shrink:0}.import-dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 64px #17191c26;color:var(--text)}.import-dialog::backdrop{background:#17191c66}.import-dialog>form{display:flex;flex-direction:column;max-height:90dvh}.import-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border)}.import-dialog-heading h2{font-size:18px}.import-dialog-body{overflow:auto;padding:24px;display:grid;gap:20px}.import-dialog-body>.field-row{margin-bottom:0}.import-dialog-body h3{font-size:15px}.import-dialog-body>.import-footnote{margin:0}.import-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}.import-service-edit{display:grid;gap:12px;border:1px solid var(--border);border-radius:10px;padding:16px}.import-service-edit>strong{font-size:13px;line-height:1.6}.import-service-edit select{max-width:100%}.import-confirm-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;background:var(--surface);border-radius:10px}.import-confirm-counts strong{font-size:15px}.import-generic-card{padding:24px}.import-source-preview{margin-top:24px;padding-top:24px;overflow:hidden}.import-source-preview h2{font-size:18px;padding:0 24px}.import-source-preview>p{font-size:13px;color:var(--muted);padding:12px 24px}.import-source-preview table{white-space:nowrap}.import-template-body>.text-button{margin-top:16px}
@media(max-width:1250px){.import-layout{grid-template-columns:minmax(0,1fr) 280px}.import-upload-card .field-row{grid-template-columns:1fr}.import-booking>summary{flex-wrap:wrap}.import-booking-ref{min-width:80px}.import-booking>summary>.status{font-size:11px}.import-form-footer{flex-wrap:wrap}.import-form-footer>.button{margin-left:auto}}
@media(max-width:1050px){.import-layout{grid-template-columns:1fr}.import-aside{grid-template-columns:1fr 1fr}.import-guide{padding:20px}.import-guide ol{display:none}.import-guide h2{margin-bottom:0}.import-guide{align-self:start}.import-booking-date{display:none}}
@media(max-width:600px){.import-tabs{gap:20px;margin-bottom:24px}.import-tabs>a{font-size:13px;padding-bottom:12px}.import-layout{gap:16px}.import-topline{flex-wrap:wrap;font-size:12px}.import-upload-card{padding:20px 16px}.import-aside{grid-template-columns:1fr}.import-guide{display:none}.import-card-heading{margin-bottom:20px}.import-card-heading h2{font-size:16px}.import-drop{min-height:192px}.import-form-footer{gap:12px}.import-form-footer>span{font-size:12px}.import-form-footer>.button{width:100%;justify-content:center}.import-model-grid{grid-template-columns:1fr;gap:16px}.import-model{padding:20px}.import-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.import-section-heading h2{font-size:17px}.import-template>summary{flex-wrap:wrap;padding:16px;gap:8px}.import-template>summary>strong{width:100%}.import-template-body{padding:0 16px 16px}.import-column-list>label,.import-column-list>label:not(:has(svg)){grid-template-columns:1fr;gap:8px}.import-column-list>label>svg{display:none}.import-job-heading{gap:16px}.import-job-heading h1{font-size:20px}.import-heading-actions{justify-content:flex-start}.import-metrics{grid-template-columns:1fr 1fr;padding:0;margin-bottom:20px}.import-metrics>div{padding:16px;border-bottom:1px solid var(--border)}.import-metrics>div:nth-child(2){border-right:0}.import-metrics>div:nth-child(3){border-bottom:0}.import-metrics strong{font-size:22px}.import-review-toolbar{flex-wrap:wrap;gap:12px}.import-review-toolbar .search{flex-basis:100%}.import-review-toolbar>span{margin-left:auto}.import-booking>summary{padding:16px 12px;gap:8px}.import-booking-ref{font-size:11px;min-width:0;flex-basis:100%}.import-booking>summary>div{flex-basis:calc(100% - 28px)}.import-booking>summary>svg{position:absolute;right:28px}.import-booking>summary>.status{margin-top:4px}.import-booking-body{padding:16px}.import-booking-actions{gap:8px}.import-trip{grid-template-columns:1fr;gap:16px}.import-services>div{flex-direction:column;gap:8px;padding:12px}.import-services>div>div:last-child{text-align:left}.import-passengers dl{grid-template-columns:1fr}.import-validation-bar{padding:20px 16px;flex-direction:column;align-items:stretch;gap:16px}.import-validation-bar .button{justify-content:center}.import-dialog-heading,.import-dialog-body{padding:20px 16px}.import-dialog-actions{padding:16px}.import-dialog-body .field-row{grid-template-columns:1fr}.import-confirm-counts{grid-template-columns:1fr;gap:8px}.import-generic-card{padding:20px 16px}.import-model-help{font-size:12px}.import-template>summary>span:not(.status){flex-basis:100%}}
/* CSV matrix and focused service editor. */
.review-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 18px}.review-intro h2{font-size:18px;letter-spacing:-.02em}.review-intro p{font-size:13px;color:var(--muted);margin-top:6px}.review-intro>span{font-size:12px;color:var(--violet);background:var(--violet-soft);padding:8px 12px;border-radius:8px;white-space:nowrap}.review-price-note{font-size:12px;color:var(--muted);margin:-4px 0 16px}.import-review-toolbar{flex-wrap:wrap}.import-review-toolbar .search{max-width:none}.import-review-toolbar .select{max-width:230px}.review-matrix-card{background:#fff}.review-matrix-scroll{overflow:auto;max-height:calc(100dvh - 220px);min-height:250px;scrollbar-color:#c5c6d5 #f4f4f8}.review-matrix{table-layout:fixed;min-width:1080px;font-size:12px;border-collapse:separate;border-spacing:0}.review-matrix thead th{position:sticky;top:0;z-index:3;background:#f6f6fb;border-bottom:1px solid var(--border);height:48px;padding:12px 14px;color:#62657c;white-space:normal;font-size:11px;text-transform:uppercase;letter-spacing:.035em}.review-matrix th:first-child{width:205px;left:0;z-index:5}.review-matrix th:last-child{width:155px}.review-matrix td{padding:14px 10px;vertical-align:top;background:#fff;border-right:1px solid #f0f0f5}.review-matrix tbody tr:hover>td{background:#fdfdff}.review-matrix td:first-child{position:sticky;left:0;z-index:2;border-right:1px solid var(--border);padding:16px 14px;box-shadow:4px 0 8px #29305603}.review-matrix tbody tr:first-child td{border-top:0}.review-booking-identity>strong{display:block;margin:7px 0;font-size:13px;overflow-wrap:anywhere}.review-reference{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:800;color:var(--violet);background:none;text-align:left;overflow-wrap:anywhere}.review-reference svg{width:13px;height:13px;flex:none}.review-booking-identity>small{display:block;color:var(--muted);font-size:11px}.review-hotel{display:flex;gap:6px;font-size:11px;line-height:1.6;color:#666d7c;margin:12px 0 6px;overflow-wrap:anywhere}.review-hotel svg{width:13px;height:13px;flex:none;margin-top:3px}.review-included{color:#377d66!important}.review-booking-link{font-size:11px;min-height:32px;padding:6px 0}.review-travel-date{display:flex;gap:5px;align-items:flex-start;color:#5f6675;font-size:11px;font-weight:600;padding:2px 3px 10px}.review-travel-date svg{width:14px;height:14px;flex:none}.review-travel-date small{font-weight:400;display:block;margin-top:3px}.review-service{display:flex;flex-direction:column;text-align:left;background:#fafafe;border:1px solid #e8e8f2;border-radius:10px;padding:10px;width:100%;gap:7px;color:var(--text);margin-bottom:8px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.review-service:hover{border-color:var(--violet);box-shadow:0 2px 8px #5b5bd610;background:#f7f7ff}.review-service:focus-visible{outline:3px solid #b8b8f4;outline-offset:1px}.review-service.is-pending{background:#fffdfa;border-color:#ede6d9}.review-service.is-pending:hover{border-color:#b7a16d}.review-service-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;width:100%;color:#7b8190;font-size:10px}.review-service-top svg{width:12px;height:12px;flex:none;color:var(--violet)}.review-product{font-size:11px;font-weight:650;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.review-service>small{font-size:10px;color:var(--muted)}.review-cell-price{display:flex;gap:5px;align-items:baseline;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;margin-top:2px;color:#344b44}.review-cell-price small{font-size:10px;font-weight:600;color:var(--muted)}.review-cell-price>span{font-size:11px;font-weight:600;color:#7b6743}.review-pending-text{color:#936d2c!important;font-size:11px}.review-no-service{font-size:11px;color:#a1a6b2;display:block;padding:8px 3px}.review-total{padding:18px 14px!important}.review-total>strong{display:block;font-size:16px;font-variant-numeric:tabular-nums;margin-bottom:6px;white-space:nowrap}.review-total>strong small{font-size:10px;font-weight:600;color:var(--muted)}.review-total>span,.review-total>small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.review-row-status{display:inline-flex!important;align-items:center;gap:5px;color:#87642a!important;background:#fbf4e8;padding:5px 7px;border-radius:6px;margin-top:18px!important;font-size:10px!important;white-space:nowrap}.review-row-status.ready{color:#26735a!important;background:#edf7f1}.review-row-status svg{height:12px;width:12px}.review-booking-detail{min-width:0}.review-editor-context{display:grid;gap:7px;padding:16px;background:#f7f7fc;border-radius:10px;font-size:13px}.review-editor-context>span{font-size:12px;line-height:1.6}.review-editor-context>small{font-size:11px;color:var(--muted)}.review-field-help{font-size:11px;color:var(--muted);margin-top:-15px}.review-service-pax{grid-template-columns:repeat(3,minmax(0,1fr))}.review-service-pax[hidden],.import-dialog [hidden]{display:none!important}.review-rate-picker{display:grid;gap:16px;border-top:1px solid var(--border);padding-top:20px}.review-quote{border:1px solid #ddddf3;background:#f9f9ff;border-radius:12px;padding:18px}.review-quote-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}.review-quote-heading h3{font-size:13px}.review-quote-heading button{font-size:12px;min-height:30px}.review-quote-amount{font-size:30px;font-weight:800;letter-spacing:-.025em;color:var(--violet);font-variant-numeric:tabular-nums}.review-quote-amount>span{font-size:14px;font-weight:500;color:var(--muted)}.review-quote-components{font-size:12px;display:grid;gap:8px;margin:16px 0}.review-quote-components>div{display:flex;justify-content:space-between;gap:16px}.review-quote-components strong{white-space:nowrap;font-variant-numeric:tabular-nums}.review-quote p,.review-quote li{font-size:12px;color:var(--muted);line-height:1.7}.review-quote ul{padding-left:20px;margin-top:8px}.review-quote a{font-size:12px}.review-original{font-size:12px;color:var(--muted)}.review-original summary{cursor:pointer;min-height:32px}.review-original p{margin-top:8px}
@media(max-width:1200px){.review-intro>span{display:none}.review-matrix th:first-child{width:180px}.review-matrix{min-width:1040px}.review-matrix-scroll{max-height:calc(100dvh - 180px)}}
@media(max-width:600px){.review-intro{margin-top:24px}.review-intro h2{font-size:17px}.review-price-note{line-height:1.6}.import-review-toolbar .select{max-width:none;width:100%}.review-matrix-scroll{overflow:visible;max-height:none;min-height:0}.review-matrix{min-width:0;display:block}.review-matrix thead{display:none}.review-matrix tbody{display:block}.review-matrix tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 10px;padding:16px;border-top:4px solid #f2f2fa}.review-matrix tbody tr:first-child{border-top:0}.review-matrix td{display:block;padding:0;border:0;min-width:0}.review-matrix td:first-child{position:static;box-shadow:none;grid-column:1/-1;padding:0 0 12px;border:0;border-bottom:1px solid var(--border)}.review-matrix td[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:800;color:#62657c;margin-bottom:12px}.review-matrix tbody tr:hover>td{background:#fff}.review-matrix .review-total{grid-column:1/-1;padding:14px!important;background:#f9f9fc;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border-radius:10px}.review-total:before{width:100%;margin-bottom:3px!important}.review-total>strong{margin:0}.review-total>span,.review-total>small{margin:0}.review-row-status{margin-top:0!important;margin-left:auto!important}.review-service{padding:10px 8px}.review-product{font-size:11px}.review-travel-date{min-height:40px}.review-quote-heading{align-items:flex-start;gap:8px}.review-quote-components>div{flex-wrap:wrap;gap:4px}.review-service-pax{gap:10px}.review-editor-context{padding:12px}.review-reference{font-size:14px}.review-booking-link{padding-bottom:0}.review-matrix-card{border-radius:12px}}
@media(min-width:992px){body:has(.review-wide) .sidebar{transform:translateX(-100%);visibility:hidden}body:has(.review-wide) .main{margin-left:0}body:has(.review-wide) .topbar{left:0}}.review-intro>.button{min-height:38px;font-size:12px}.review-wide .review-matrix-scroll{max-height:calc(100dvh - 160px)}
@media(min-width:992px){body:has(.review-wide) .review-matrix{min-width:940px}body:has(.review-wide) .review-matrix th:first-child{width:180px}body:has(.review-wide) .review-matrix th:last-child{width:140px}body:has(.review-wide) .review-matrix-scroll{max-height:calc(100dvh - 160px)}}@media(max-width:600px){body:has(.review-wide) .review-matrix{min-width:0}.review-intro>.button{display:none}}
/* Service routes: mode first, then the actual origin and destination. */
.review-service{padding:12px 8px;gap:12px}.review-service-top{align-items:center;gap:4px}.review-mode{display:inline-flex;align-items:center;gap:4px;min-width:0;color:var(--text)}.review-mode>svg{width:18px;height:18px;color:var(--violet);flex:none}.review-mode>strong{font-size:13px;font-weight:800;line-height:1.4}.review-edit-symbol{margin-left:auto;flex:none;opacity:.7}.review-service:hover .review-edit-symbol{opacity:1}.review-service-route{display:grid;gap:4px;width:100%;padding:4px 0}.review-route-stop{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;min-width:0}.review-route-symbol{display:grid;place-items:center;width:20px;min-height:24px;color:#737b89}.review-route-symbol svg{width:18px;height:18px}.review-route-stop strong{display:block;font-size:13px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}.review-route-stop.is-airport strong{font-size:20px;line-height:1.2;font-weight:800;letter-spacing:.02em}.review-route-stop.is-airport .review-route-symbol{color:var(--violet)}.review-route-stop.is-unresolved strong{font-size:12px;line-height:1.5;color:#936d2c;font-weight:600;letter-spacing:0}.review-route-stop small{font-size:12px;color:#936d2c}.review-route-connector{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#a5a9b8}.review-route-connector svg{width:16px;height:16px}.review-service-schedule{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#687182;line-height:1.6;padding-top:8px;border-top:1px solid #e8e8f2;width:100%}.review-service-schedule>svg{width:14px;height:14px;margin-top:2px;flex:none}.review-service-schedule small{display:block;font-size:12px;color:#7b8390}.review-roundtrip{font-size:12px!important;color:#666a85!important}.review-excursion-pickup{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#596273;line-height:1.5}.review-excursion-pickup>svg{width:16px;height:16px;flex:none;margin-top:2px}.review-excursion-pickup small{display:block;color:var(--muted);font-size:12px}.review-product{font-size:14px;line-height:1.5;-webkit-line-clamp:4}.review-service .review-pending-text{font-size:12px}.review-service>.review-cell-price{margin-top:auto;font-size:17px}.review-cell-price small{font-size:12px}.review-cell-price>span{font-size:12px}.review-booking-identity>small{font-size:12px;line-height:1.6}.review-included{margin-top:12px}.review-booking-link{font-size:12px}.review-no-service{font-size:12px}.review-matrix thead th{font-size:12px;text-transform:none;letter-spacing:0}.review-total>span,.review-total>small{font-size:12px;line-height:1.6}.review-total>strong small{font-size:12px}.review-row-status{font-size:12px!important}.review-total>strong{font-size:17px}.review-matrix th:last-child{width:165px}
@media(max-width:600px){.review-service{padding:12px 8px;gap:12px}.review-matrix tbody tr{gap:16px 12px}.review-route-stop{gap:4px;grid-template-columns:18px minmax(0,1fr)}.review-route-stop strong{font-size:13px}.review-route-stop.is-airport strong{font-size:20px}.review-mode>strong{font-size:12px}.review-mode>svg{width:16px;height:16px}.review-service .review-product{font-size:13px}.review-matrix td[data-label]:before{font-size:13px}.review-edit-symbol{display:none}}
.review-service-schedule>span{display:grid;gap:4px;min-width:0}.review-service-schedule strong{font-size:12px;color:#596273;font-weight:600}.review-service-schedule span>span{font-size:12px}.review-service-schedule small{font-size:12px}
/* Contract/CSV comparison belongs to the reservation; operations stay independent. */
.review-matrix th:last-child{width:200px}.review-service-billing{display:grid;gap:6px;width:100%;margin-top:auto;padding-top:10px;border-top:1px solid #e8e8f2}.review-billability{display:inline-flex;align-items:center;font-size:11px;font-weight:650;line-height:1.5;color:#377460}.review-billability.pending{color:#936d2c}.review-billability.free,.review-billability.included{color:#64717c}.review-price-label{font-size:11px;color:var(--muted)}.review-service-billing .review-cell-price{margin-top:-5px}.review-joint-price{font-size:11px;line-height:1.6;color:#687182}.review-comparison{display:grid;gap:14px;min-width:0;font-variant-numeric:tabular-nums}.review-calculated,.review-csv,.review-difference{display:grid;gap:5px}.review-calculated>span,.review-csv>span,.review-difference>span{font-size:11px;color:#72798a}.review-calculated>strong{font-size:20px;color:#41417f;line-height:1.4}.review-calculated small,.review-csv small{font-size:11px;font-weight:500;color:#72798a}.review-csv>strong{font-size:14px;font-weight:650;color:#5b6375}.review-difference{padding:10px;border-radius:8px;background:#f5f5fa}.review-difference>strong{display:flex;gap:5px;align-items:center;font-size:12px;line-height:1.5}.review-difference svg{width:14px;height:14px;flex:none}.review-difference.match{background:#edf7f1;color:#26735a}.review-difference.difference{background:#fcf3e6;color:#88622b}.review-difference.pending,.review-difference.unavailable{color:#777b87}.review-difference>small{font-size:11px;line-height:1.5}.review-billing-details{font-size:11px;color:#6b7280;line-height:1.6}.review-billing-details summary{cursor:pointer;color:var(--violet);font-weight:600;padding:3px 0}.review-billing-details>div{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #ececf3}.review-billing-details strong{font-weight:650;color:#454c5e}.review-billing-details small{font-size:11px}.review-billing-details p{font-size:10px;line-height:1.6;margin-top:10px}.review-booking-detail>.review-comparison{padding:20px;margin:24px 0;background:#fafafe;border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr 1fr}.review-booking-detail>.review-comparison>.review-billing-details{grid-column:1/-1}.review-joint-explanation{margin-bottom:12px}.review-joint-explanation strong{color:#52518c}
@media(min-width:992px){body:has(.review-wide) .review-matrix{min-width:940px}body:has(.review-wide) .review-matrix th:first-child{width:170px}body:has(.review-wide) .review-matrix th:last-child{width:180px}}
@media(max-width:600px){.review-matrix .review-total{display:block}.review-total>.review-comparison{grid-template-columns:1fr 1fr;gap:14px}.review-total .review-difference,.review-total .review-billing-details,.review-total .review-pending-text{grid-column:1/-1}.review-total>.review-row-status{margin-top:14px!important;margin-left:0!important}.review-calculated>strong{font-size:20px}.review-booking-detail>.review-comparison{grid-template-columns:1fr}.review-booking-detail>.review-comparison>*{grid-column:1/-1}}
.review-auto-tariff{display:grid;gap:5px;padding:12px 14px;border:1px solid #dedff1;border-radius:10px;background:#f7f7ff;color:#48488d;margin-top:-8px;font-size:13px}.review-auto-tariff>span{display:flex;gap:7px;align-items:center}.review-auto-tariff svg{width:16px;height:16px;flex:none}.review-auto-tariff small{font-size:11px;line-height:1.6;color:#6d7284}.review-auto-tariff.is-pending{background:#fffaf1;border-color:#ece1cc;color:#89682e}

/* Review services use the document scroll; loading retains the rows already opened. */
body .review-matrix-scroll,body:has(.review-wide) .review-matrix-scroll{max-height:none;min-height:0;overflow-x:auto}
.review-service{padding:12px;gap:12px}.review-service-main{background:none;border:0;padding:0;display:flex;flex-direction:column;gap:14px;color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer}.review-service-main:focus-visible,.review-price-edit:focus-visible{outline:3px solid #b8b8f4;outline-offset:4px;border-radius:4px}.review-date-first{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#5b6478;font-size:12px;padding-bottom:10px;border-bottom:1px solid #e8e8f2}.review-date-first svg{width:14px;height:14px;flex:none}.review-date-first small{width:100%;padding-left:20px;font-size:11px;font-weight:400}.review-airport-flight{display:block;color:#687182;font-size:12px;line-height:1.6;margin-top:5px}.review-airport-flight small{display:block;color:inherit;font-size:11px}.review-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.review-price-edit{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eeeeff;color:var(--violet);flex:none;cursor:pointer}.review-price-edit:hover{background:#e1e1fc}.review-price-edit svg{width:13px;height:13px}.review-manual-badge{background:#eeeafa;color:#65529b;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:650;margin-left:3px}.review-contract-reference{display:grid;gap:4px;font-size:11px;color:var(--muted);font-weight:400;line-height:1.5}.review-contract-reference strong{font-size:12px;font-weight:500}.review-add-service{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 6px;border:1px dashed #d7d7e8;border-radius:8px;color:#6b6ca0;background:#fff;font-size:11px;line-height:1.4;cursor:pointer}.review-add-service:hover{background:#f5f5fc;border-color:var(--violet)}.review-add-service svg{width:14px;height:14px;flex:none}.review-load-more{display:flex;align-items:center;justify-content:center;gap:20px;min-height:72px;color:var(--muted);font-size:12px}.review-load-more:empty{min-height:0}.review-load-more .button{font-size:12px;min-height:36px}.review-service-billing{margin-top:auto}.review-service .review-joint-price{font-size:10px;line-height:1.5}.review-cell-price{font-size:16px}.review-service-main>small{font-size:11px;color:var(--muted)}
@media(max-width:600px){body .review-matrix-scroll{overflow:visible}.review-service{padding:10px 8px}.review-date-first{font-size:11px}.review-price-edit{width:28px;height:28px}.review-add-service{font-size:11px}.review-load-more{flex-wrap:wrap;padding:16px}.review-airport-flight{font-size:11px}}

.review-date-first .review-edit-symbol{color:var(--violet);margin-left:auto}.review-date-first .review-edit-symbol svg{width:11px;height:11px}

.review-price-row .review-cell-price{min-width:0;flex-wrap:wrap;column-gap:4px;row-gap:0}.review-price-row .review-cell-price small{font-size:10px}.review-price-row .review-price-edit{width:26px;height:26px}

/* Navigation and validation remain reachable throughout a long import review. */
@media(min-width:992px){body:has(.review-wide) .topbar .menu-toggle{display:inline-grid}body:has(.review-wide) .topbar .breadcrumb{margin-right:auto}}
.page:has(.import-validation-bar){padding-bottom:140px}
html:has(.import-validation-bar){scroll-padding-bottom:140px}
.import-validation-bar{position:fixed;left:var(--layout-sidebar);right:0;bottom:0;z-index:18;display:flex;flex-direction:row;align-items:center;gap:20px;margin:0;padding:14px var(--layout-page-padding) calc(14px + env(safe-area-inset-bottom,0px));border:0;border-top:1px solid var(--border);border-radius:0;background:#fff;box-shadow:0 -4px 20px #17191c08}
.import-validation-summary{min-width:0}.import-validation-summary strong{font-size:13px;display:block}.import-validation-summary p{font-size:12px;margin-top:3px;line-height:1.5}.import-validation-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0}.import-validation-actions .button{font-size:13px;white-space:nowrap}.import-validation-actions .text-button{font-size:12px;white-space:nowrap}
#import-validation{scroll-margin-top:calc(var(--layout-header) + 20px)}
#import-validation:empty{display:none}
@media(min-width:992px){body:has(.review-wide) .import-validation-bar{left:0}}
@media(max-width:991px){.import-validation-bar{left:0}}
@media(max-width:1200px){.import-validation-actions{gap:8px;flex-wrap:wrap}.import-validation-summary p{max-width:340px}.import-validation-actions .button{padding:10px 14px}.import-validation-actions .text-button{max-width:110px;white-space:normal;text-align:right}}
@media(max-width:600px){.import-validation-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px))}.import-validation-summary p{display:none}.import-validation-summary strong{font-size:12px}.import-validation-actions{gap:12px;flex-wrap:nowrap}.import-validation-actions .button{flex:1;min-height:42px}.import-validation-actions .text-button{font-size:11px;text-align:left}.page:has(.import-validation-bar){padding-bottom:150px}}

/* Hotel selection inside import editors uses the shared catalog IDs. */
.hotel-picker{position:relative;min-width:0}.hotel-picker>.field{margin-bottom:8px}.hotel-search-input{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 12px;min-height:var(--layout-control-height)}.hotel-search-input:focus-within{border-color:var(--violet);outline:3px solid #5b5bd614}.hotel-search-input>svg{width:16px;height:16px;color:var(--muted);flex:none}.hotel-search-input>input{flex:1;width:0;min-width:0;min-height:var(--layout-control-height);border:0;background:transparent;outline:none;padding:0;font:inherit;font-size:13px}.hotel-search-input>.icon-button{width:28px;min-width:28px;height:32px;padding:4px}.hotel-search-results{margin-top:8px;border:1px solid var(--border);border-radius:10px;max-height:240px;overflow-y:auto;background:#fff}.hotel-search-results>[role=option]{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:transparent;padding:12px;color:var(--text);border-bottom:1px solid var(--border)}.hotel-search-results>[role=option]:last-of-type{border-bottom:0}.hotel-search-results>[role=option]:hover,.hotel-search-results>[role=option].is-focused{background:var(--violet-soft)}.hotel-search-results>[role=option]>svg{width:16px;height:16px;flex:none;color:var(--violet)}.hotel-search-results>[role=option]>span{flex:1;min-width:0}.hotel-search-results strong,.hotel-google-result strong{display:block;font-size:12px;overflow-wrap:anywhere}.hotel-search-results small,.hotel-google-result small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.hotel-search-results>p,.hotel-selection-note{font-size:11px;color:var(--muted);line-height:1.6}.hotel-search-results>p{padding:12px}.hotel-selection-note{margin-top:8px}.hotel-create-button{font-size:12px;min-height:36px;margin-top:4px}.hotel-google-search{padding:16px;border:1px solid var(--border);background:var(--surface);border-radius:12px}.hotel-google-search h3{font-size:14px}.hotel-google-search>p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}.hotel-google-query{display:flex;gap:8px;align-items:flex-end;margin-top:12px}.hotel-google-query>.field{flex:1;min-width:0}.hotel-google-query>.button{min-height:var(--layout-control-height)}.hotel-google-search>.text-button{font-size:12px;margin-top:12px}.hotel-google-result{display:flex;width:100%;gap:12px;align-items:center;text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:8px}.hotel-google-result:hover{border-color:var(--violet)}.hotel-google-result>svg{height:16px;width:16px;color:var(--violet);flex:none}.hotel-google-result>span{flex:1;min-width:0}.google-attribution{display:block;text-align:right;margin-top:8px;font-size:12px;color:var(--muted)}.hotel-map-link{border-bottom:1px solid var(--border);padding-bottom:16px}.hotel-map-link summary{cursor:pointer;font-size:13px;color:var(--violet);min-height:32px}.hotel-map-link>.field{margin-top:12px}.hotel-map-link>.text-button{font-size:12px;margin-top:8px}
@media(max-width:600px){.hotel-google-query{flex-wrap:wrap}.hotel-google-query>.field{flex-basis:100%}.hotel-google-query>.button{width:100%}}

.review-excursion-dialog{max-width:640px}.review-excursion-passengers h3{font-size:13px;margin-bottom:12px}.review-excursion-product{display:grid;gap:12px}.review-excursion-product>small{color:var(--muted);font-size:11px;line-height:1.5}.review-excursion-product>small:empty{display:none}.review-auto-calculation{font-size:11px;color:var(--muted)}
@media(max-width:600px){.review-excursion-dialog .review-service-pax{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
/* Compact transfer and hotel creation, with the amount beside the save action. */
.review-transfer-dialog{width:min(600px,calc(100vw - 32px))}.review-transfer-dialog .import-dialog-body{gap:16px;padding:20px 24px}.review-transfer-dialog .field{font-size:12px;gap:6px}.review-transfer-dialog .field-row{gap:16px}.review-transfer-dialog .field input,.review-transfer-dialog .field select{min-height:42px;font-size:13px}.review-transfer-reference{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted);margin-bottom:2px}.review-transfer-reference strong{color:var(--text)}.review-transfer-dialog #service-time-help:empty{display:none}.review-transfer-dialog #service-time-help{font-size:10px;line-height:1.4}.review-transfer-dialog .hotel-picker{padding-top:2px}.review-transfer-dialog .hotel-selection-note{margin-top:6px}.review-transfer-dialog .hotel-create-button{min-height:28px;margin-top:2px}.review-transfer-passengers{border-top:1px solid var(--border);padding-top:12px}.review-transfer-passengers>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:12px;min-height:28px}.review-transfer-passengers>summary::-webkit-details-marker{display:none}.review-transfer-passengers>summary strong{font-size:11px;font-weight:500;color:var(--muted);margin-left:auto}.review-transfer-passengers>summary svg{width:14px;height:14px;color:var(--muted)}.review-transfer-passengers[open]>summary svg{transform:rotate(180deg)}.review-transfer-passengers>.field,.review-transfer-passengers>.field-row{margin-top:12px}.review-transfer-dialog .review-service-pax{grid-template-columns:repeat(3,minmax(0,1fr))}.review-transfer-total{margin-right:auto;display:grid;gap:4px;align-content:center;min-width:0;flex:1}.review-transfer-total>small{font-size:10px;color:var(--muted)}.review-transfer-total>strong{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.3;color:#344b44}.review-transfer-total>strong span{font-size:11px;font-weight:500}.review-transfer-total.is-pending>span{font-size:11px;line-height:1.4;color:#936d2c}.review-transfer-dialog .import-dialog-actions{align-items:center;gap:10px}.review-transfer-dialog .import-dialog-actions .button{font-size:12px;min-height:40px;padding:10px 14px}
.hotel-create-dialog{width:min(560px,calc(100vw - 32px))}.hotel-create-dialog .import-dialog-body{gap:14px;padding:20px 24px}.hotel-create-dialog .field{font-size:12px;gap:6px}.hotel-create-fields{display:grid;gap:16px}.hotel-create-dialog .hotel-google-query{margin-top:0;align-items:center}.hotel-google-query>input{flex:1;min-width:0}.hotel-create-dialog .hotel-google-query>.icon-button{width:38px;min-width:38px;height:42px}.hotel-map-status{font-size:12px;color:var(--muted);line-height:1.6}.hotel-map-status.is-ready{color:#377460}.hotel-map-status:empty,.hotel-google-results:empty{display:none}.hotel-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.hotel-map-tools .text-button{font-size:12px;min-height:30px}.hotel-extra-details{border-top:1px solid var(--border);padding-top:12px;font-size:12px;color:var(--muted)}.hotel-extra-details summary{cursor:pointer;min-height:28px}.hotel-extra-details>.field,.hotel-extra-details>.field-row{margin-top:12px}.hotel-extra-details textarea{min-height:72px}.hotel-create-dialog .hotel-google-results{max-height:270px;overflow:auto}.hotel-create-dialog .hotel-google-result:first-child{margin-top:0}
@media(max-width:600px){.review-transfer-dialog .import-dialog-body,.hotel-create-dialog .import-dialog-body{padding:16px}.review-transfer-dialog .import-dialog-body>.field-row{grid-template-columns:1fr 1fr;gap:12px}.review-transfer-dialog .review-service-pax{gap:10px}.review-transfer-dialog .import-dialog-actions{flex-wrap:wrap}.review-transfer-total.is-pending{flex-basis:100%}.review-transfer-dialog .import-dialog-actions .button{padding:10px 12px}.hotel-create-dialog .hotel-google-query{flex-wrap:nowrap}.hotel-create-dialog .hotel-google-query>input{flex-basis:auto}.review-transfer-passengers>summary{gap:7px}.review-transfer-passengers>summary strong{font-size:10px}}

.hotel-picker .hotel-create-button{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;min-height:42px;margin-top:10px;padding:10px 16px;border:1px solid #c9c7f0;border-radius:10px;background:#f2f1ff;color:var(--violet);font-size:12px;font-weight:750;letter-spacing:.015em}.hotel-picker .hotel-create-button:hover{background:#e9e7ff;border-color:var(--violet)}.hotel-picker .hotel-create-button>svg{width:17px;height:17px}

/* Searchable hotel zone hierarchy. The list stays inside the modal scroll flow. */
.hotel-zone-picker{min-width:0}.hotel-zone-picker>.field{margin-bottom:6px}.hotel-zone-input{display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.hotel-zone-input:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px #5b5bd614}.hotel-zone-input>svg{height:16px;width:16px;color:var(--muted);flex:none}.hotel-zone-input>input{flex:1;min-width:0;width:0;min-height:44px;border:0;padding:10px 0;background:transparent;outline:none;font:inherit;font-size:13px}.hotel-zone-input>.icon-button{width:30px;min-width:30px;height:32px;padding:6px}.hotel-zone-input>.icon-button[aria-expanded=true]>svg{transform:rotate(180deg)}.hotel-zone-dropdown{border:1px solid #d8d6ed;border-radius:10px;background:#fff;margin-top:8px;overflow:hidden;box-shadow:0 8px 22px #2924450a}.hotel-zone-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f7f6fc;border-bottom:1px solid var(--border);font-size:10px;color:var(--muted)}.hotel-zone-legend>span:first-child{font-weight:650;color:#55526f}.hotel-zone-legend>span>span{margin:0 5px;color:#9994b0}.hotel-zone-list{max-height:290px;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}.hotel-zone-list>[role=option]{display:flex;align-items:center;gap:7px;width:100%;min-height:38px;padding:9px 8px;border-radius:6px;background:transparent;text-align:left;color:var(--text);font-size:12px}.hotel-zone-list>[role=option][data-depth="0"]{background:#f7f7fb;font-weight:750;margin-top:6px}.hotel-zone-list>[role=option][data-depth="0"]:first-child{margin-top:0}.hotel-zone-list>[role=option][data-depth="1"]{padding-left:24px;font-weight:650}.hotel-zone-list>[role=option][data-depth="2"]{padding-left:46px}.hotel-zone-list>[role=option]:hover,.hotel-zone-list>[role=option].is-focused,.hotel-zone-list>[role=option][aria-selected=true]{background:var(--violet-soft);color:var(--violet)}.hotel-zone-branch{width:14px;flex:none;color:#b4b0ca;font-size:16px}.hotel-zone-branch>svg{width:14px;height:14px;color:#777192}.hotel-zone-name{min-width:0;flex:1;overflow-wrap:anywhere;line-height:1.4}.hotel-zone-count{color:#807991;font-size:11px;font-weight:500;white-space:nowrap}.hotel-zone-list small{flex:none;border:1px solid #e7e4f0;border-radius:4px;padding:2px 5px;font-size:9px;color:#837991;font-weight:500}.hotel-zone-check{width:13px;flex:none}.hotel-zone-check>svg{width:13px;height:13px}.hotel-zone-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:7px}.hotel-zone-empty{padding:20px 12px;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:600px){.hotel-zone-legend{font-size:9px;padding:9px 10px}.hotel-zone-legend>span>span{margin:0 2px}.hotel-zone-list>[role=option]{font-size:11px;gap:5px}.hotel-zone-list>[role=option][data-depth="1"]{padding-left:17px}.hotel-zone-list>[role=option][data-depth="2"]{padding-left:30px}.hotel-zone-list{max-height:250px}.hotel-zone-list small{font-size:8px;padding:2px 4px}}

/* Shared zone selector: multiple and mixed place/zone variants. */
.hotel-zone-picker .field{font-size:12px}.hotel-zone-input:has(input:disabled){background:var(--surface);opacity:.6}.hotel-zone-list>[role=option][aria-disabled=true]{color:#9b98a8;cursor:default;background:transparent}.hotel-zone-list>[role=option][aria-disabled=true] .hotel-zone-count{color:#aaa5b5}.zone-picker-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto;margin:8px 0}.zone-picker-chips[hidden]{display:none}.zone-picker-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;border:1px solid #dcd8f2;border-radius:7px;background:#f7f5fe;color:#575078;padding:4px 5px 4px 9px;font-size:11px}.zone-picker-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-picker-chip>button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;background:transparent;color:#7d749b;border-radius:4px}.zone-picker-chip>button:hover{background:#e9e5f8}.zone-picker-chip svg{width:12px;height:12px}.zone-picker-checkbox{display:flex;align-items:center;justify-content:center;width:15px;height:15px;flex:none;border:1px solid #c7c1da;background:white;border-radius:4px}.zone-picker-checkbox.is-checked{border-color:var(--violet);background:var(--violet);color:white}.zone-picker-checkbox svg{height:12px;width:12px}.hotel-zone-list .zone-picker-group{position:sticky;top:-4px;z-index:1;margin:0 -4px 4px;padding:8px 12px;background:#f3f2f8;border-bottom:1px solid #e9e6f1;color:#777084;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.hotel-zone-list .zone-picker-place{font-weight:500}.zone-picker-place-context{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}.price-journey>.hotel-zone-picker{align-self:start}.price-journey>.price-swap{align-self:start;margin-top:27px}.price-journey .hotel-zone-legend{flex-wrap:wrap;font-size:9px}.price-journey .hotel-zone-list>[role=option]{font-size:11px}.price-journey .hotel-zone-list>[role=option][data-depth="1"]{padding-left:17px}.price-journey .hotel-zone-list>[role=option][data-depth="2"]{padding-left:30px}

/* Zone catalogue: shared hierarchy, spacious disclosure rows at every level. */
.zone-catalogue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:28px;padding:24px var(--layout-panel-inset);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.zone-catalogue-summary>div{display:flex;flex-direction:column;gap:8px;min-width:0}.zone-catalogue-summary span{font-size:13px;color:var(--muted)}.zone-catalogue-summary strong{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}.zone-catalogue-summary>div:last-child strong{color:var(--violet)}
.zone-catalogue{background:#fff;overflow:visible}.zone-catalogue-toolbar{border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap}.zone-catalogue-toolbar .search{max-width:none;min-width:240px}.zone-catalogue-toolbar .select{flex:none}
.zone-catalogue-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:var(--layout-filter-padding) var(--layout-panel-inset);border-bottom:1px solid var(--border);background:var(--surface)}.zone-catalogue-legend{display:flex;align-items:center;gap:var(--layout-compact-gap);font-size:13px;font-weight:700}.zone-catalogue-legend svg{width:14px;height:14px;color:#9b9eb6}.zone-catalogue-legend>span:first-child{color:var(--violet)}.zone-catalogue-tools p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}.zone-catalogue-actions{display:flex;gap:var(--layout-control-gap);flex-shrink:0}.zone-catalogue-actions .button{font-size:13px}
.zone-catalogue-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--layout-panel-inset);font-size:12px;line-height:1.7;color:var(--muted);min-height:64px}.zone-catalogue-results-heading .text-button{flex-shrink:0;font-size:13px}
.zone-tree{list-style:none;margin:0;padding:0 var(--layout-panel-inset) var(--layout-panel-inset);display:grid;gap:16px}.zone-tree>.zone-tree-node{border:1px solid var(--border);border-radius:12px;background:#fff;min-width:0;overflow:hidden}.zone-tree-row{display:flex;align-items:center;gap:var(--layout-control-gap);padding:18px 20px;min-width:0}.zone-tree>.zone-tree-node>.zone-tree-row{background:#f8f8fd}.zone-tree-toggle{flex:none;width:40px;height:40px;background:#fff;color:var(--violet);border-color:#e1e1f1}.zone-tree-toggle svg{transition:transform .15s}.zone-tree-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.zone-tree-leaf{display:grid;place-items:center;flex:none;width:40px;height:40px;color:#979bb4}.zone-tree-leaf svg{width:17px;height:17px}
.zone-tree-identity{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.zone-tree-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:11px;line-height:1.5}.zone-tree-level{font-weight:700;color:var(--violet)}.zone-tree-code{color:var(--muted)}.zone-tree-name{font-size:14px;font-weight:750;line-height:1.6;overflow-wrap:anywhere;align-self:flex-start}.zone-tree-composition{font-size:12px;color:var(--muted);line-height:1.6}.zone-tree-label .status{font-size:11px;padding:2px 6px}.zone-tree-context{font-size:11px;color:var(--muted);font-style:italic}.zone-tree-hotels{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px}.zone-tree-hotels svg{width:16px;height:16px;color:#8a8ca6}.zone-tree-hotels strong{color:#40446a;font-size:14px;font-variant-numeric:tabular-nums}.zone-tree-edit{flex:none;margin-left:8px}
.zone-tree-children{list-style:none;margin:0 20px 16px 39px;padding:8px 0 0 20px;border-left:1px solid #ddddec;display:grid;gap:8px}.zone-tree-children>.zone-tree-node{position:relative;min-width:0}.zone-tree-children>.zone-tree-node:before{content:'';position:absolute;width:20px;height:1px;left:-20px;top:37px;background:#ddddec}.zone-tree-children .zone-tree-row{padding:12px;border-radius:10px}.zone-tree-children .zone-tree-row:hover{background:#fafafd}.zone-tree-children .zone-tree-children{margin-left:31px;margin-right:0}.zone-tree-sector .zone-tree-level{color:#778296}.zone-tree-subzone .zone-tree-level{color:#7168a8}.zone-tree-sector .zone-tree-name{font-weight:650}.zone-tree .is-context>.zone-tree-row .zone-tree-name{color:var(--muted)}
@media(max-width:1150px){.zone-catalogue-tools{align-items:flex-start;flex-wrap:wrap}.zone-catalogue-summary{gap:16px}.zone-tree-row{padding:16px}.zone-tree-children{margin-right:12px;margin-left:35px;padding-left:16px}.zone-tree-children>.zone-tree-node:before{width:16px;left:-16px}}
@media(max-width:600px){.zone-catalogue-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px var(--layout-panel-inset);margin-bottom:24px}.zone-catalogue-summary strong{font-size:24px}.zone-catalogue-toolbar .search{min-width:0;flex-basis:100%}.zone-catalogue-toolbar .select{width:auto;flex:1 1 100%;max-width:none}.zone-catalogue-tools{gap:20px}.zone-catalogue-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:var(--layout-control-gap)}.zone-catalogue-actions .button{padding:10px 8px;white-space:normal}.zone-catalogue-results-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.zone-tree{gap:16px}.zone-tree-row{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;gap:12px 8px;padding:16px 12px}.zone-tree-toggle,.zone-tree-leaf{width:32px;height:40px;grid-column:1;grid-row:1}.zone-tree-identity{grid-column:2/-1;grid-row:1}.zone-tree-name{font-size:13px}.zone-tree-hotels{grid-column:2;grid-row:2;justify-self:start;padding:6px 8px;gap:6px;font-size:11px;flex-wrap:wrap;white-space:normal}.zone-tree-hotels strong{font-size:13px}.zone-tree-edit{grid-column:3;grid-row:2;margin:0;width:36px;height:36px}.zone-tree-children{margin:0 8px 12px 19px;padding:8px 0 0 8px}.zone-tree-children>.zone-tree-node:before{left:-8px;width:8px;top:36px}.zone-tree-children .zone-tree-row{padding:12px 8px}.zone-tree-children .zone-tree-children{margin-left:15px}.zone-tree-code{overflow-wrap:anywhere}.zone-tree-label{gap:6px 8px}.zone-tree-composition{font-size:11px}}

/* HORDEST visual hierarchy: dark navigation, a quiet canvas and distinct white panels.
   These shared tokens apply to the workspace; the private login keeps its own theme. */
:root{--workspace-canvas:#f1f3f8;--workspace-panel:#fff;--workspace-tint:#edf1f8;--workspace-accent-tint:#eeebfc;--workspace-line:#d6deeb;--workspace-line-strong:#c5cfe0;--workspace-ink:#182238;--workspace-muted:#53627a;--workspace-shadow:0 5px 20px #2134590b,0 1px 3px #21345908;--navigation-bg:#1b2134;--navigation-text:#dbe2f1;--navigation-muted:#a6b3ce}
.main{--text:var(--workspace-ink);--muted:var(--workspace-muted);--border:var(--workspace-line);--surface:var(--workspace-tint);background:var(--workspace-canvas);color:var(--text)}
.sidebar{background:linear-gradient(165deg,#252c43 0%,var(--navigation-bg) 52%,#171d2f 100%);color:var(--navigation-text);border-right-color:#171e31;box-shadow:6px 0 24px #13213c0a;scrollbar-color:#58647f var(--navigation-bg)}
.sidebar .brand{color:#fff;border-bottom:1px solid #ffffff12}.sidebar .brand-mark{background:#7167e9;box-shadow:0 3px 12px #080e282e}.sidebar .version{color:#cbd3e7;border-color:#ffffff30;background:#ffffff08}.sidebar .nav-caption{color:var(--navigation-muted);font-size:11px;letter-spacing:.11em}
.sidebar .nav-item{color:var(--navigation-text);font-weight:600}.sidebar .nav-item:hover{background:#ffffff0d;color:#fff}.sidebar .nav-item.active{background:#655ada;color:#fff;box-shadow:inset 3px 0 0 #c2baff,0 4px 12px #090e2c33}.sidebar .nav-item .nav-count{color:#e1e6f4;background:#ffffff0d}.sidebar .nav-item.active .nav-count{background:#ffffff20;color:#fff}
.sidebar .sidebar-footer{border-top-color:#ffffff18;color:var(--navigation-muted);background:#141a2a33}.sidebar .access-session-user strong{color:#f6f7ff}.sidebar .access-session-user small{color:#b7c3da}.sidebar .access-session-avatar{background:#3b365e;color:#dfd9ff;border-color:#75669e}.sidebar .text-button{color:#ccc5ff}.sidebar .close-menu{background:#ffffff0d;border-color:#ffffff24;color:#fff}.sidebar :is(a,button):focus-visible{outline-color:#bdb5ff;outline-offset:3px}
.topbar{background:#fff;border-bottom-color:var(--workspace-line);box-shadow:0 3px 14px #1c2e4b06}.topbar .breadcrumb{color:var(--workspace-muted)}.topbar .breadcrumb strong{color:#4d42ad;background:#eeebfc;border:1px solid #e0dcf7;padding:6px 10px;border-radius:8px;font-weight:750}.topbar .client-quick-search-field{background:#f4f6fa;border-color:var(--workspace-line)}
.main .page-heading{align-items:center;border-bottom:1px solid var(--workspace-line-strong);padding-bottom:24px;margin-bottom:28px}.main .page-heading>div{min-width:0}.main .page-heading h1{font-size:32px;line-height:1.25;letter-spacing:-.035em;color:#151e32}.main .description{color:#536079;line-height:1.7}.main .migration-note{color:#5c6980}
.main .card:not(.import-validation-bar){background:var(--workspace-panel);border-color:var(--workspace-line);box-shadow:var(--workspace-shadow)}.main .card .card{box-shadow:none}.main .toolbar{background:#fff;border-bottom-color:var(--workspace-line)}.main :is(.search,.select,.field input,.field select,.field textarea){border-color:#cbd4e4}.main .search input{border:0}.main .entity-icon{color:#6357ae;background:#f0edfc;border-color:#ddd7f2}.main .entity-link:hover{color:#5143bd}
.main .button:not(.secondary):not(.tertiary){box-shadow:0 3px 8px #5149bc1c}.main .button.secondary{border-color:#cdd6e5;color:#374761;background:#fff}.main .button.secondary:hover{border-color:#afbcd2;background:#f4f6fb}.main .icon-button{border-color:#d0d9e7;color:#586880}.main .icon-button:hover{color:#4f43af;border-color:#bcb4e0;background:#f4f1ff}
.main thead{background:#eaf0f7;color:#40516d}.main th{font-weight:750}.main td{border-top-color:#e0e6ef}.main tbody tr:hover{background:#f4f3fc}.main :is(.panel-bottom,.pagination,.table-footer){background:#f8f9fc;border-color:var(--workspace-line)}.main .empty-symbol{background:#edeafa;border-color:#d8d0f1;color:#6352bc}.main .empty h2{color:var(--workspace-ink)}
.main :is(.detail-tabs,.import-tabs){background:#e5eaf3;border:1px solid #d3dcec;border-radius:12px;padding:8px;gap:8px}.main .detail-tabs>button,.main .import-tabs>a{min-height:44px;padding:10px 16px;border-bottom:0;border-radius:8px;color:#4c5b74}.main .detail-tabs>button:hover,.main .import-tabs>a:hover{background:#f6f7fc}.main .detail-tabs>button.active,.main .import-tabs>a.active{color:#5141b0;background:#fff;box-shadow:0 2px 6px #22365712}.main .detail-tabs button span{background:#eeebfc;color:#6454b1}
.main .detail-card h2,.main .section-heading h2{color:var(--workspace-ink)}.main .detail-card>.facts>div{padding-bottom:12px;border-bottom:1px solid #e6eaf2}.main .schedule>summary{background:var(--workspace-tint)}
/* Nested groups use a tint and a border, rather than stacked panel shadows. */
.main .agency-explorer{background:#eaf0f8;border-color:#d1dceb}.main .agency-place-group{border-color:#cfd8e8;box-shadow:var(--workspace-shadow)}.main .agency-place-group>summary{background:#eef0fb}.main .agency-place-group[open]>summary{background:#e9e6fb;border-bottom-color:#d4cfee}.main .agency-place-group>summary:hover{background:#e4e0f8}.main .agency-destination[open]>summary{color:#4f40a8}.main .agency-price{background:#f2f5fa;border-color:#d7dfed}.main .agency-reference-prices .agency-price{background:#fafbfe}.main .agency-section-card>strong{color:#5645be}
.main .import-metrics{background:#fff;border-color:var(--workspace-line);box-shadow:var(--workspace-shadow)}.main .import-metrics strong{color:#332b6a}.main .import-card-heading{padding-bottom:20px;border-bottom:1px solid var(--workspace-line)}.main .import-template>summary{background:#eef0f8}.main .review-matrix thead th{background:#e8edf6;color:#46536c;border-bottom-color:#cbd5e6}.main .review-matrix td{border-right-color:#e1e6f0}.main .review-service:not(.is-pending){background:#f4f2fe;border-color:#d9d2f0}.main .review-service:not(.is-pending):hover{background:#eeebfc;border-color:#9687d3}.main .review-service.is-pending{border-color:#e4d6b9;background:#fffaf0}.main .import-validation-bar{background:#fff;border-color:#bfc9db;box-shadow:0 -5px 22px #1b2c4d12}
.main .client-service-results{background:#edf1f7}.main .client-service-card{border-color:#cfd8e6;box-shadow:0 3px 10px #23385708}.main .client-service-heading{background:#eae7f8;border-bottom-color:#d9d2ed}.main .client-service-kind{color:#514382}.main .client-type-filters>button{background:#fff;border-color:#cdd6e5;color:#4c5b73}.main .client-type-filters>button[aria-pressed=true]{background:#e6e1fa;border-color:#bdb0e8;color:#4d3da4}.main .client-billing-card.card{background:#f0edfb;border-color:#d6ccef}.main .client-service-card.is-not-included{background:#f5f6f8;box-shadow:none}.main .client-service-card.is-not-included .client-service-heading{background:#e9edf2;border-bottom-color:#d8dfe8}.main .client-service-card.is-not-included .client-service-kind{color:#5f6a7c}
.main .client-create-section-title>span{background:#e8e2fa;color:#5c45b0;border:1px solid #d5c9ec}.main .client-create-section>.client-create-section-title{padding-bottom:20px;border-bottom:1px solid var(--workspace-line)}.main .client-create-section-title h2{font-size:17px;color:#26334a}.main .client-create-service-heading{background:#eae7f8;border-bottom-color:#d8d1ed}.main .client-create-summary.card{background:#eeebfa;border-color:#d1c7e8}.main .client-create-total{border-top-color:#cec2e6}.main .client-create-actions h2{color:#2c244f}.main .client-create-add-services>button{border-color:#cec7e3;color:#514370;background:#faf9fe}.main .client-create-add-services>button:hover{border-color:#8874be;background:#eee9fa}.main .client-create-add-services>button:disabled{background:#f5f5f8;color:#777f90}.main .client-create-savebar{border-top-color:#c6cfdf;box-shadow:0 -5px 22px #1b2c4d12}.main .client-create-no-services{background:#e9edf5;border-color:#bdc8dc;color:#52617b}
.main .zone-catalogue-summary{background:#fff;border-color:var(--workspace-line);box-shadow:var(--workspace-shadow)}.main .zone-catalogue-summary strong{color:#1c2c49}.main .zone-catalogue-summary>div:last-child strong{color:#5d4bbd}.main .zone-catalogue-tools{background:#edf1f8;border-color:#d5ddeb}.main .zone-tree>.zone-tree-node{border-color:#cdd6e6}.main .zone-tree>.zone-tree-node>.zone-tree-row{background:#e9e6f9}.main .zone-tree-subzone>.zone-tree-row{background:#f0f3f9}.main .zone-tree-subzone>.zone-tree-row:hover{background:#e9edf6}.main .zone-tree-children{border-left-color:#bbc5d9}.main .zone-tree-children>.zone-tree-node:before{background:#bbc5d9}.main .zone-tree-level{color:#5847b5}.main .zone-tree-subzone .zone-tree-level{color:#65528c}.main .zone-tree-sector .zone-tree-level{color:#566981}.main .zone-tree-hotels{border-color:#cfd7e6;background:#fff}.main .zone-tree-code,.main .zone-tree-composition{color:#5c6880}
#editor .dialog-header,.import-dialog .import-dialog-heading{background:#edf0f8;border-bottom-color:#d5deeb}#editor .dialog-actions,.import-dialog .import-dialog-actions{background:#f2f4f9;border-top-color:#d5deeb}
@media(max-width:600px){.main .page-heading{align-items:stretch;gap:20px;padding-bottom:20px;margin-bottom:24px}.main .page-heading h1{font-size:27px}.main .detail-tabs>button,.main .import-tabs>a{padding:10px 12px}.main .client-create-section-title h2{font-size:16px}.main .review-matrix .review-total{background:#edf0f8}.topbar .breadcrumb strong{padding:5px 8px}}
@media print{.main{background:#fff}.main .card:not(.import-validation-bar),.main .agency-place-group{box-shadow:none}}

.main .client-create-eyebrow,.main .client-create-summary-note{color:#635676}

/* Shared visual scale: generous landmarks, readable controls and softer cards.
   Keep dense import cells and the private login on their own component scale. */
:root {
  --ui-title-size: 38px;
  --ui-section-size: 20px;
  --ui-control-size: 15px;
  --ui-icon-size: 22px;
  --ui-card-radius: 22px;
  --ui-inner-radius: 16px;
}

.sidebar .nav-item { min-height: 52px; font-size: 15px; line-height: 1.45; }
.sidebar .nav-item > svg { width: var(--ui-icon-size); height: var(--ui-icon-size); }
.sidebar .nav-caption { font-size: 12px; }
.topbar .breadcrumb { font-size: 15px; }
.topbar .icon-button { width: 44px; height: 44px; }
.topbar .icon-button > svg,
.topbar .client-quick-search-field > svg { width: var(--ui-icon-size); height: var(--ui-icon-size); }
.topbar .client-quick-search-field input { font-size: var(--ui-control-size); }

.main {
  --radius: var(--ui-card-radius);
  --layout-control-height: 48px;
  --workspace-shadow: 0 12px 32px #2134590b, 0 2px 6px #21345906;
}
.main .page-heading h1 { font-size: var(--ui-title-size); font-weight: 750; line-height: 1.2; letter-spacing: -.035em; }
.main .page-heading .description { font-size: 15px; line-height: 1.7; margin-top: 10px; }
.main .card { border-radius: var(--radius); }
.main .card .card,
.main .client-create-service { --radius: var(--ui-inner-radius); }
.main .import-validation-bar { border-radius: 0; }
.main :is(.detail-card h2, .empty h2, .client-section-heading > h2, .client-info-card > h2) {
  font-size: var(--ui-section-size); line-height: 1.4; font-weight: 700;
}
.main :is(.page-heading, .toolbar, .zone-catalogue-actions, .client-create, .client-load-more) .button {
  min-height: 48px; font-size: var(--ui-control-size); gap: 10px; border-radius: 12px;
}
.main :is(.page-heading, .toolbar, .zone-catalogue-actions, .client-create) .button > svg {
  width: 20px; height: 20px;
}
.main :is(.detail-tabs > button, .import-tabs > a) { min-height: 48px; font-size: 14px; }
.main .search { min-height: 48px; border-radius: 12px; }
.main .search input { height: 46px; font-size: var(--ui-control-size); }
.main .search > svg { width: 20px; height: 20px; }
.main .select { height: 48px; font-size: var(--ui-control-size); border-radius: 12px; }
.main .entity-icon { width: 44px; height: 44px; border-radius: 12px; }
.main .entity-icon > svg { width: 24px; height: 24px; }
.main .entity strong { font-size: 15px; }
.main .empty-symbol { width: 72px; height: 72px; border-radius: 20px; }
.main .empty-symbol > svg { width: 32px; height: 32px; }
.main .agency-place-group { border-radius: var(--ui-inner-radius); }

/* The booking form should read like clear sections, not a compact data grid. */
.main .client-create { max-width: 1280px; }
.main .client-create-main { container-type: inline-size; }
.main .client-create-layout { grid-template-columns: minmax(0, 1fr) 312px; }
.main .client-create-section-title { gap: 16px; align-items: center; }
.main .client-create-section-title > span { width: 48px; height: 48px; border-radius: 14px; }
.main .client-create-section-title > span > svg { width: 26px; height: 26px; }
.main .client-create-section-title h2 { font-size: var(--ui-section-size); font-weight: 700; }
.main .client-create-section-title p { font-size: 14px; }
.main .client-create .field { font-size: 14px; gap: 8px; }
.main .client-create .field :is(input, select, textarea) { font-size: var(--ui-control-size); min-height: 48px; border-radius: 12px; }
.main .client-create-small-title { font-size: 14px; }
.main .client-create :is(.client-create-details, .client-create-notes) > summary { font-size: 14px; min-height: 40px; }
.main .client-create :is(.client-create-details, .client-create-notes) > summary > span { font-size: 12px; }
.main .client-create-actions { padding: 22px; }
.main .client-create-actions h2 { font-size: 18px; font-weight: 700; }
.main .client-create-actions > p { font-size: 13px; }
.main .client-create-actions .client-create-add-services { gap: 12px; }
.main .client-create-actions .client-create-add-services > button {
  min-height: 56px; padding: 12px 14px; gap: 12px; font-size: 14px; line-height: 1.5;
  border-radius: 14px; white-space: normal;
}
.main .client-create-add-services > button > svg { width: 24px; height: 24px; }
.main .client-create-add-services > button > svg:last-child { width: 18px; height: 18px; }
.main .client-create-service-heading h3 { font-size: 16px; }
.main .client-create-service-heading svg { width: 22px; height: 22px; }
.main .client-create-service-heading > .icon-button { width: 40px; height: 40px; flex: none; }
.main .client-create-service-heading > .icon-button svg { width: 20px; height: 20px; }
.main .client-create-service-notes > summary { min-height: 40px; font-size: 13px; }
.main .client-create-service-notes > summary > span { font-size: 12px; }
.main :is(.client-create-service-pax, .client-create-programming, .client-create-no-services) { font-size: 13px; }
.main .client-create-service-price > span { font-size: 13px; }
.main .client-create-product-input > input { font-size: var(--ui-control-size); }
.main .client-create-product-results > button { font-size: 14px; }
.main .client-create-product-results small { font-size: 12px; }
.main .client-create-summary h2 { font-size: var(--ui-section-size); }
.main .client-create-eyebrow { font-size: 11px; }
.main .client-create-summary-holder { font-size: 15px; }
.main .client-create-summary [data-create-summary] > p,
.main :is(.client-create-summary-pax, .client-create-summary-hotel, .client-create-summary-services > div) { font-size: 13px; }
.main :is(.client-create-summary-pax, .client-create-summary-hotel, .client-create-summary-services > div) > svg { width: 20px; height: 20px; }
.main :is(.client-create-total > span, .client-create-total > small, .client-create-summary-note) { font-size: 12px; }
.main .client-create-total > strong { font-size: 28px; }
.main .client-create-savebar strong { font-size: 14px; }
.main .client-create-savebar span { font-size: 12px; }

/* Larger landmarks within the zone hierarchy and service filters. */
.main .zone-catalogue-summary { border-radius: var(--ui-card-radius); }
.main .zone-catalogue-summary span { font-size: 14px; }
.main .zone-catalogue-summary strong { font-size: 30px; }
.main .zone-tree > .zone-tree-node { border-radius: var(--ui-inner-radius); }
.main .zone-tree-name { font-size: 16px; }
.main .zone-tree-label { font-size: 12px; }
.main .zone-tree-composition { font-size: 13px; }
.main .zone-tree-hotels strong { font-size: 15px; }
.main .zone-tree-toggle, .main .zone-tree-edit { width: 44px; height: 44px; }
.main :is(.zone-tree-toggle, .zone-tree-edit) > svg { width: 20px; height: 20px; }
.main .client-type-filters > button { font-size: 14px; min-height: 48px; gap: 10px; border-radius: 12px; }
.main .client-type-filters > button > svg { width: 20px; height: 20px; }
.main .client-dates > label { font-size: 13px; }
.main .client-dates input { font-size: 14px; border-radius: 12px; max-width: 170px; }
.main .client-service-card { border-radius: var(--ui-inner-radius); }
.main .client-service-kind { font-size: 14px; }
.main .client-service-kind > svg { width: 22px; height: 22px; }
.main .client-service-heading > time { font-size: 13px; }
.main .client-route-point strong { font-size: 14px; }
.main .client-route-point.is-airport strong { font-size: 26px; }
.main .client-point-icon > svg { width: 22px; height: 22px; }

@media (max-width: 1199px) {
  .main .client-create-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .main .client-create-actions { padding: 18px; }
}
@media (max-width: 760px) {
  .main .client-create-layout { grid-template-columns: minmax(0, 1fr); }
  .main .client-create-actions .client-create-add-services > button { gap: 8px; padding: 12px; }
}
@container (max-width: 520px) {
  .main .client-create .field-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  :root { --ui-title-size: 30px; --ui-section-size: 19px; --ui-card-radius: 20px; }
  .main .page-heading h1 { overflow-wrap: anywhere; }
  .main .zone-tree-row { grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .main .zone-tree-name { font-size: 15px; }
  .main .zone-tree-composition { font-size: 12px; }
  .main .zone-tree-edit { margin-left: 0; }
  .main .client-dates input { max-width: none; }
  .main .client-service-heading { flex-wrap: wrap; gap: 12px; padding: 16px; }
  .main .client-service-heading > time { margin-left: auto; }
  .main .client-create-section-title { align-items: flex-start; gap: 12px; }
  .main .client-create-section-title > span { width: 44px; height: 44px; }
  .main .client-create-actions .client-create-add-services { grid-template-columns: 1fr; }
  .main .client-create-actions .client-create-add-services > button { min-height: 52px; }
  .main .client-create .field :is(input, select, textarea),
  .main .client-create-product-input > input,
  .main .search input, .main .select,
  .topbar .client-quick-search-field input { font-size: 16px; }
  .main .entity { padding-right: 40px; }
}
