/* Rehltak shared surfaces, controls and portal shells. */
.rehltak-portal {
  --portal-ink: #10253d;
  --portal-muted: #50647a;
  --portal-brand: #12588e;
  --portal-accent: #087b86;
  --portal-wash: #eaf5fa;
  --portal-canvas: #f5f7fa;
  --portal-line: #dce5ed;
  --portal-radius: 16px;
  --portal-shadow: 0 8px 26px rgb(22 48 74 / 8%);
  background: var(--portal-canvas);
  color: var(--portal-ink);
}
.rehltak-portal :is(.button-primary,.ota-search-submit,.dev-button:not(.dev-secondary),.nav-login) {
  background: var(--portal-brand);
  color: #fff;
  border-color: transparent;
  border-radius: 10px;
}
.rehltak-portal :is(.button-primary,.ota-search-submit,.dev-button,.nav-login):focus-visible,
.rehltak-portal :is(summary,a,input,select):focus-visible {
  outline: 2px solid var(--portal-accent);
  outline-offset: 2px;
}
.rehltak-portal :is(.trip-site-header,.trip-partner-header,.admin-workspace-topbar,.dev-header) {
  background: #fff;
  border-block-end: 1px solid var(--portal-line);
  color: var(--portal-ink);
  box-shadow: none;
}
.rehltak-portal :is(.enterprise-admin-card,.enterprise-admin-metric,.admin-table-card,.dev-products article,.dev-section.dev-start,.agency-workspace .metric-card) {
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fff;
  box-shadow: var(--portal-shadow);
}
.customer-portal .trip-hero {
  background: radial-gradient(ellipse at top right, #e0f0f9, transparent 65%), var(--portal-canvas);
  padding: clamp(24px, 5vw, 64px) 0 30px;
  min-height: 0;
}
.customer-portal .trip-hero::before,
.customer-portal .trip-hero::after { content: none; }
.customer-portal .trip-hero-inner {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
  padding: clamp(16px, 2.2vw, 30px);
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fff;
  box-shadow: var(--portal-shadow);
  display: block;
}
.customer-portal .trip-hero-copy { text-align: start; margin: 0 0 20px; padding: 0; color: var(--portal-ink); }
.customer-portal .trip-hero-copy h1 { font-size: clamp(25px, 3vw, 39px); margin: 0 0 6px; color: inherit; line-height: 1.25; }
.customer-portal .trip-hero-copy p { color: var(--portal-muted); margin: 0; }
.customer-portal .trip-search { margin: 0; padding: 0; background: transparent; width: 100%; }
.customer-portal .trip-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 0;
  gap: 0;
  background: transparent;
  border: 0;
  border-block-end: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
  overflow: auto;
}
.customer-portal .trip-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
  min-height: 46px;
  padding: 8px clamp(11px, 2vw, 24px);
  border: 0;
  border-block-end: 2px solid transparent;
  border-radius: 0;
  color: var(--portal-muted);
  background: transparent;
  box-shadow: none;
  white-space: nowrap;
}
.customer-portal .trip-tab.active { border-block-end-color: var(--portal-accent); color: var(--portal-ink); background: transparent; }
.customer-portal :is(.trip-search-card,.trip-search-forms,.ota-form) {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  box-shadow: none;
}
.customer-portal .trip-type-options { border: 0; margin: 0 0 14px; padding: 0; }
.customer-portal .ota-trip-types { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.customer-portal .ota-trip-types label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  min-height: 36px;
  border: 1px solid var(--portal-line);
  border-radius: 10px;
  color: var(--portal-muted);
  background: #fff;
  cursor: pointer;
}
.customer-portal .ota-trip-types label:has(:checked) { background: var(--portal-wash); border-color: #9acbd8; color: var(--portal-ink); }
.customer-portal .ota-trip-types input { accent-color: var(--portal-brand); }
.customer-portal .trip-search .ota-fields {
  display: grid;
  gap: 0;
  align-items: stretch;
  margin: 0;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  box-shadow: 0 2px 7px rgb(22 48 74 / 7%);
  background: #fff;
}
.customer-portal .trip-search .ota-fields[hidden] { display: none; }
.customer-portal .trip-search .ota-fields-flight { grid-template-columns: minmax(0,1.45fr) 44px minmax(0,1.45fr) repeat(2,minmax(0,.95fr)) minmax(0,1.25fr) auto; }
.customer-portal .trip-search .ota-fields-flight:has(.ota-return-field[hidden]) { grid-template-columns: minmax(0,1.45fr) 44px minmax(0,1.45fr) minmax(0,1fr) minmax(0,1.3fr) auto; }
.customer-portal .trip-search .ota-fields-hotel { grid-template-columns: minmax(0,1.6fr) repeat(2,minmax(0,1fr)) minmax(0,1.3fr) auto; }
.customer-portal .trip-search :is(.ota-fields > .ota-field,.ota-fields > .hotel-guests) {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 72px;
  min-width: 0;
  margin: 0;
  padding: 9px 12px;
  background: transparent;
  color: var(--portal-ink);
  border: 0;
  border-inline-end: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}
.customer-portal .trip-search .ota-fields > .ota-field[hidden] { display: none; }
.customer-portal .trip-search .ota-field > span,
.customer-portal .home-hotel-picker summary > span { font-size: .76rem; color: var(--portal-muted); }
.customer-portal .trip-search .ota-field > :is(input,select) {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  height: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 650;
  color: var(--portal-ink);
}
.customer-portal .trip-search :is(.ota-swap,.ota-search-submit) { align-self: center; justify-self: stretch; margin: 7px; min-height: 44px; }
.customer-portal .trip-search .ota-swap {
  margin: 3px;
  border: 1px solid var(--portal-line);
  border-radius: 50%;
  min-height: 36px;
  width: 36px;
  background: var(--portal-wash);
  color: var(--portal-brand);
}
.customer-portal .trip-search .ota-search-submit { white-space: nowrap; padding-inline: 16px; }
.customer-portal .trip-search .ota-search-submit:disabled { background: #e7ecf0; color: #44576b; }
.customer-portal .home-hotel-picker summary { cursor: pointer; }
.customer-portal .home-hotel-picker summary strong { display: block; line-height: 1.2; }
.customer-portal .home-hotel-picker-body {
  position: absolute;
  z-index: 15;
  inset-block-start: calc(100% + 6px);
  inset-inline-end: 0;
  width: min(390px, calc(100vw - 58px));
  max-height: min(55vh, 430px);
  overflow: auto;
  background: #fff;
  border: 1px solid var(--portal-line);
  border-radius: 12px;
  padding: 14px;
  box-shadow: var(--portal-shadow);
}
.customer-portal .trip-search :is(.b9-detail-link,.ota-form-note,.rehltak-preview-search-hint) { margin: 10px 0 0; }
.customer-portal .trip-search .ota-fields-three { grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); }
.customer-portal .trip-search .ota-form-bottom { margin-block-start: 10px; }
.agency-entry .b2b-partner-hero {
  position: relative;
  isolation: isolate;
  background: linear-gradient(112deg,#e3f1f9 0%,#cae8f0 49%,#17678a 49%,#102d4b 100%);
  padding: clamp(40px, 8vw, 112px) 0;
  min-height: min(740px, 82vh);
  display: grid;
  align-items: center;
  overflow: hidden;
}
.agency-entry .b2b-partner-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("travel-hero.svg") left 4% center / min(60vw,850px) auto no-repeat;
  opacity: .65;
}
.agency-entry .b2b-partner-grid {
  direction: ltr;
  display: grid;
  align-items: center;
  grid-template-columns: minmax(260px,340px) minmax(0,490px);
  justify-content: space-between;
  gap: clamp(32px, 12vw, 220px);
}
.agency-entry :is(.agency-entry-copy,.b2b-partner-login) { direction: ltr; }
[dir=rtl] .agency-entry :is(.agency-entry-copy,.b2b-partner-login) { direction: rtl; }
.agency-entry .b2b-partner-login {
  margin: 0;
  color: var(--portal-ink);
  background: #fff;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  box-shadow: 0 14px 40px rgb(16 45 75 / 22%);
}
.agency-entry .b2b-partner-login-inner { padding: clamp(18px, 3vw, 26px); }
.agency-entry .b2b-login-logo { width: min(100%,180px); height: 62px; object-fit: contain; }
.agency-entry .b2b-login-form :is(input,button) { min-height: 46px; border-radius: 10px; }
.agency-entry .agency-entry-copy { color: #fff; text-shadow: 0 2px 12px #102d4b; }
.agency-entry .agency-entry-copy h1 { font-size: clamp(32px, 5vw, 62px); line-height: 1.12; margin: 12px 0; color: inherit; }
.agency-entry .agency-entry-copy p { max-width: 36ch; color: #eefaff; }
.admin-portal .dashboard-head {
  padding: clamp(18px, 3vw, 30px);
  background: linear-gradient(110deg,#fff,#eaf5fa);
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
}
.admin-portal .enterprise-admin-nav {
  background: #fff;
  border-inline-end: 1px solid var(--portal-line);
  color: var(--portal-ink);
}
.admin-portal .enterprise-admin-nav :is(a,button,summary) { color: var(--portal-ink); }
.admin-portal .enterprise-admin-nav a[aria-current=page] { background: var(--portal-wash); color: var(--portal-brand); }
.admin-portal .enterprise-admin-metric { border-block-start: 3px solid var(--portal-accent); }
.admin-portal :is(.enterprise-admin-table,.admin-responsive-table) thead { background: var(--portal-wash); color: var(--portal-ink); }
.trip-developers .dev-hero {
  background: linear-gradient(125deg,#fff,#eaf5fa);
  color: var(--portal-ink);
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
  margin-block-start: 28px;
}
.trip-developers .dev-hero > div :is(h1,p,.dev-kicker) { color: var(--portal-ink); }
.trip-developers .dev-hero .dev-secondary { color: var(--portal-brand); background: #fff; border-color: var(--portal-line); }
.trip-developers .dev-terminal { background: #10253d; color: #eaf5fa; border-radius: 12px; }
.trip-developers .dev-terminal :is(.dev-caption,small) { color: #c8e1f2; }
.trip-developers .dev-product-icon { background: var(--portal-wash); color: var(--portal-brand); }
@media (max-width: 1000px) {
  .customer-portal .trip-search .ota-fields-flight,
  .customer-portal .trip-search .ota-fields-flight:has(.ota-return-field[hidden]) { grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr); }
  .customer-portal .trip-search .ota-fields-hotel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .customer-portal .trip-search .ota-fields > :is(.ota-field,.hotel-guests) { border-block-end: 1px solid var(--portal-line); }
  .customer-portal .trip-search .ota-fields-flight > .passenger-picker { grid-column: span 2; }
}
@media (max-width: 640px) {
  .customer-portal .trip-hero-inner { width: calc(100% - 24px); }
  .customer-portal .trip-tabs { width: 100%; }
  .customer-portal .trip-tab { padding-inline: 8px; font-size: .82rem; }
  .customer-portal .trip-search .ota-fields-flight,
  .customer-portal .trip-search .ota-fields-flight:has(.ota-return-field[hidden]) { grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr); }
  .customer-portal .trip-search .ota-fields-flight > .ota-field:nth-child(4) { grid-column: 1 / 3; }
  .customer-portal .trip-search .ota-fields-flight > .passenger-picker,
  .customer-portal .trip-search .ota-fields > .ota-search-submit,
  .customer-portal .trip-search .ota-fields-hotel > .hotel-guests { grid-column: 1 / -1; }
  .customer-portal .trip-search .ota-fields-hotel > .field-autocomplete { grid-column: 1 / -1; }
  .customer-portal .trip-search .ota-fields > :is(.ota-field,.hotel-guests) { min-height: 60px; padding-inline: 8px; }
  .agency-entry .b2b-partner-grid { grid-template-columns: minmax(0,1fr); gap: 22px; max-width: 450px; }
  .agency-entry .b2b-partner-hero { background: linear-gradient(155deg,#e4f3f9 30%,#102d4b 82%); padding: 30px 0; }
  .agency-entry .b2b-partner-hero::before { background-size: cover; opacity: .34; }
  .agency-entry .agency-entry-copy { padding-inline: 6px; }
}
.customer-portal .trip-search .ota-swap[hidden] { display: none; }
.customer-portal .trip-search .ota-fields-flight:has(.ota-swap[hidden]) {
  grid-template-columns: minmax(0,1fr) auto;
}
.customer-portal .trip-home .trip-search { box-shadow: none; border-radius: 0; }
.customer-portal .trip-home .trip-tab[aria-selected=true] {
  background: transparent;
  color: var(--portal-ink);
  border-block-end-color: var(--portal-accent);
}
.customer-portal .trip-search .ota-fields-hotel > .hotel-guests { grid-column: auto; }
@media (max-width: 640px) {
  .customer-portal .trip-home .trip-hero-inner { width: calc(100% - 24px); }
  .customer-portal .trip-search .ota-fields-flight > .ota-swap { grid-column: 2; grid-row: 1; }
  .customer-portal .trip-search .ota-fields-flight > .field-autocomplete:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .customer-portal .trip-search .ota-fields-hotel > .hotel-guests { grid-column: 1 / -1; }
}
.customer-portal .trip-search .ota-fields-flight > .ota-search-submit { min-inline-size: 94px; }
.customer-portal .trip-search .ota-fields-flight > .ota-search-submit > span { margin-inline-end: 5px; }
.customer-portal .trip-search .ota-fields-flight:has(.ota-swap[hidden]) > .passenger-picker { grid-column: auto; }
@media (min-width: 1250px) {
  .customer-portal .trip-header-inner { width: min(1300px, calc(100% - 48px)); max-width: none; }
  .customer-portal .trip-site-actions { flex-wrap: nowrap; white-space: nowrap; }
  .customer-portal .trip-site-nav { gap: 2px; }
}
@media (max-width: 640px) {
  .customer-portal .trip-search .ota-fields-flight:has(.ota-swap[hidden]) { grid-template-columns: minmax(0,1fr); }
}
.rehltak-portal .agency-workspace-main { background: var(--portal-canvas); }
.rehltak-portal .agency-workspace-bar { border-color: var(--portal-line); background: var(--portal-wash); }
.admin-portal .enterprise-admin-brand {
  background: var(--portal-wash);
  border-radius: 10px;
}
.admin-portal .admin-nav-glyph { background: var(--portal-wash); color: var(--portal-brand); }
.trip-developers .dev-header nav a[aria-current=page] {
  background: var(--portal-wash);
  border-radius: 8px;
  color: var(--portal-brand);
}
@media (min-width: 1001px) {
  .customer-portal .trip-search .ota-fields-flight > .ota-search-submit { grid-column: auto; }
}
.admin-portal .admin-workbench {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,140px),1fr));
  gap: 8px;
}
.admin-portal .admin-workbench a {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--portal-line);
  border-radius: 10px;
  background: #fff;
  color: var(--portal-ink);
  text-decoration: none;
  font-weight: 650;
}
.admin-portal .admin-workbench a:hover { border-color: var(--portal-accent); }
.admin-portal .admin-workbench a span {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--portal-wash);
  color: var(--portal-brand);
  font-size: .73rem;
}
.trip-developers :is(.dev-quickstart,.dev-docs) { color: var(--portal-ink); }
@media (min-width: 851px) {
  .rehltak-portal.admin-portal .dashboard-shell > .enterprise-admin-nav { overflow: hidden; }
  .rehltak-portal.admin-portal .enterprise-admin-nav > .admin-nav-links {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    align-content: start;
  }
  .rehltak-portal.admin-portal .enterprise-admin-nav > :is(.enterprise-admin-brand,.admin-sidebar-collapse) { flex: 0 0 auto; }
}
