:root {
  --ink: #172033;
  --muted: #667085;
  --line: #d9e2ec;
  --soft: #f5f8fb;
  --brand: #0f6fff;
  --green: #0b8f6d;
  --danger: #c2410c;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #eef6ff 0, #f7fbff 360px, #f5f8fb 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    linear-gradient(120deg, rgba(15, 111, 255, 0.88), rgba(11, 143, 109, 0.78)),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=80") center/cover;
}

body.b2b-login-page {
  background:
    radial-gradient(circle at 10% 10%, rgba(216, 182, 106, 0.28), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(15, 111, 255, 0.18), transparent 26%),
    linear-gradient(135deg, #f7fbff 0%, #ffffff 48%, #fff8e8 100%);
  padding: 24px;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select {
  font: inherit;
}

.admin-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px clamp(16px, 4vw, 48px);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
}

.brand,
.admin-header nav {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand {
  font-weight: 900;
}

.brand span {
  display: grid;
  width: 40px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: var(--brand);
  font-size: 0.72rem;
}

.admin-header button,
.admin-header nav a,
.toolbar input,
.toolbar select,
.booking-card select,
.booking-card button {
  border: 1px solid var(--line);
  border-radius: 8px;
}

.admin-header button,
.admin-header nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  color: #fff;
  background: linear-gradient(135deg, #0f6fff, #074fae);
  cursor: pointer;
  font-weight: 800;
}

.admin-header nav a {
  color: #074fae;
  background: #eaf3ff;
}

.login-shell {
  display: grid;
  gap: 20px;
  width: min(430px, calc(100% - 32px));
  margin: 0;
}

.b2b-login-shell {
  align-items: stretch;
  grid-template-columns: minmax(360px, 0.95fr) minmax(390px, 0.7fr);
  width: min(1180px, 100%);
}

.login-shell .brand {
  color: #fff;
}

.login-card {
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 60px rgba(16, 31, 54, 0.22);
}

.login-card p {
  margin: 0;
  color: var(--brand);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.login-card h1 {
  font-size: 2.1rem;
}

.login-card form,
.login-card label {
  display: grid;
  gap: 10px;
}

.login-card label {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.login-card input {
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
}

.login-card button {
  min-height: 46px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--brand);
  cursor: pointer;
  font-weight: 900;
}

.login-message {
  min-height: 24px;
  color: var(--muted);
  font-weight: 750;
}

.login-message[data-type="error"] {
  color: #a42323;
}

.login-message[data-type="success"] {
  color: #00775a;
}

.b2b-login-brand-panel,
.b2b-login-card {
  border: 1px solid #d7e6f8;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(15, 52, 96, 0.12);
}

.b2b-login-brand-panel {
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.94), rgba(16, 42, 76, 0.92)),
    url("https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?auto=format&fit=crop&w=1500&q=80") center/cover;
  color: #fff;
  display: grid;
  gap: 22px;
  min-height: 640px;
  padding: clamp(26px, 5vw, 48px);
}

.b2b-login-logo {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(216, 182, 106, 0.5);
  border-radius: 18px;
  display: inline-flex;
  justify-content: center;
  max-width: 320px;
  padding: 14px 18px;
}

.b2b-login-logo img {
  display: block;
  max-height: 80px;
  max-width: 100%;
  object-fit: contain;
}

.b2b-login-brand-panel > p {
  align-self: end;
  color: #ffe8ad;
  font-size: 0.84rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.b2b-login-brand-panel h1 {
  color: #fff;
  font-size: clamp(2.25rem, 4vw, 4.45rem);
  line-height: 0.98;
  margin: 0;
  max-width: 780px;
}

.b2b-login-proof {
  align-self: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-login-proof article {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 16px;
  padding: 16px;
}

.b2b-login-proof strong {
  color: #ffe8ad;
  display: block;
  font-size: 1.1rem;
  margin-bottom: 6px;
}

.b2b-login-proof span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.9rem;
  font-weight: 720;
  line-height: 1.42;
}

.b2b-login-card {
  align-content: center;
  background: rgba(255, 255, 255, 0.98);
  padding: clamp(24px, 4vw, 42px);
}

.b2b-login-card h2 {
  color: #102a4c;
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1;
  margin: 0;
}

.b2b-password-wrap {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  grid-template-columns: 1fr auto;
  overflow: hidden;
}

.b2b-password-wrap input {
  border: 0;
  border-radius: 0;
}

.b2b-password-wrap button {
  background: #f7fbff;
  border-left: 1px solid var(--line);
  border-radius: 0;
  color: #075fd8;
  min-height: 46px;
  padding: 0 14px;
}

.b2b-password-security {
  align-items: center;
  background: linear-gradient(135deg, #fff8df, #fff 62%, #e9f7ff);
  border: 2px solid #e8b73c;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(240px, .8fr) minmax(480px, 1.2fr);
  margin-bottom: 22px;
}

.b2b-password-security.is-hidden { display: none; }
.b2b-password-security h2 { color: #102f57; margin: 4px 0 8px; }
.b2b-password-security > div > p { color: #9a6800; font-weight: 900; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.b2b-password-security > div > span { color: #52657d; display: block; font-weight: 700; line-height: 1.5; }
.b2b-password-security form { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b2b-password-security label { color: #243a58; display: grid; font-size: .82rem; font-weight: 900; gap: 6px; }
.b2b-password-security input { border: 1px solid #bdcde2; border-radius: 10px; font: inherit; min-width: 0; padding: 12px; }
.b2b-password-security button { background: #1268d5; border: 0; border-radius: 10px; color: #fff; font-weight: 900; padding: 13px 16px; }
.b2b-password-security form > button,.b2b-password-security form > p { grid-column: 1 / -1; }
.b2b-password-change-required .b2b-portal-hero,.b2b-password-change-required .b2b-portal-panel { opacity: .42; pointer-events: none; }

@media (max-width: 900px) {
  .b2b-password-security { grid-template-columns: 1fr; }
  .b2b-password-security form { grid-template-columns: 1fr; }
  .b2b-password-security form > button,.b2b-password-security form > p { grid-column: auto; }
}

.login-card .b2b-remember-row {
  align-items: center;
  color: #53677f;
  display: flex;
  font-size: 0.84rem;
  font-weight: 800;
  gap: 10px;
  text-transform: none;
}

.b2b-remember-row input {
  min-height: 0;
  width: 18px;
  height: 18px;
}

.b2b-login-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-login-actions a {
  align-items: center;
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  color: #075fd8;
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 900;
  justify-content: center;
  min-height: 44px;
  padding: 0 10px;
  text-align: center;
}

.b2b-login-note {
  background: #fff8e8;
  border: 1px solid #e4c57d;
  border-radius: 14px;
  color: #6c520e;
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.5;
  padding: 14px;
}

.b2b-registration-panel{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(5,25,55,.72);overflow:auto}.b2b-registration-panel.is-hidden{display:none}.b2b-registration-card{position:relative;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto}.b2b-registration-card>#b2bCloseRegistration{position:absolute;right:18px;top:16px;width:44px;height:44px;border:0;border-radius:12px;background:#eaf2ff;color:#102f57;font-size:28px}.b2b-registration-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.b2b-registration-form label{display:grid;gap:7px;font-weight:800;color:#263b59}.b2b-registration-form input,.b2b-registration-form select,.b2b-registration-form textarea{width:100%;padding:13px;border:1px solid #cbd8ea;border-radius:10px;font:inherit}.b2b-registration-wide{grid-column:1/-1}.b2b-registration-consent{grid-template-columns:auto 1fr!important;align-items:start}.b2b-registration-form>button{grid-column:1/-1;padding:15px;border:0;border-radius:10px;background:#1268d5;color:#fff;font-weight:900}@media(max-width:700px){.b2b-registration-form{grid-template-columns:1fr}.b2b-registration-wide,.b2b-registration-form>button{grid-column:auto}}

.b2b-login-note strong {
  color: #102a4c;
}

.admin-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 22px;
  width: min(1880px, calc(100% - 20px));
  margin: 28px auto 54px;
}

.admin-workspace {
  min-width: 0;
}

.admin-side-nav {
  position: sticky;
  top: 88px;
  align-self: start;
  display: grid;
  gap: 16px;
  max-height: calc(100vh - 112px);
  overflow: auto;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: 16px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(16, 31, 54, 0.08);
}

.admin-side-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0f6fff, #074fae);
  color: #ffffff;
}

.admin-side-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.18);
  font-weight: 950;
}

.admin-side-brand strong,
.admin-side-brand small {
  display: block;
}

.admin-side-brand small {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 750;
}

.admin-side-group {
  display: grid;
  gap: 8px;
}

.admin-side-group p {
  margin: 0;
  padding: 0 4px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-side-group button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  border: 1px solid #d9e5f3;
  border-radius: 8px;
  padding: 10px 12px;
  color: #25324a;
  background: #f8fbff;
  cursor: pointer;
  font-weight: 900;
  text-align: left;
}

.admin-side-group button:hover,
.admin-side-group button.active {
  border-color: #0f6fff;
  color: #074fae;
  background: #eaf3ff;
}

.admin-side-group button strong {
  flex: 0 0 auto;
  max-width: 92px;
  overflow: hidden;
  border-radius: 999px;
  padding: 4px 8px;
  color: #074fae;
  background: #ffffff;
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-side-actions button {
  justify-content: center;
  color: #ffffff;
  background: #0f6fff;
}

.admin-side-actions button:hover,
.admin-side-actions button.active {
  color: #ffffff;
  background: #074fae;
}

.dashboard-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 20px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: clamp(20px, 3vw, 30px);
  background: linear-gradient(135deg, #ffffff, #f6fbff);
  box-shadow: 0 22px 62px rgba(13, 28, 48, 0.1);
}

.dashboard-hero p {
  margin: 0 0 8px;
  color: var(--brand);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.status-badges {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.database-badge {
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--green);
  font-weight: 850;
}

.email-badge {
  background: #0f6fff;
}

.admin-command-center {
  display: grid;
  gap: 18px;
  margin-bottom: 20px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: clamp(18px, 3vw, 26px);
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(16, 31, 54, 0.08);
}

.admin-command-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.admin-command-heading p {
  margin: 0 0 8px;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-command-heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(1.4rem, 3vw, 2.35rem);
  line-height: 1.05;
}

.admin-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-command-actions button {
  min-height: 42px;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 0 16px;
  color: #074fae;
  background: #eaf3ff;
  cursor: pointer;
  font-weight: 900;
}

.admin-command-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.admin-command-card {
  display: grid;
  gap: 8px;
  min-height: 142px;
  border: 1px solid #d9e5f3;
  border-radius: 8px;
  padding: 18px;
  color: inherit;
  text-align: left;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(16, 31, 54, 0.06);
}

.admin-command-card:hover,
.admin-command-card.active {
  border-color: #0f6fff;
  background: #eef6ff;
  box-shadow: 0 16px 34px rgba(15, 111, 255, 0.14);
}

.admin-command-card span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-command-card strong {
  color: #163966;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1;
}

.admin-command-card small {
  color: #5f6f85;
  font-weight: 750;
  line-height: 1.4;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.metric-grid article,
.toolbar,
.booking-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.metric-grid article {
  display: grid;
  gap: 8px;
  padding: 18px;
  min-height: 112px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.metric-grid span,
.toolbar label,
.meta-label {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.metric-grid strong {
  font-size: 1.8rem;
  color: #163966;
}

.admin-view-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: 12px;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.admin-view-switch button {
  min-height: 44px;
  border: 1px solid #d9e5f3;
  border-radius: 999px;
  padding: 0 22px;
  color: #52627a;
  background: #ffffff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.admin-view-switch button.active {
  border-color: #0f6fff;
  color: #074fae;
  background: #eaf3ff;
  box-shadow: 0 10px 22px rgba(15, 111, 255, 0.12);
}

.is-hidden {
  display: none !important;
}

.ops-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: 12px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.ops-tabs button {
  min-height: 40px;
  border: 1px solid #d9e5f3;
  border-radius: 999px;
  padding: 0 16px;
  color: #52627a;
  background: #f8fbff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.ops-tabs button.active {
  border-color: #0f6fff;
  color: #074fae;
  background: #eaf3ff;
}

.admin-pipeline {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.08), rgba(11, 143, 109, 0.08)),
    #ffffff;
  box-shadow: 0 16px 38px rgba(16, 31, 54, 0.07);
}

.admin-pipeline-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-pipeline-heading p,
.admin-pipeline-message {
  margin: 0;
  color: #0f4f66;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-pipeline-heading h2 {
  margin: 4px 0 0;
  color: #13233c;
  font-size: 1.32rem;
}

.admin-pipeline-heading button,
.admin-pipeline-grid button {
  border: 1px solid #cfe0f4;
  cursor: pointer;
  font: inherit;
}

.admin-pipeline-heading button {
  min-height: 38px;
  border-radius: 999px;
  padding: 0 14px;
  color: #074fae;
  background: #eaf3ff;
  font-weight: 900;
}

.admin-pipeline-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.admin-pipeline-grid button {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 128px;
  overflow: hidden;
  border-radius: 14px;
  padding: 14px;
  text-align: left;
  color: #172033;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 10px 24px rgba(16, 31, 54, 0.06);
}

.admin-pipeline-grid button::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #0f6fff, #14b8a6, #c99a3f);
}

.admin-pipeline-grid button.active {
  border-color: #0f6fff;
  background: linear-gradient(180deg, #eaf3ff, #ffffff);
  box-shadow: inset 0 0 0 1px rgba(15, 111, 255, 0.24), 0 12px 26px rgba(15, 111, 255, 0.14);
}

.admin-pipeline-grid span {
  color: #52627a;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.admin-pipeline-grid strong {
  color: #10213a;
  font-size: 2rem;
  line-height: 1;
}

.admin-pipeline-grid small {
  color: #667085;
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.35;
}

.followup-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.followup-board article {
  display: grid;
  gap: 8px;
  min-height: 156px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 18px;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.followup-board span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.followup-board strong {
  color: #163966;
  font-size: 1.9rem;
}

.followup-board p {
  min-height: 38px;
  margin: 0;
  color: #52627a;
  font-weight: 750;
  line-height: 1.35;
}

.followup-board button,
.ops-tabs [data-followup-filter] {
  min-height: 38px;
  border: 1px solid #c99a3f;
  border-radius: 999px;
  padding: 0 14px;
  color: #745014;
  background: #fff9ed;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.followup-board button.active,
.ops-tabs [data-followup-filter].active {
  border-color: #0f6fff;
  color: #074fae;
  background: #eaf3ff;
}

.admin-alerts {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.06), rgba(201, 154, 63, 0.1)),
    #ffffff;
  box-shadow: 0 16px 38px rgba(16, 31, 54, 0.07);
}

.admin-alert-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-alert-heading p,
.admin-alert-message {
  margin: 0;
  color: #745014;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-alert-heading h2 {
  margin: 4px 0 0;
  color: #163966;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.admin-alert-heading button,
.admin-alert-grid button {
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font: inherit;
}

.admin-alert-heading button {
  min-height: 42px;
  padding: 0 16px;
  color: #074fae;
  background: #eaf3ff;
  font-weight: 900;
}

.admin-alert-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.admin-alert-grid button {
  display: grid;
  gap: 7px;
  min-height: 118px;
  padding: 14px;
  text-align: left;
  box-shadow: 0 12px 26px rgba(16, 31, 54, 0.05);
}

.admin-alert-grid button.active {
  border-color: #0f6fff;
  background: #eaf3ff;
  box-shadow: 0 12px 28px rgba(15, 111, 255, 0.14);
}

.admin-alert-grid span {
  color: #52627a;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.admin-alert-grid strong {
  color: #163966;
  font-size: 1.65rem;
  line-height: 1;
}

.admin-alert-grid small {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.admin-alert-message {
  color: #52627a;
  text-transform: none;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(5, minmax(140px, 0.75fr)) auto;
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px;
  align-items: end;
}

.toolbar label {
  display: grid;
  gap: 8px;
}

.toolbar input,
.toolbar select {
  min-height: 44px;
  padding: 0 12px;
}

.toolbar button {
  min-height: 44px;
  border: 1px solid #c99a3f;
  border-radius: 8px;
  padding: 0 16px;
  color: #745014;
  background: #fff9ed;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  white-space: nowrap;
}

.report-dashboard {
  display: grid;
  gap: 18px;
}

.report-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.report-toolbar label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.report-toolbar select {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-weight: 850;
}

.report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.report-card {
  display: grid;
  gap: 12px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 18px;
  background: linear-gradient(135deg, #ffffff, #f8fbff);
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.report-card h3 {
  margin: 0;
  color: #163966;
  font-size: 1.12rem;
}

.report-list {
  display: grid;
  gap: 10px;
}

.report-list article {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #e4eef9;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.report-list strong,
.report-list span,
.report-list p {
  display: block;
  margin: 0;
}

.report-list strong {
  color: #13233c;
  font-size: 0.95rem;
}

.report-list span,
.report-list p {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
}

.report-list p {
  text-align: right;
}

.booking-list {
  display: grid;
  gap: 10px;
}

.booking-card {
  display: grid;
  grid-template-columns: minmax(230px, 0.85fr) minmax(360px, 1.45fr) minmax(220px, 0.6fr);
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
}

.booking-card.booking-alert-overdue,
.booking-card.booking-alert-paid_pending_supplier,
.booking-card.booking-alert-urgent {
  border-color: #f59e0b;
  box-shadow: inset 5px 0 0 #c99a3f, 0 14px 32px rgba(16, 31, 54, 0.07);
}

.booking-card.booking-alert-new_request {
  border-color: #93c5fd;
  box-shadow: inset 5px 0 0 #0f6fff, 0 14px 32px rgba(16, 31, 54, 0.07);
}

.booking-card.booking-alert-hotel_hold_24h {
  border-color: #f6c65b;
  box-shadow: inset 5px 0 0 #d99712, 0 14px 32px rgba(120, 72, 0, 0.09);
}

.booking-card.booking-alert-unassigned {
  border-color: #fcd34d;
  box-shadow: inset 5px 0 0 #f59e0b, 0 14px 32px rgba(16, 31, 54, 0.07);
}

.career-card {
  display: grid;
  grid-template-columns: minmax(300px, 1.15fr) minmax(280px, 0.85fr);
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.05), rgba(201, 154, 63, 0.08)),
    #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.career-card-summary,
.career-card-glance {
  min-width: 0;
}

.career-card-glance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 10px;
}

.career-card-glance > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dbeafe;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.86);
}

.career-card-glance span,
.career-card-glance strong {
  display: block;
  overflow-wrap: anywhere;
}

.career-card-glance span {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.career-card-glance strong {
  color: #163966;
  line-height: 1.3;
}

.career-card-links,
.career-review {
  grid-column: 1 / -1;
}

.career-card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid #dbeafe;
}

.career-review {
  padding-top: 4px;
}

.career-review > summary {
  width: fit-content;
  color: #163966;
  cursor: pointer;
  font-weight: 900;
}

.career-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  color: #163966;
  background: #f8fbff;
  font-weight: 850;
}

.career-pagination div,
.career-load-error {
  display: flex;
  align-items: center;
  gap: 10px;
}

.career-pagination button,
.career-load-error button {
  min-height: 40px;
  border: 1px solid #0f6fff;
  border-radius: 8px;
  padding: 8px 14px;
  color: #fff;
  background: #0f6fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.career-pagination button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.career-load-error {
  justify-content: center;
  flex-wrap: wrap;
}

.career-load-error span {
  color: #8b1e1e;
}

@media (max-width: 720px) {
  .career-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .career-pagination div {
    justify-content: space-between;
  }

  .career-card-glance {
    grid-template-columns: 1fr;
  }
}

.career-card h2 {
  margin: 0 0 8px;
  color: #163966;
  font-size: 1.22rem;
}

.career-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.career-card .actions {
  min-width: 210px;
}

.career-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.career-status-row span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  color: #074fae;
  background: #eaf3ff;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: capitalize;
}

.career-notes {
  min-height: 76px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  resize: vertical;
}

.inline-action-label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.booking-card h2 {
  margin: 0 0 7px;
  color: #0b1b34;
  font-size: 1.02rem;
  line-height: 1.18;
}

.booking-card-stage {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
}

.booking-card-stage span,
.booking-card-stage b {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.66rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-card-stage span {
  color: #075985;
  background: #e0f2fe;
}

.booking-card-stage b {
  color: #745014;
  background: #fff7ed;
}

.booking-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.36;
}

.supplier-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.operations-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.operations-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid #d9e2ec;
  border-radius: 7px;
  padding: 3px 8px;
  color: #344054;
  background: #fff;
  font-size: 0.66rem;
  font-weight: 900;
}

.operations-badges .live-rate,
.operations-badges .documents-received {
  color: #065f46;
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.operations-badges .manual-quote,
.operations-badges .customer-waiting,
.operations-badges .follow-up-needed,
.operations-badges .documents-pending {
  color: #92400e;
  background: #fffbeb;
  border-color: #fde68a;
}

.operations-badges .urgent {
  color: #991b1b;
  background: #fef2f2;
  border-color: #fecaca;
}

.operations-badges .payment-failed,
.operations-badges .voucher-failed {
  color: #991b1b;
  background: #fff5f5;
  border-color: #fecaca;
}

.supplier-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 7px;
  padding: 3px 8px;
  color: #0f3d68;
  background: #eaf3ff;
  font-size: 0.68rem;
  font-weight: 900;
}

.supplier-pill.nuitee {
  color: #075985;
  background: #e0f2fe;
}

.supplier-pill.hotelbeds {
  color: #1e3a8a;
  background: #dbeafe;
}

.supplier-pill.ready {
  color: #065f46;
  background: #d1fae5;
}

.supplier-pill.manual {
  color: #92400e;
  background: #fef3c7;
}

.supplier-pill.quote {
  color: #9a3412;
  background: #ffedd5;
}

.supplier-pill.sandbox {
  color: #9a3412;
  background: #ffedd5;
}

.booking-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

.booking-meta > div {
  min-width: 0;
}

.booking-meta .meta-label {
  display: block;
  margin: 0 0 3px;
  color: #5f6f86;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.booking-meta p {
  color: #34435a;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.status {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  border-radius: 7px;
  padding: 4px 9px;
  color: #fff;
  background: var(--brand);
  font-size: 0.76rem;
  font-weight: 850;
}

.status.cancelled {
  background: var(--danger);
}

.status.new_request {
  background: var(--brand);
}

.status.quote_requested {
  background: #ea580c;
}

.status.hotel_hold_24h {
  color: #3d2b08;
  background: #f8d36c;
}

.status.new_application,
.status.contacted,
.status.shortlisted,
.status.interview,
.status.on_hold {
  background: #0f6fff;
}

.status.hired {
  background: var(--green);
}

.status.rejected {
  background: var(--danger);
}

.status.called,
.status.quoted,
.status.follow_up {
  background: #7c3aed;
}

.status.paid_demo,
.status.paid_pending_supplier {
  background: #b45309;
}

.status.pending_payment {
  background: #ca8a04;
}

.status.confirmed,
.status.completed,
.status.voucher_sent {
  background: var(--green);
}

.booking-card.booking-stage-payment {
  border-color: #fde68a;
  box-shadow: inset 5px 0 0 #ca8a04, 0 14px 32px rgba(16, 31, 54, 0.07);
}

.booking-card.booking-stage-hold {
  border-color: #f6c65b;
  background:
    linear-gradient(135deg, rgba(255, 247, 216, 0.9), rgba(255, 255, 255, 0.98) 45%, rgba(232, 244, 255, 0.7)),
    #fff;
  box-shadow: inset 5px 0 0 #d99712, 0 14px 32px rgba(120, 72, 0, 0.08);
}

.booking-card.booking-stage-confirmed,
.booking-card.booking-stage-voucher {
  border-color: #bbf7d0;
  box-shadow: inset 5px 0 0 #0b8f6d, 0 14px 32px rgba(16, 31, 54, 0.07);
}

.actions {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
}

.quick-actions,
.drawer-quick-actions,
.quote-tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.booking-card select,
.booking-card button,
.booking-card .secondary,
.career-card select,
.career-card button,
.career-card .secondary,
.drawer-quick-actions button,
.quote-tool-actions button,
.quote-tool-actions a {
  min-height: 34px;
  padding: 0 10px;
  font-size: 0.82rem;
}

.booking-card button,
.booking-card .secondary,
.career-card button,
.career-card .secondary,
.drawer-quick-actions button,
.quote-tool-actions button,
.quote-tool-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: #fff;
  background: var(--brand);
  cursor: pointer;
  font-weight: 850;
}

.booking-card .secondary,
.career-card .secondary,
.drawer-quick-actions button,
.quote-tool-actions button,
.quote-tool-actions a {
  color: var(--ink);
  background: #fff;
}

.career-card select {
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: #fff;
  font-weight: 800;
}

.career-card .secondary {
  text-decoration: none;
}

.danger-action {
  color: #9f1239 !important;
  border-color: #fecdd3 !important;
  background: #fff1f2 !important;
}

.booking-list {
  gap: 18px;
}

.booking-card {
  grid-template-columns: minmax(250px, 0.82fr) minmax(360px, 1.1fr) minmax(230px, 0.55fr);
  gap: 14px;
  min-height: 0;
  border-radius: 16px;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.05), rgba(11, 143, 109, 0.04)),
    #ffffff;
  box-shadow: 0 16px 36px rgba(16, 31, 54, 0.08);
}

.booking-card.booking-alert-overdue,
.booking-card.booking-alert-paid_pending_supplier,
.booking-card.booking-alert-urgent,
.booking-card.booking-alert-new_request,
.booking-card.booking-alert-unassigned,
.booking-card.booking-stage-payment,
.booking-card.booking-stage-confirmed,
.booking-card.booking-stage-voucher {
  box-shadow: inset 5px 0 0 #0f6fff, 0 16px 36px rgba(16, 31, 54, 0.08);
}

.booking-card.booking-alert-overdue,
.booking-card.booking-alert-paid_pending_supplier,
.booking-card.booking-alert-urgent,
.booking-card.booking-alert-unassigned,
.booking-card.booking-stage-payment {
  box-shadow: inset 5px 0 0 #c99a3f, 0 16px 36px rgba(16, 31, 54, 0.08);
}

.booking-card.booking-stage-confirmed,
.booking-card.booking-stage-voucher {
  box-shadow: inset 5px 0 0 #0b8f6d, 0 16px 36px rgba(16, 31, 54, 0.08);
}

.booking-summary-panel,
.booking-meta,
.booking-action-console {
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.88);
}

.booking-summary-panel {
  display: grid;
  gap: 9px;
  min-height: 0;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
}

.booking-card h2 {
  margin: 0;
  color: #0b1b34;
  font-size: clamp(1.18rem, 1.7vw, 1.55rem);
  line-height: 1.12;
}

.booking-card-stage {
  gap: 8px;
  margin-bottom: 2px;
}

.booking-card-stage span,
.booking-card-stage b {
  min-height: 26px;
  padding: 3px 9px;
  font-size: 0.68rem;
}

.booking-card p {
  font-size: 0.88rem;
  line-height: 1.34;
}

.booking-id-strip {
  display: grid;
  gap: 4px;
  margin-top: auto;
  border-top: 1px solid #dce8f5;
  padding-top: 10px;
}

.booking-id-strip span {
  color: #42526b;
  font-size: 0.92rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.booking-id-strip time {
  color: #667085;
  font-size: 0.86rem;
  font-weight: 750;
}

.booking-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  align-content: start;
}

.booking-meta > div {
  border-bottom: 1px solid #edf2f7;
  padding-bottom: 8px;
}

.booking-meta .meta-label {
  margin-bottom: 5px;
  font-size: 0.68rem;
  letter-spacing: 0;
}

.booking-meta p {
  color: #22304a;
  font-size: 0.95rem;
  font-weight: 760;
  line-height: 1.3;
}

.booking-action-console {
  gap: 7px;
  background: linear-gradient(180deg, #f8fbff, #ffffff);
}

.booking-action-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 0;
}

.booking-action-title span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-action-title strong {
  border-radius: 999px;
  padding: 5px 9px;
  color: #074fae;
  background: #eaf3ff;
  font-size: 0.7rem;
  text-transform: uppercase;
}

.booking-card select,
.booking-card button,
.booking-card .secondary {
  min-height: 36px;
  border-radius: 9px;
  padding: 0 11px;
  font-size: 0.82rem;
  font-weight: 950;
}

.booking-card [data-update-booking] {
  min-height: 42px;
  background: linear-gradient(135deg, #0f6fff, #456cf2);
  box-shadow: 0 12px 24px rgba(15, 111, 255, 0.18);
}

.booking-action-console .inline-action-label {
  gap: 7px;
  color: #5f6f86;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.quick-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.quick-actions button {
  min-height: 34px;
  padding: 0 8px;
  font-size: 0.72rem;
}

.booking-open-full {
  border-color: #0f6fff !important;
  color: #074fae !important;
  background: #eaf3ff !important;
  box-shadow: 0 10px 22px rgba(15, 111, 255, 0.14);
}

.booking-action-console > .secondary,
.booking-action-console > button,
.booking-action-console > a {
  width: 100%;
}

.detail-drawer {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: none;
}

.detail-drawer.open {
  display: block;
}

.drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
}

.drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  width: min(620px, 100%);
  height: 100%;
  background: #fff;
  box-shadow: -24px 0 60px rgba(16, 31, 54, 0.22);
}

.drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid var(--line);
}

.drawer-header span,
.detail-block span {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.drawer-header h2 {
  margin: 6px 0 0;
}

.drawer-header button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-weight: 900;
}

.drawer-content {
  display: grid;
  gap: 14px;
  align-content: start;
  overflow: auto;
  padding: 18px 20px 28px;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.detail-block {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.follow-up-editor {
  gap: 12px;
}

.quote-tools {
  gap: 12px;
}

.quote-tools textarea {
  width: 100%;
  min-height: 220px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}

.quote-tool-actions a {
  text-decoration: none;
}

.quote-tools p {
  min-height: 22px;
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.follow-up-editor label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.follow-up-editor input,
.follow-up-editor select,
.follow-up-editor textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  text-transform: none;
}

.follow-up-editor textarea {
  resize: vertical;
}

.follow-up-editor button {
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--brand);
  cursor: pointer;
  font-weight: 850;
}

.follow-up-editor p {
  min-height: 22px;
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.detail-block.full {
  grid-column: 1 / -1;
}

.supplier-detail-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.supplier-detail-list div {
  display: grid;
  grid-template-columns: minmax(110px, 0.34fr) 1fr;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.supplier-detail-list div:last-child {
  border-bottom: 0;
}

.supplier-detail-list dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.supplier-detail-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-weight: 750;
}

.sandbox-warning {
  margin: 12px 0 0;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  padding: 10px 12px;
  color: #9a3412;
  background: #fff7ed;
  font-weight: 900;
}

.detail-block p {
  margin: 0;
  color: var(--ink);
  line-height: 1.55;
  white-space: pre-wrap;
}

.timeline {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.timeline li {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--muted);
}

.timeline li::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--brand);
}

.document-links {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.document-links li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
}

.document-links a {
  color: var(--brand);
  font-weight: 850;
}

.document-links small {
  color: var(--muted);
  font-weight: 700;
}

.empty-state {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: #fff;
  text-align: center;
  font-weight: 750;
}

.api-dashboard {
  display: grid;
  gap: 18px;
}

.api-dashboard-header,
.api-status-card,
.api-overview-grid article,
.api-service-card,
.api-supplier-card {
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.api-dashboard-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 20px;
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.08), rgba(201, 154, 63, 0.1)),
    #fff;
}

.api-dashboard-header p,
.api-card-title span {
  margin: 0 0 6px;
  color: #9a6a10;
  font-size: 0.8rem;
  font-weight: 950;
  text-transform: uppercase;
}

.api-dashboard-header h2 {
  margin: 0;
  color: #163966;
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  line-height: 1.05;
}

.api-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.api-actions a,
.api-actions button,
.api-supplier-card a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #c99a3f;
  border-radius: 8px;
  padding: 0 14px;
  color: #745014;
  background: #fff9ed;
  font-weight: 900;
}

.api-actions button {
  cursor: pointer;
  font: inherit;
}

.data-audit-grid,
.data-audit-files,
.data-audit-readiness {
  display: grid;
  gap: 14px;
}

.data-audit-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}

.data-audit-files,
.data-audit-readiness {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.data-audit-card,
.data-audit-files article,
.data-audit-readiness article {
  display: grid;
  gap: 10px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 14px 30px rgba(15, 52, 96, 0.06);
}

.data-audit-card span,
.data-audit-files span,
.data-audit-readiness span {
  color: #074fae;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.data-audit-card strong,
.data-audit-files strong,
.data-audit-readiness strong {
  color: #102a4c;
  font-size: 1rem;
}

.data-audit-card p,
.data-audit-files p,
.data-audit-readiness p {
  margin: 0;
  color: #5c6f87;
  font-size: 0.86rem;
  font-weight: 760;
  line-height: 1.4;
}

.data-audit-card dl {
  display: grid;
  gap: 7px;
  margin: 0;
}

.data-audit-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf3fb;
  padding-bottom: 6px;
}

.data-audit-card dt {
  color: #667085;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: capitalize;
}

.data-audit-card dd {
  margin: 0;
  color: #102a4c;
  font-weight: 950;
}

.data-audit-files article.ready,
.data-audit-readiness article.ready {
  border-color: rgba(4, 120, 87, 0.28);
  background: linear-gradient(135deg, #ffffff, #f0fdf4);
}

.data-audit-files article.pending,
.data-audit-readiness article.pending {
  border-color: rgba(194, 65, 12, 0.28);
  background: linear-gradient(135deg, #ffffff, #fff7ed);
}

.api-overview-grid,
.api-service-grid,
.api-supplier-grid {
  display: grid;
  gap: 14px;
}

.api-overview-grid {
  grid-template-columns: repeat(5, 1fr);
}

.api-overview-grid article {
  display: grid;
  gap: 8px;
  min-height: 124px;
  padding: 16px;
  border-top: 4px solid #cbd5e1;
}

.api-overview-grid article.ready {
  border-top-color: #0f6fff;
  background: linear-gradient(180deg, #fff, #f2f8ff);
}

.api-overview-grid article.warning {
  border-top-color: #c99a3f;
  background: linear-gradient(180deg, #fff, #fffaf0);
}

.api-overview-grid article.pending {
  border-top-color: #ef7b45;
}

.api-overview-grid span,
.api-service-card span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.api-overview-grid strong,
.api-service-card strong {
  color: #163966;
  font-size: 1.15rem;
  line-height: 1.1;
}

.api-overview-grid small,
.api-service-card p,
.api-supplier-card p,
.api-supplier-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  font-weight: 700;
}

.api-status-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
}

.api-status-card {
  padding: 18px;
}

.api-card-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 14px;
}

.api-card-title strong {
  color: #0f6fff;
  font-size: 0.92rem;
  text-align: right;
}

.api-service-grid {
  grid-template-columns: repeat(4, 1fr);
}

.api-service-card {
  display: grid;
  gap: 8px;
  min-height: 130px;
  padding: 14px;
  border-left: 5px solid #cbd5e1;
}

.api-service-card.ready {
  border-left-color: #0f6fff;
}

.api-service-card.warning {
  border-left-color: #c99a3f;
}

.api-service-card.pending {
  border-left-color: #ef7b45;
}

.api-blocker-list {
  display: grid;
  gap: 10px;
}

.api-blocker-list div {
  border: 1px solid #f2d49a;
  border-radius: 8px;
  padding: 12px;
  color: #6f4c13;
  background: #fff9ed;
  font-weight: 850;
  line-height: 1.45;
}

.api-blocker-list .ready {
  border-color: #bfdbfe;
  color: #074fae;
  background: #eaf3ff;
}

.api-supplier-grid {
  grid-template-columns: repeat(3, 1fr);
}

.api-supplier-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-top: 4px solid #cbd5e1;
}

.api-supplier-card.ready {
  border-top-color: #0f6fff;
}

.api-supplier-card.warning {
  border-top-color: #c99a3f;
}

.api-supplier-card.pending {
  border-top-color: #ef7b45;
}

.api-supplier-card h3 {
  margin: 8px 0 4px;
  color: #163966;
  font-size: 1.05rem;
}

.api-supplier-card dl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: 0;
}

.api-supplier-card dl div {
  border: 1px solid #e6eef8;
  border-radius: 8px;
  padding: 10px;
  background: #f8fbff;
}

.api-supplier-card dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.api-supplier-card dd {
  margin: 4px 0 0;
  color: #163966;
  font-weight: 900;
}

.api-pill {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.api-pill.ready {
  color: #074fae;
  background: #eaf3ff;
}

.api-pill.warning {
  color: #745014;
  background: #fff2cf;
}

.api-pill.pending {
  color: #9a3412;
  background: #ffedd5;
}

.email-dashboard {
  display: grid;
  gap: 18px;
}

.email-log-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.email-log-summary article,
.email-log-card {
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.email-log-summary article {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 16px;
}

.email-log-summary span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.email-log-summary strong {
  color: #163966;
  font-size: 1.2rem;
}

.email-log-summary small {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.email-log-list {
  display: grid;
  gap: 14px;
}

.email-log-card {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 0.9fr);
  gap: 18px;
  padding: 18px;
}

.email-log-card.sent {
  border-left: 5px solid #0f6fff;
}

.email-log-card.failed {
  border-left: 5px solid #ef4444;
}

.email-log-card.skipped {
  border-left: 5px solid #c99a3f;
}

.email-log-card.logged {
  border-left: 5px solid #94a3b8;
}

.email-log-main {
  display: grid;
  gap: 10px;
  align-content: start;
}

.staff-dashboard {
  display: grid;
  gap: 18px;
}

.staff-form,
.staff-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(140px, 0.55fr) auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.staff-toolbar {
  grid-template-columns: minmax(240px, 0.55fr) 1fr;
  align-items: center;
}

.staff-form label,
.staff-toolbar label,
.staff-edit label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.staff-form input,
.staff-form select,
.staff-form textarea,
.staff-toolbar input,
.staff-edit input,
.staff-edit select,
.staff-edit textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 0 12px;
  color: #163966;
  font: inherit;
  font-weight: 800;
  text-transform: none;
}

.staff-form textarea,
.staff-edit textarea {
  min-height: 82px;
  padding: 10px 12px;
  line-height: 1.35;
  resize: vertical;
}

.staff-form button {
  min-height: 44px;
}

.website-settings-form {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.website-settings-wide {
  grid-column: span 2;
}

.website-settings-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 14px;
}

.website-settings-actions button {
  min-width: 220px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #0f6fff, #456cf2);
  cursor: pointer;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(15, 111, 255, 0.16);
}

.website-settings-form textarea {
  min-height: 104px;
}

.staff-message {
  margin: 0;
  color: var(--muted);
  font-weight: 850;
}

.staff-message.success {
  color: #047857;
}

.staff-message.error {
  color: #b42318;
}

.staff-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(360px, 1fr) minmax(170px, auto);
  gap: 18px;
  align-items: start;
  padding: 18px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.staff-card.readonly {
  background: linear-gradient(135deg, #fff, #f7fbff);
}

.staff-card-main h2 {
  margin: 10px 0 4px;
  color: #13233c;
  font-size: 1.22rem;
}

.staff-card-main p {
  margin: 0 0 12px;
  color: var(--muted);
  font-weight: 850;
}

.staff-edit {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.staff-active {
  align-content: end;
  grid-template-columns: auto 1fr;
  min-height: 44px;
}

.staff-active input {
  width: 20px;
  min-height: 20px;
}

.actions .danger {
  border-color: #fecaca;
  color: #b42318;
}

.email-log-main h3 {
  margin: 0;
  color: #172033;
  font-size: 1.12rem;
}

.email-log-main p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.email-status {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  border-radius: 999px;
  padding: 4px 12px;
  color: #0f3d80;
  background: #eaf3ff;
  font-size: 0.75rem;
  font-weight: 950;
  text-transform: uppercase;
}

.email-status.failed {
  color: #9f1239;
  background: #fff1f2;
}

.email-status.skipped,
.email-status.logged {
  color: #745014;
  background: #fff5dc;
}

.email-error {
  color: #9f1239;
  font-size: 0.9rem;
}

.email-log-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.email-log-meta div {
  min-width: 0;
  border: 1px solid #e8eef6;
  border-radius: 8px;
  padding: 10px;
  background: #f8fbff;
}

.email-log-meta dt {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.email-log-meta dd {
  overflow-wrap: anywhere;
  margin: 5px 0 0;
  color: #172033;
  font-weight: 850;
}

.booking-detail-page {
  width: min(1420px, calc(100% - 32px));
}

.booking-detail-hero {
  align-items: center;
}

.detail-subtitle {
  margin-top: 12px;
  color: var(--muted);
  font-weight: 850;
}

.admin-role-badge {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  margin-top: 12px;
  border: 1px solid #c99a3f;
  border-radius: 999px;
  padding: 5px 12px;
  color: #745014;
  background: #fff9ed;
  font-size: 0.78rem;
  font-weight: 950;
}

.booking-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.booking-detail-actions a,
.booking-detail-actions button,
.booking-ops-panel button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #c99a3f;
  border-radius: 8px;
  padding: 0 14px;
  color: #745014;
  background: #fff9ed;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.booking-detail-tabs {
  position: sticky;
  z-index: 8;
  top: 67px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 0 0 18px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(16, 31, 54, 0.08);
}

.booking-detail-tabs button {
  min-height: 40px;
  border: 1px solid #d9e5f3;
  border-radius: 999px;
  padding: 0 16px;
  color: #52627a;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  white-space: nowrap;
}

.booking-detail-tabs button.active {
  border-color: #0f6fff;
  color: #074fae;
  background: #eaf3ff;
}

.booking-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
}

.booking-detail-card,
.booking-ops-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 31, 54, 0.06);
}

.booking-detail-card {
  padding: clamp(18px, 3vw, 26px);
}

.booking-detail-card h2,
.booking-ops-panel h2 {
  margin: 0 0 14px;
  color: #163966;
  font-size: 1.15rem;
}

.detail-section-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.booking-detail-list {
  display: grid;
  gap: 10px;
  margin: 0 0 20px;
}

.booking-detail-list div {
  display: grid;
  grid-template-columns: minmax(130px, 0.28fr) 1fr;
  gap: 14px;
  border-bottom: 1px solid #e7eef7;
  padding: 10px 0;
}

.booking-detail-list dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-detail-list dd {
  overflow-wrap: anywhere;
  margin: 0;
  color: var(--ink);
  font-weight: 820;
}

.booking-json,
.booking-quote-text {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  color: var(--ink);
  background: #f8fbff;
  font: 0.9rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
}

.booking-quote-text {
  min-height: 220px;
  resize: vertical;
}

.booking-traveller-manifest {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 20px;
}

.booking-traveller-manifest article {
  border: 1px solid #dbe6f4;
  border-radius: 10px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 12px 26px rgba(16, 31, 54, 0.06);
}

.booking-traveller-manifest span {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 10px;
  background: #eef5ff;
  color: #3568c7;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-traveller-manifest strong {
  display: block;
  margin-top: 9px;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.25;
}

.booking-traveller-manifest p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 760;
  line-height: 1.4;
}

.booking-ops-panel {
  position: sticky;
  top: 134px;
  display: grid;
  gap: 12px;
  align-self: start;
  padding: 18px;
}

.booking-ops-panel label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-ops-panel input,
.booking-ops-panel select,
.booking-ops-panel textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  text-transform: none;
}

.booking-ops-panel textarea {
  resize: vertical;
}

.booking-ops-panel #saveBookingButton {
  border-color: #0f6fff;
  color: #fff;
  background: #0f6fff;
}

.booking-ops-panel .is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.detail-quick-actions {
  grid-template-columns: 1fr 1fr;
}

.detail-action-stack {
  display: grid;
  gap: 8px;
}

.detail-action-stack button {
  justify-content: flex-start;
  border-color: #d7e6f8;
  color: #074fae;
  background: #f3f8ff;
}

.booking-recovery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 20px;
}

.booking-recovery-card {
  display: grid;
  gap: 9px;
  min-height: 190px;
  border: 1px solid #d8e5f4;
  border-radius: 10px;
  padding: 14px;
  background: #f8fbff;
}

.booking-recovery-card span {
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: #56657a;
  background: #eef3f8;
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.booking-recovery-card strong {
  color: #112849;
  font-size: 1.05rem;
  text-transform: capitalize;
}

.booking-recovery-card p {
  margin: 0;
  color: #52627a;
  font-size: 0.84rem;
  font-weight: 780;
  line-height: 1.38;
}

.booking-recovery-card.ready {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.booking-recovery-card.ready span {
  color: #067647;
  background: #dcfce7;
}

.booking-recovery-card.pending {
  border-color: #fde68a;
  background: #fffbeb;
}

.booking-recovery-card.pending span {
  color: #92400e;
  background: #fef3c7;
}

.booking-recovery-card.failed {
  border-color: #fecaca;
  background: #fff5f5;
}

.booking-recovery-card.failed span {
  color: #991b1b;
  background: #fee2e2;
}

.booking-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-self: end;
}

.booking-recovery-actions button {
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  padding: 0 10px;
  color: #ffffff;
  background: #0f6fff;
  font-size: 0.78rem;
  font-weight: 900;
}

.voucher-download-row,
.voucher-upload-form {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
}

.voucher-download-row {
  grid-template-columns: max-content 1fr;
  align-items: center;
}

.voucher-download-row span {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
}

.voucher-upload-form {
  border: 1px solid #d7e6f8;
  border-radius: 10px;
  padding: 14px;
  background: #f8fbff;
}

.voucher-upload-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 900;
}

.voucher-upload-form input[type="file"] {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.voucher-send-toggle {
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--ink);
}

.voucher-manual-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 4px 0 20px;
  border: 1px solid #bfe8d8;
  border-radius: 10px;
  padding: 14px;
  background: #f1fbf6;
}

.voucher-manual-actions strong {
  color: #0a5d45;
  font-size: 0.96rem;
}

.voucher-manual-actions p {
  margin: 5px 0 0;
  color: #45615a;
  font-size: 0.84rem;
  font-weight: 800;
}

.voucher-manual-actions button {
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  padding: 0 16px;
  color: #fff;
  background: #0b8f6d;
  font-weight: 900;
}

.voucher-upload-form button {
  width: max-content;
  border-color: #0b8f6d;
  color: #fff;
  background: #0b8f6d;
}

.booking-document-list li {
  align-items: flex-start;
}

.booking-detail-timeline {
  margin-top: 8px;
}

.admin-history-log {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-history-log li {
  display: grid;
  gap: 5px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbff;
}

.admin-history-log strong {
  color: #074fae;
  font-size: 0.78rem;
}

.admin-history-log span {
  color: var(--ink);
  font-weight: 780;
  line-height: 1.45;
}

.b2b-form {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.b2b-service-picker {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  margin: 0;
  padding: 16px;
}

.b2b-service-picker legend {
  color: #7a560a;
  font-size: 0.78rem;
  font-weight: 950;
  padding: 0 8px;
  text-transform: uppercase;
}

.b2b-service-picker label {
  align-items: center;
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 999px;
  color: #102a4c;
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 850;
  gap: 8px;
  min-height: 38px;
  padding: 8px 12px;
  text-transform: none;
}

.b2b-service-picker input {
  accent-color: #0f6fff;
  min-height: auto;
}

.b2b-service-picker textarea {
  width: 100%;
  min-height: 74px;
  border: 1px solid #d7e6f8;
  border-radius: 10px;
  padding: 9px 10px;
  color: #102a4c;
  background: #fff;
  font: inherit;
  font-weight: 800;
  line-height: 1.35;
  resize: vertical;
}

.b2b-website-basics {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.b2b-website-basics label {
  border-radius: 12px;
}

.b2b-website-wide {
  grid-column: 1 / -1;
}

.b2b-markup-picker label {
  border-radius: 12px;
  justify-content: space-between;
}

.b2b-markup-picker input[type="number"] {
  border: 1px solid #d7e6f8;
  border-radius: 10px;
  color: #102a4c;
  font: inherit;
  font-weight: 900;
  min-height: 34px;
  padding: 6px 8px;
  width: 82px;
}

.b2b-card {
  border-color: #d8b66a;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 58%, #fff8e8 100%);
}

.b2b-command-center,
.b2b-control-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-command-center {
  margin: 18px 0;
}

.b2b-command-center article,
.b2b-control-grid div {
  background:
    linear-gradient(135deg, rgba(15, 111, 255, 0.08), transparent 58%),
    #fff;
  border: 1px solid #d7e6f8;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(15, 52, 96, 0.06);
  display: grid;
  gap: 7px;
  padding: 16px;
}

.b2b-command-center span,
.b2b-control-grid span {
  color: #7b5a14;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-command-center strong,
.b2b-control-grid strong {
  color: #102a4c;
  font-size: 1.55rem;
  line-height: 1;
}

.b2b-command-center p,
.b2b-control-grid small {
  color: #5c6f87;
  font-size: 0.88rem;
  font-weight: 760;
  line-height: 1.35;
  margin: 0;
}

.partner-lane-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}

.lane-badge {
  border: 1px solid #d7e6f8;
  border-radius: 999px;
  background: #f7fbff;
  color: #102a4c;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  padding: 6px 9px;
  text-transform: uppercase;
}

.lane-admin {
  background: #eef6ff;
  color: #074fae;
}

.lane-b2b {
  background: #f0fdf4;
  color: #047857;
}

.lane-white-label {
  background: #fff8e8;
  color: #7b5a14;
}

.b2b-control-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  margin: 16px 0;
}

.b2b-control-grid div {
  box-shadow: none;
  padding: 14px;
}

.b2b-control-grid strong {
  font-size: 1.22rem;
}

.b2b-edit {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
}

.b2b-edit-services {
  grid-template-columns: repeat(3, minmax(110px, 1fr));
}

.b2b-edit label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.b2b-edit input,
.b2b-edit select {
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  color: var(--ink);
  font: inherit;
  font-weight: 780;
  min-height: 40px;
  padding: 9px 11px;
}

.b2b-brand-preview {
  align-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--partner-color) 10%, #fff), #fffaf0);
  border: 1px solid color-mix(in srgb, var(--partner-accent) 38%, #ffffff);
  border-radius: 10px;
  display: flex;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
}

.b2b-brand-preview img,
.b2b-brand-preview > span {
  align-items: center;
  background: var(--partner-color);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-weight: 950;
  height: 48px;
  justify-content: center;
  object-fit: contain;
  width: 68px;
}

.b2b-brand-preview img {
  background: #fff;
  border: 1px solid #e6edf7;
  padding: 5px;
}

.b2b-brand-preview strong {
  color: var(--ink);
  display: block;
  font-size: 0.95rem;
}

.b2b-brand-preview small {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 750;
  margin-top: 3px;
}

.b2b-ticket-list {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.b2b-ticket-card {
  border-left: 5px solid #d8b66a;
}

.partner-ticket-card {
  background: linear-gradient(135deg, #ffffff, #f8fbff);
  border: 1px solid #d7e6f8;
  border-left: 5px solid var(--partner-brand-color, #0f6fff);
  border-radius: 14px;
  padding: 16px;
}

.partner-ticket-card h3 {
  color: var(--ink);
  font-size: 1rem;
  margin: 8px 0 4px;
}

.b2b-ticket-message {
  background: #f8fbff;
  border: 1px solid #d7e6f8;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 720;
  line-height: 1.45;
  margin: 14px 0 0;
  padding: 12px;
  white-space: pre-wrap;
}

.b2b-ticket-controls {
  grid-template-columns: minmax(180px, 260px);
}

.b2b-profile-panel {
  border-top: 4px solid var(--partner-brand-color, #0f6fff);
}

.b2b-profile-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-profile-grid article {
  background: linear-gradient(135deg, #f8fbff, #ffffff);
  border: 1px solid #d7e6f8;
  border-radius: 10px;
  padding: 16px;
}

.b2b-profile-grid span {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.b2b-profile-grid strong {
  color: var(--ink);
  display: block;
  font-size: 1.05rem;
  margin-top: 7px;
}

.b2b-profile-grid p {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 720;
  margin: 6px 0 0;
}

.b2b-agency-booking {
  border-left: 5px solid var(--partner-brand-color, #0f6fff);
}

.b2b-portal-hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--partner-brand-color, #0f6fff) 12%, #fff), #fffaf0),
    #fff;
  border-color: color-mix(in srgb, var(--partner-accent-color, #c99a3f) 38%, #d7e6f8);
}

.b2b-primary-link {
  align-items: center;
  background: var(--partner-brand-color, #0f6fff);
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-weight: 950;
  min-height: 44px;
  padding: 0 18px;
  text-decoration: none;
}

.b2b-portal-tabs {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(15, 111, 255, 0.08);
  display: flex;
  gap: 8px;
  margin: 18px 0;
  overflow: auto;
  padding: 8px;
}

.b2b-portal-tabs button {
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: var(--muted);
  cursor: pointer;
  flex: 1 0 auto;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 900;
  min-height: 46px;
  padding: 0 18px;
}

.b2b-portal-tabs button.active {
  background: linear-gradient(135deg, var(--partner-brand-color, #0f6fff), #0d55c8);
  color: #fff;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--partner-brand-color, #0f6fff) 25%, transparent);
}

.b2b-portal-panel.is-hidden {
  display: none;
}

.b2b-cockpit-panel {
  border-top: 4px solid var(--partner-accent-color, #c99a3f);
  margin-bottom: 18px;
}

.b2b-cockpit-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.b2b-service-cockpit {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-service-cockpit a {
  background: linear-gradient(135deg, #ffffff, #f6faff);
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(15, 111, 255, 0.07);
  color: var(--ink);
  display: grid;
  gap: 7px;
  min-height: 132px;
  padding: 16px;
  text-decoration: none;
}

.b2b-service-cockpit span {
  color: var(--partner-brand-color, #0f6fff);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.b2b-service-cockpit strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.25;
}

.b2b-service-cockpit small {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 720;
  line-height: 1.45;
}

.b2b-credit-cockpit {
  background: linear-gradient(135deg, #fffaf0, #ffffff);
  border: 1px solid color-mix(in srgb, var(--partner-accent-color, #c99a3f) 45%, #d7e6f8);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(201, 154, 63, 0.14);
  padding: 18px;
}

.b2b-credit-cockpit > span {
  color: #8a650d;
  display: block;
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.b2b-credit-cockpit h3 {
  color: var(--ink);
  font-size: 1.15rem;
  margin: 8px 0 14px;
}

.b2b-credit-bar {
  background: #e9f2ff;
  border-radius: 999px;
  height: 11px;
  margin-bottom: 16px;
  overflow: hidden;
}

.b2b-credit-bar i {
  background: linear-gradient(90deg, var(--partner-brand-color, #0f6fff), var(--partner-accent-color, #c99a3f));
  display: block;
  height: 100%;
  min-width: 2px;
  transition: width 0.25s ease;
  width: 0;
}

.b2b-credit-cockpit dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.b2b-credit-cockpit dl div {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.b2b-credit-cockpit dt {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
}

.b2b-credit-cockpit dd {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 950;
  margin: 0;
  text-align: right;
}

.b2b-credit-cockpit button {
  background: var(--partner-brand-color, #0f6fff);
  border: 0;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 950;
  margin-top: 16px;
  min-height: 44px;
  width: 100%;
}

.b2b-wallet-panel {
  overflow: hidden;
}

.b2b-wallet-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
}

.b2b-wallet-summary article {
  min-height: 142px;
  padding: 20px;
  border: 1px solid #cfe0f4;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff, #f2f8ff);
  box-shadow: 0 14px 32px rgba(20, 66, 120, 0.08);
}

.b2b-wallet-summary span,
.b2b-wallet-summary p {
  color: #61738d;
}

.b2b-wallet-summary strong {
  display: block;
  margin: 10px 0 8px;
  color: #082d61;
  font-size: clamp(1.45rem, 2vw, 2.15rem);
}

.b2b-wallet-summary p {
  margin: 0;
  line-height: 1.45;
}

.b2b-wallet-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #8edfd2;
  border-radius: 16px;
  background: #ebfffb;
  color: #0a5b55;
}

.b2b-wallet-notice p {
  margin: 0;
}

.b2b-topup-workspace {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #c9dcef;
  border-radius: 20px;
  background: #f8fbff;
  outline: none;
}

.b2b-topup-workspace:focus {
  box-shadow: 0 0 0 4px rgba(15, 111, 255, 0.13);
}

.b2b-topup-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
  gap: 24px;
  align-items: end;
}

.b2b-topup-intro p,
.b2b-topup-intro h3 {
  margin: 0;
}

.b2b-topup-intro > div > p {
  color: #087a61;
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.b2b-topup-intro h3 {
  margin-top: 5px;
  color: #082d61;
}

.b2b-topup-intro > p {
  color: #61738d;
  line-height: 1.55;
}

.b2b-online-topup {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 20px;
  align-items: center;
  margin-top: 18px;
  padding: 20px;
  border: 1px solid #83d8ca;
  border-radius: 18px;
  background: linear-gradient(135deg, #eafff9 0%, #eef6ff 100%);
}

.b2b-online-topup-copy span,
.b2b-manual-topup-heading span {
  color: #087a61;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.b2b-online-topup h4,
.b2b-online-topup p,
.b2b-manual-topup-heading h4,
.b2b-manual-topup-heading p {
  margin: 5px 0 0;
}

.b2b-online-topup h4,
.b2b-manual-topup-heading h4 {
  color: #082d61;
  font-size: 1.2rem;
}

.b2b-online-topup p,
.b2b-manual-topup-heading p {
  color: #536d8d;
  line-height: 1.5;
}

.b2b-online-topup small {
  display: block;
  margin-top: 9px;
  font-weight: 800;
}

.b2b-online-topup small.is-available { color: #087443; }
.b2b-online-topup small.is-unavailable { color: #a34614; }

.b2b-online-topup form {
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid #b9d8e8;
  border-radius: 14px;
  background: #fff;
}

.b2b-online-topup label {
  color: #264a74;
  font-size: .84rem;
  font-weight: 900;
}

.b2b-online-topup input {
  width: 100%;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid #9fc7e4;
  border-radius: 11px;
  color: #102b50;
  font: inherit;
}

.b2b-online-topup button {
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, #087a61, #0f6fff);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.b2b-online-topup button:disabled {
  cursor: not-allowed;
  opacity: .62;
}

.b2b-manual-topup-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
  gap: 20px;
  align-items: end;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #d8e5f1;
}

.b2b-topup-grid {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.4fr);
  gap: 16px;
  margin-top: 18px;
}

.b2b-deposit-instructions,
.b2b-topup-form {
  padding: 18px;
  border: 1px solid #d5e2f1;
  border-radius: 16px;
  background: #fff;
}

.b2b-deposit-instructions > span {
  color: #264a74;
  font-weight: 900;
}

.b2b-deposit-instructions section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e4edf7;
}

.b2b-deposit-instructions p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 0;
  color: #61738d;
}

.b2b-deposit-instructions b {
  color: #082d61;
  text-align: right;
  overflow-wrap: anywhere;
}

.b2b-deposit-instructions small {
  display: block;
  margin-top: 14px;
  color: #61738d;
  line-height: 1.5;
}

.b2b-topup-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.b2b-topup-account-type {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #b9d2ef;
  border-radius: 12px;
  background: #eef7ff;
  color: #082d61;
}

.b2b-topup-account-type small {
  grid-column: 2;
  color: #61738d;
}

.b2b-topup-radio {
  grid-row: 1 / 3;
  width: 16px;
  height: 16px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0f6fff;
  box-shadow: 0 0 0 2px #0f6fff;
}

.b2b-topup-form label {
  color: #264a74;
  font-size: .84rem;
  font-weight: 900;
}

.b2b-topup-form input,
.b2b-topup-form select,
.b2b-topup-form textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid #b9d2ef;
  border-radius: 11px;
  background: #fff;
  color: #102b50;
  font: inherit;
}

.b2b-topup-form input[type="file"] {
  padding: 10px;
  background: #f8fbff;
}

.b2b-topup-proof small {
  display: block;
  margin-top: 7px;
  color: #61738d;
  font-weight: 700;
  line-height: 1.45;
}

.b2b-topup-form textarea {
  min-height: 82px;
  resize: vertical;
}

.b2b-topup-form button {
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  background: #0f6fff;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.b2b-topup-form button:disabled {
  cursor: wait;
  opacity: .65;
}

.b2b-topup-wide {
  grid-column: 1 / -1;
}

.b2b-topup-history {
  margin-top: 18px;
}

.b2b-topup-history h3 {
  margin: 0 0 10px;
}

#b2bTopUpList {
  display: grid;
  gap: 10px;
}

.b2b-topup-card {
  display: grid;
  grid-template-columns: minmax(170px, .5fr) minmax(0, 1.5fr);
  gap: 14px;
  padding: 15px;
  border: 1px solid #d5e2f1;
  border-radius: 14px;
  background: #fff;
}

.b2b-topup-card > div > strong {
  display: block;
  margin-top: 8px;
  color: #082d61;
  font-size: 1.25rem;
}

.b2b-topup-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.b2b-topup-card dt {
  color: #61738d;
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.b2b-topup-card dd {
  margin: 4px 0 0;
  color: #102b50;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.b2b-topup-card > p {
  grid-column: 1 / -1;
  margin: 0;
  color: #4e6481;
}

.b2b-topup-review-list {
  display: grid;
  gap: 10px;
}

.b2b-wallet-topup-review {
  grid-template-columns: 1fr;
}

.b2b-wallet-topup-review .b2b-topup-review-list {
  grid-column: 1 / -1;
}

.b2b-topup-review {
  padding: 12px;
  border: 1px solid #d5e2f1;
  border-radius: 12px;
  background: #fff;
}

.b2b-topup-review p {
  margin: 5px 0;
  overflow-wrap: anywhere;
}

.b2b-topup-review .actions {
  margin-top: 10px;
}

.b2b-ledger-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin: 28px 0 12px;
}

.b2b-ledger-head p,
.b2b-ledger-head h3 {
  margin: 0;
}

.b2b-ledger-head p {
  color: #1774dc;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.b2b-ledger-head button {
  border: 1px solid #b9d2ef;
  border-radius: 12px;
  background: #fff;
  color: #0b5fbd;
  padding: 11px 16px;
  font-weight: 800;
  cursor: pointer;
}

.b2b-ledger-table-wrap {
  overflow-x: auto;
  border: 1px solid #d5e2f1;
  border-radius: 16px;
}

.b2b-ledger-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  background: #fff;
}

.b2b-ledger-table th,
.b2b-ledger-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #e6edf6;
  text-align: left;
  vertical-align: top;
}

.b2b-ledger-table th {
  background: #edf5ff;
  color: #264a74;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.b2b-ledger-table td:last-child {
  white-space: nowrap;
  font-weight: 900;
}

.b2b-ledger-table td.credit { color: #087a61; }
.b2b-ledger-table td.debit { color: #b53b43; }

@media (max-width: 980px) {
  .b2b-wallet-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b2b-online-topup { grid-template-columns: 1fr; }
  .b2b-topup-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .b2b-wallet-summary { grid-template-columns: 1fr; }
  .b2b-wallet-notice { grid-template-columns: 1fr; }
  .b2b-ledger-head { align-items: stretch; flex-direction: column; }
  .b2b-topup-workspace { padding: 14px; }
  .b2b-topup-intro,
  .b2b-online-topup,
  .b2b-manual-topup-heading,
  .b2b-topup-form,
  .b2b-topup-card { grid-template-columns: 1fr; }
  .b2b-topup-wide,
  .b2b-topup-card > p { grid-column: auto; }
  .b2b-topup-card dl { grid-template-columns: 1fr; }
}

.b2b-launch-grid,
.b2b-report-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.b2b-report-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-launch-grid article,
.b2b-report-grid article,
.b2b-service-breakdown article,
.b2b-preview-card {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(15, 111, 255, 0.07);
  padding: 18px;
}

.b2b-launch-grid article > span {
  align-items: center;
  background: #fff7df;
  border: 1px solid color-mix(in srgb, var(--partner-accent-color, #c99a3f) 48%, #fff);
  border-radius: 999px;
  color: #8a650d;
  display: inline-flex;
  font-weight: 950;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.b2b-launch-grid h3,
.b2b-service-breakdown strong {
  color: var(--ink);
  font-size: 1.08rem;
  margin: 12px 0 6px;
}

.b2b-launch-grid p,
.b2b-service-breakdown p,
.b2b-preview-card p {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 720;
  margin: 0;
}

.b2b-launch-grid a,
.b2b-launch-grid button {
  background: transparent;
  border: 0;
  color: var(--partner-brand-color, #0f6fff);
  cursor: pointer;
  display: inline-block;
  font: inherit;
  font-weight: 950;
  margin-top: 12px;
  padding: 0;
  text-decoration: none;
}

.b2b-setup-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-builder-workspace > .b2b-setup-grid {
  grid-template-columns: 1fr;
}

.b2b-builder-shell {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: 230px minmax(0, 1fr);
  margin-top: 18px;
}

.b2b-builder-nav {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 8px;
  padding: 10px;
  position: sticky;
  top: 16px;
  z-index: 2;
}

.b2b-builder-nav button {
  align-items: center;
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 900;
  justify-content: space-between;
  min-height: 42px;
  padding: 9px 10px;
  text-align: left;
}

.b2b-builder-nav button::after {
  color: #7890ad;
  content: attr(data-progress);
  font-size: 0.68rem;
  font-weight: 950;
  margin-left: 8px;
}

.b2b-builder-nav button.active,
.b2b-builder-nav button:hover {
  background: var(--partner-brand-color, #0f6fff);
  border-color: var(--partner-brand-color, #0f6fff);
  color: #fff;
}

.b2b-builder-nav button.active::after,
.b2b-builder-nav button:hover::after {
  color: rgba(255, 255, 255, 0.82);
}

.b2b-builder-nav button.complete:not(.active) {
  border-color: color-mix(in srgb, var(--partner-brand-color, #0f6fff) 30%, #dbe9fa);
  color: var(--ink);
}

.b2b-builder-workspace {
  min-width: 0;
}

.white-label-dashboard-page .b2b-builder-shell {
  grid-template-columns: 220px minmax(0, 1fr) 360px;
}

.white-label-dashboard-page.b2b-builder-style-focus .b2b-builder-shell,
.white-label-dashboard-page.b2b-builder-api-focus .b2b-builder-shell {
  grid-template-columns: 220px minmax(0, 1fr);
}

.white-label-dashboard-page.b2b-builder-style-focus .b2b-live-preview,
.white-label-dashboard-page.b2b-builder-api-focus .b2b-live-preview {
  display: none;
}

.b2b-live-preview {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(16, 40, 74, 0.08);
  display: grid;
  gap: 12px;
  padding: 14px;
  position: sticky;
  top: 16px;
}

.b2b-live-preview-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.b2b-live-preview-head p {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  margin: 0 0 4px;
  text-transform: uppercase;
}

.b2b-live-preview-head strong {
  color: var(--ink);
  display: block;
  font-size: 0.95rem;
  line-height: 1.2;
}

.b2b-preview-mode {
  display: inline-flex;
  gap: 6px;
}

.b2b-preview-mode button {
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 999px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 900;
  min-height: 32px;
  padding: 0 10px;
}

.b2b-preview-mode button.active {
  background: var(--partner-brand-color, #0f6fff);
  border-color: var(--partner-brand-color, #0f6fff);
  color: #fff;
}

.b2b-live-preview-frame {
  --preview-brand: var(--partner-brand-color, #0f6fff);
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 14px;
  color: var(--ink);
  display: grid;
  gap: 12px;
  max-height: 720px;
  overflow: auto;
  padding: 12px;
  transition: max-width 0.2s ease;
}

.b2b-live-preview-frame.mobile {
  margin-inline: auto;
  max-width: 250px;
}

.b2b-live-preview-frame header,
.b2b-live-preview-frame footer,
.b2b-live-hero,
.b2b-live-content article {
  background: #fff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  padding: 12px;
}

.b2b-live-preview-frame header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

#b2bLivePreviewLogo {
  align-items: center;
  background: var(--preview-brand);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 950;
  height: 38px;
  justify-content: center;
  overflow: hidden;
  width: 54px;
}

#b2bLivePreviewLogo img {
  background: #fff;
  height: 100%;
  object-fit: contain;
  padding: 4px;
  width: 100%;
}

.b2b-live-preview-frame nav {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.b2b-live-preview-frame nav b,
.b2b-live-services span {
  background: #eef6ff;
  border-radius: 999px;
  color: #32547c;
  font-size: 0.66rem;
  font-weight: 900;
  padding: 5px 7px;
}

.b2b-live-hero {
  background: linear-gradient(135deg, #fff, #f5f9ff);
  border-top: 4px solid var(--preview-brand);
}

.b2b-live-hero small,
.b2b-live-hero em,
.b2b-live-content span {
  color: var(--preview-brand);
  display: block;
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-live-hero h3,
.b2b-live-content h4 {
  color: var(--ink);
  line-height: 1.08;
  margin: 8px 0;
}

.b2b-live-hero p,
.b2b-live-content p,
.b2b-live-preview-frame footer p {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
  line-height: 1.45;
  margin: 0;
}

.b2b-live-hero div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.b2b-live-hero button {
  background: var(--preview-brand);
  border: 1px solid var(--preview-brand);
  border-radius: 999px;
  color: #fff;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 950;
  min-height: 34px;
  padding: 0 12px;
}

.b2b-live-hero button + button {
  background: #fff;
  color: var(--preview-brand);
}

.b2b-live-services {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.b2b-page-editor {
  display: grid;
  gap: 12px;
}

.b2b-page-editor article {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  padding: 14px;
}

.b2b-page-editor article label:last-child {
  grid-column: 1 / -1;
}

.b2b-page-preview-button {
  align-self: end;
  background: var(--partner-brand-color, #0f6fff);
  border: 1px solid var(--partner-brand-color, #0f6fff);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 950;
  min-height: 38px;
  padding: 0 12px;
}

.white-label-page-menu {
  display: contents;
}

.b2b-live-pages {
  display: grid;
  gap: 8px;
}

.b2b-live-pages article {
  background: #fff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  display: grid;
  gap: 4px;
  padding: 10px;
}

.b2b-live-pages span {
  color: var(--preview-brand);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-live-pages strong {
  color: var(--ink);
  font-size: 0.82rem;
  line-height: 1.2;
}

.b2b-live-pages p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1.35;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.b2b-live-content {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-live-preview-frame.mobile header,
.b2b-live-preview-frame.mobile .b2b-live-content {
  grid-template-columns: 1fr;
}

.b2b-live-preview-frame.mobile header {
  align-items: flex-start;
  flex-direction: column;
}

.b2b-live-preview-frame.wl-preview-template-premium .b2b-live-hero,
.b2b-live-preview-frame.wl-preview-template-cruise .b2b-live-hero {
  background: linear-gradient(135deg, #142038, #fff6df);
}

.b2b-live-preview-frame.wl-preview-template-premium .b2b-live-hero h3,
.b2b-live-preview-frame.wl-preview-template-premium .b2b-live-hero p,
.b2b-live-preview-frame.wl-preview-template-premium .b2b-live-hero small,
.b2b-live-preview-frame.wl-preview-template-premium .b2b-live-hero em,
.b2b-live-preview-frame.wl-preview-template-cruise .b2b-live-hero h3,
.b2b-live-preview-frame.wl-preview-template-cruise .b2b-live-hero p,
.b2b-live-preview-frame.wl-preview-template-cruise .b2b-live-hero small,
.b2b-live-preview-frame.wl-preview-template-cruise .b2b-live-hero em {
  color: #fff;
}

.b2b-live-preview-frame.wl-preview-template-corporate {
  background: #eef5ff;
}

.b2b-live-preview-frame.wl-preview-template-family .b2b-live-hero {
  background: linear-gradient(135deg, #fff, #fff4dc);
}

.b2b-live-preview-frame.wl-preview-template-adventure .b2b-live-hero {
  background: linear-gradient(135deg, #ecfff8, #e8f3ff);
}

.b2b-live-preview-frame.wl-preview-template-visa .b2b-live-content article:first-child,
.b2b-live-preview-frame.wl-preview-template-corporate .b2b-live-content article:last-child {
  border-color: color-mix(in srgb, var(--preview-brand) 35%, #dbe9fa);
}

.b2b-live-preview-frame.wl-preview-template-hotel .b2b-live-services {
  border-top: 4px solid #c99a3f;
  padding-top: 10px;
}

.b2b-live-preview-frame.wl-preview-template-flight header {
  border-bottom: 4px solid var(--preview-brand);
}

.b2b-live-preview-frame.wl-preview-template-forex .b2b-live-services span {
  background: #e9fbf8;
  color: #08786f;
}

.b2b-builder-section {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(16, 40, 74, 0.05);
  display: none;
  gap: 14px;
  padding: 16px;
  scroll-margin-top: 18px;
}

.b2b-builder-section.is-active {
  display: grid;
}

.b2b-builder-section + .b2b-builder-section {
  margin-top: 16px;
}

.b2b-builder-section-head {
  border-bottom: 1px solid #e2edf9;
  padding-bottom: 12px;
}

.b2b-builder-section-head span {
  color: var(--ink);
  display: block;
  font-size: 1.02rem;
  font-weight: 950;
}

.b2b-builder-section-head p {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 760;
  line-height: 1.45;
  margin: 6px 0 0;
}

.b2b-builder-section-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-white-label-status-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 18px;
}

.b2b-white-label-status-grid article {
  background: linear-gradient(135deg, #fff, #f5f9ff);
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  padding: 16px;
}

.b2b-white-label-status-grid span,
.b2b-service-switches legend,
.b2b-section-switches legend,
.b2b-markup-grid legend {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-white-label-status-grid strong {
  color: var(--ink);
  display: block;
  font-size: 1.25rem;
  margin-top: 6px;
  text-transform: capitalize;
}

.b2b-white-label-status-grid p {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
  margin: 4px 0 0;
}

.b2b-launch-readiness {
  background: linear-gradient(135deg, #f7fbff, #fffaf0);
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  display: grid;
  gap: 16px;
  margin: 18px 0;
  padding: 20px;
}

.b2b-launch-readiness p,
.b2b-launch-readiness span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.b2b-launch-readiness h3 {
  color: var(--ink);
  font-size: 1.45rem;
  margin: 4px 0;
}

.b2b-launch-checklist {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.b2b-launch-checklist article {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  display: grid;
  gap: 5px;
  padding: 13px;
}

.b2b-launch-checklist article.ready {
  border-color: #b7e3c9;
  box-shadow: inset 4px 0 0 #21a366;
}

.b2b-launch-checklist article.pending {
  border-color: #f0d4aa;
  box-shadow: inset 4px 0 0 #c9831a;
}

.b2b-launch-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.b2b-launch-actions button {
  background: var(--partner-brand-color, #0f6fff);
  border: 1px solid var(--partner-brand-color, #0f6fff);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 950;
  min-height: 42px;
  padding: 0 14px;
}

.b2b-launch-actions button + button {
  background: #102a4c;
  border-color: #102a4c;
}

.b2b-launch-actions button:disabled {
  background: #edf3fa;
  border-color: #d7e6f8;
  color: #8292a8;
  cursor: not-allowed;
}

.b2b-launch-actions span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.b2b-launch-queue {
  display: grid;
  gap: 14px;
}

.white-label-launch-card {
  border-left: 5px solid var(--partner-brand-color, #0f6fff);
}

.white-label-launch-card .actions {
  align-items: center;
}

.white-label-launch-card textarea {
  min-height: 92px;
}

.b2b-dns-admin-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}

.b2b-dns-admin-grid article {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  display: grid;
  gap: 7px;
  padding: 12px;
}

.b2b-dns-admin-grid span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-dns-record-card code,
.b2b-dns-admin-grid code {
  overflow-wrap: anywhere;
}

.b2b-dns-admin-grid button {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 9px;
  color: var(--partner-brand-color, #0f6fff);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 950;
  min-height: 34px;
}

.b2b-page-review-panel {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 14px;
}

.b2b-page-review-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.b2b-page-review-head span,
.b2b-page-review-grid span {
  color: var(--muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-page-review-head strong,
.b2b-page-review-grid strong {
  color: var(--ink);
  display: block;
  font-weight: 950;
  line-height: 1.2;
  margin-top: 4px;
}

.b2b-page-review-head a,
.b2b-page-review-meta a {
  background: var(--partner-brand-color, #0f6fff);
  border-radius: 999px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 950;
  padding: 9px 12px;
  text-decoration: none;
  white-space: nowrap;
}

.b2b-page-review-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-page-review-grid article {
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.b2b-page-review-grid article.is-muted {
  opacity: 0.62;
}

.b2b-page-review-grid p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.82rem;
  font-weight: 720;
  line-height: 1.45;
  margin: 7px 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.b2b-page-review-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.b2b-page-review-meta small {
  background: #eef6ff;
  border-radius: 999px;
  color: #32547c;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 6px 9px;
}

.b2b-page-review-meta a {
  background: #fff;
  border: 1px solid var(--partner-brand-color, #0f6fff);
  color: var(--partner-brand-color, #0f6fff);
  padding: 6px 10px;
}

.status.ready,
.status.review {
  background: #fff7df;
  color: #8a5c00;
}

.status.published,
.status.live {
  background: #e6f7ed;
  color: #176b3a;
}

.status.draft,
.status.paused {
  background: #eef2f7;
  color: #52657d;
}

.b2b-launch-checklist strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.b2b-api-domain-panel {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 52, 96, 0.06);
  display: grid;
  gap: 16px;
  margin: 18px 0;
  padding: 20px;
}

.b2b-api-domain-head {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.b2b-api-domain-head p,
.b2b-api-domain-grid span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.b2b-api-domain-head h3 {
  color: var(--ink);
  font-size: 1.35rem;
  margin: 5px 0 0;
}

.b2b-api-domain-head button,
.b2b-api-domain-grid button {
  background: var(--partner-brand-color, #0f6fff);
  border: 1px solid var(--partner-brand-color, #0f6fff);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  min-height: 42px;
  padding: 0 14px;
}

.b2b-api-domain-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-api-domain-grid article {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 8px;
  padding: 14px;
}

.b2b-api-domain-grid strong,
.b2b-api-domain-grid code {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.b2b-api-domain-grid p {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 720;
  line-height: 1.45;
  margin: 0;
}

.b2b-api-domain-form {
  display: grid;
  gap: 12px;
  grid-template-columns: 0.45fr 1fr 1fr;
}

.b2b-api-domain-form label {
  color: var(--muted);
  display: grid;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 8px;
  text-transform: uppercase;
}

.b2b-api-domain-form label:first-child {
  align-items: center;
  display: flex;
  text-transform: none;
}

.b2b-api-domain-form input {
  border: 1px solid #cfe0f4;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  font-weight: 760;
  min-height: 44px;
  padding: 10px 12px;
}

.b2b-api-domain-form input[type="checkbox"] {
  accent-color: var(--partner-brand-color, #0f6fff);
  min-height: auto;
  width: 18px;
}

#b2bApiDocsSnippet {
  background: #0f172a;
  border-radius: 14px;
  color: #dbeafe;
  font-size: 0.82rem;
  line-height: 1.5;
  margin: 0;
  overflow: auto;
  padding: 16px;
  white-space: pre-wrap;
}

.b2b-setup-grid label {
  color: var(--muted);
  display: grid;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 8px;
  text-transform: uppercase;
}

.b2b-setup-grid input,
.b2b-setup-grid select,
.b2b-setup-grid textarea {
  background: #fff;
  border: 1px solid #cfe0f4;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 760;
  min-height: 46px;
  padding: 10px 12px;
}

.b2b-setup-grid textarea {
  line-height: 1.35;
  min-height: 88px;
  resize: vertical;
}

.b2b-setup-grid input[type="color"] {
  min-height: 46px;
  padding: 6px;
}

.b2b-setup-grid select {
  cursor: pointer;
}

.b2b-template-gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-builder-style-focus .b2b-template-gallery {
  gap: 22px;
  grid-template-columns: 1fr;
}

.b2b-template-gallery button {
  background: linear-gradient(180deg, #ffffff 0, #f7fbff 100%);
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 7px;
  min-height: 250px;
  padding: 14px;
  text-align: left;
}

.b2b-builder-style-focus .b2b-template-gallery button {
  align-items: start;
  gap: 10px;
  min-height: 760px;
  padding: 18px;
}

.b2b-template-gallery button.active {
  border-color: var(--partner-brand-color, #0f6fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--partner-brand-color, #0f6fff) 16%, transparent);
}

.b2b-template-gallery span {
  color: var(--partner-brand-color, #0f6fff);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.b2b-builder-style-focus .b2b-template-gallery span {
  font-size: 0.84rem;
}

.b2b-template-gallery strong {
  font-size: 0.96rem;
  line-height: 1.1;
}

.b2b-builder-style-focus .b2b-template-gallery strong {
  font-size: 1.35rem;
}

.b2b-template-gallery small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 760;
  line-height: 1.35;
}

.b2b-builder-style-focus .b2b-template-gallery small {
  font-size: 0.92rem;
  max-width: 820px;
}

.b2b-template-gallery mark {
  align-self: end;
  background: #eef6ff;
  border-radius: 999px;
  color: var(--partner-brand-color, #0f6fff);
  font-size: 0.72rem;
  font-weight: 950;
  padding: 7px 10px;
  width: fit-content;
}

.b2b-template-card-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.b2b-template-card-actions span {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 999px;
  color: #102a4c;
  font-size: 0.72rem;
  font-weight: 950;
  padding: 7px 10px;
  text-transform: none;
}

.b2b-builder-style-focus .b2b-template-card-actions {
  justify-content: flex-start;
}

.b2b-builder-style-focus .b2b-template-card-actions span {
  background: #102a4c;
  border-color: #102a4c;
  color: #fff;
}

.b2b-template-gallery button.active mark {
  background: var(--partner-brand-color, #0f6fff);
  color: #fff;
}

.b2b-home-style-live {
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  height: 340px;
  overflow: hidden;
  position: relative;
}

.b2b-builder-style-focus .b2b-home-style-live {
  height: 610px;
  width: 100%;
}

.b2b-home-style-live iframe {
  border: 0;
  height: 1900px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: scale(0.18);
  transform-origin: top left;
  width: 1500px;
}

.b2b-builder-style-focus .b2b-home-style-live iframe {
  height: 1500px;
  transform: scale(0.58);
  width: 1500px;
}

.b2b-style-preview-open {
  overflow: hidden;
}

.b2b-style-fullscreen {
  background: #f3f7fc;
  display: grid;
  grid-template-rows: auto 1fr;
  inset: 0;
  position: fixed;
  z-index: 1000;
}

.b2b-style-fullscreen[hidden] {
  display: none;
}

.b2b-style-fullscreen-bar {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #d7e6f8;
  box-shadow: 0 10px 30px rgba(16, 40, 74, 0.08);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-height: 72px;
  padding: 12px 18px;
}

.b2b-style-fullscreen-bar span {
  color: var(--muted);
  display: block;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.b2b-style-fullscreen-bar strong {
  color: var(--ink);
  display: block;
  font-size: 1.15rem;
  margin-top: 3px;
}

.b2b-style-fullscreen-bar > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.b2b-style-visual-editor {
  align-items: end;
  display: grid;
  flex: 1 1 620px;
  gap: 8px;
  grid-template-columns: 110px repeat(3, minmax(150px, 1fr));
  max-width: 880px;
}

.b2b-style-visual-editor label {
  color: var(--muted);
  display: grid;
  font-size: 0.68rem;
  font-weight: 950;
  gap: 4px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.b2b-style-visual-editor input {
  border: 1px solid #d7e6f8;
  border-radius: 9px;
  color: var(--ink);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  min-height: 36px;
  min-width: 0;
  padding: 0 9px;
}

.b2b-style-visual-editor input[type="color"] {
  padding: 4px;
}

.b2b-style-fullscreen-bar button {
  background: var(--partner-brand-color, #0f6fff);
  border: 1px solid var(--partner-brand-color, #0f6fff);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  min-height: 44px;
  padding: 0 16px;
}

.b2b-style-fullscreen-bar button + button {
  background: #fff;
  color: var(--partner-brand-color, #0f6fff);
}

.b2b-style-fullscreen iframe {
  background: #fff;
  border: 0;
  height: 100%;
  width: 100%;
}

.b2b-style-fullscreen.mobile {
  background: #dfe7f2;
  justify-items: center;
}

.b2b-style-fullscreen.mobile #b2bStyleFullscreenFrame {
  border: 12px solid #111827;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(16, 40, 74, 0.28);
  height: calc(100vh - 118px);
  margin: 18px auto;
  max-width: 390px;
}

.b2b-style-fullscreen-bar [data-fullscreen-preview-mode].active {
  background: var(--partner-brand-color, #0f6fff);
  border-color: var(--partner-brand-color, #0f6fff);
  color: #fff;
}

.b2b-home-style-preview {
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  display: grid;
  gap: 8px;
  min-height: 132px;
  overflow: hidden;
  padding: 9px;
}

.b2b-home-style-preview i {
  background: linear-gradient(90deg, currentColor 0 28%, #e8f1fc 28% 100%);
  border-radius: 999px;
  color: var(--partner-brand-color, #0f6fff);
  display: block;
  height: 10px;
}

.b2b-home-style-preview section {
  background: linear-gradient(135deg, #fff, #eef6ff);
  border-radius: 10px;
  display: grid;
  gap: 5px;
  min-height: 54px;
  padding: 9px;
}

.b2b-home-style-preview b {
  color: #1c3557;
  font-size: 0.68rem;
}

.b2b-home-style-preview em {
  color: #6b819d;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
}

.b2b-home-style-preview nav,
.b2b-home-style-preview div {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-home-style-preview u,
.b2b-home-style-preview q,
.b2b-home-style-preview footer {
  background: #fff;
  border: 1px solid #dbe9fa;
  border-radius: 8px;
  display: block;
  min-height: 24px;
  text-decoration: none;
}

.b2b-home-style-preview q {
  min-height: 34px;
}

.b2b-home-style-preview q::before,
.b2b-home-style-preview q::after {
  content: "";
}

.b2b-home-style-preview div {
  grid-template-columns: 1.1fr 0.9fr;
}

.b2b-home-style-preview footer {
  min-height: 16px;
}

.b2b-home-style-premium section,
.b2b-home-style-cruise section {
  background: linear-gradient(135deg, #162033, #fff6df);
}

.b2b-home-style-premium b,
.b2b-home-style-premium em,
.b2b-home-style-cruise b,
.b2b-home-style-cruise em {
  color: #fff;
}

.b2b-home-style-corporate {
  background: #eef5ff;
}

.b2b-home-style-corporate nav {
  grid-template-columns: 1.2fr 1fr 1fr;
}

.b2b-home-style-family section {
  background: linear-gradient(135deg, #fff, #fff4dc);
}

.b2b-home-style-adventure section {
  background: linear-gradient(135deg, #ecfff8, #e8f3ff);
}

.b2b-home-style-visa div {
  grid-template-columns: 0.85fr 1.15fr;
}

.b2b-home-style-hotel section {
  border-top: 4px solid #c99a3f;
}

.b2b-home-style-flight nav {
  border-bottom: 3px solid var(--partner-brand-color, #0f6fff);
  padding-bottom: 5px;
}

.b2b-home-style-forex i {
  color: #0f9f95;
}

.b2b-setup-wide,
.b2b-preview-card,
.b2b-setup-actions,
.b2b-setup-grid .b2b-desk-message {
  grid-column: 1 / -1;
}

.b2b-builder-section-grid > .b2b-template-gallery,
.b2b-builder-section-grid > .b2b-service-switches,
.b2b-builder-section-grid > .b2b-section-switches,
.b2b-builder-section-grid > .b2b-markup-grid,
.b2b-builder-section-grid > .b2b-preview-card,
.b2b-builder-section-grid > .b2b-setup-actions,
.b2b-builder-section-grid > .b2b-desk-message,
.b2b-builder-section-grid > .b2b-setup-wide {
  grid-column: 1 / -1;
}

.b2b-service-switches,
.b2b-section-switches,
.b2b-markup-grid {
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 16px;
}

.b2b-service-switches {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-section-switches {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-service-switches legend,
.b2b-section-switches legend,
.b2b-markup-grid legend {
  padding: 0 8px;
}

.b2b-service-switches label,
.b2b-section-switches label {
  align-items: center;
  background: #f7fbff;
  border: 1px solid #dbe9fa;
  border-radius: 12px;
  color: var(--ink);
  display: flex;
  flex-direction: row;
  font-size: 0.88rem;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  text-transform: none;
}

.b2b-service-switches input,
.b2b-section-switches input {
  accent-color: var(--partner-brand-color, #0f6fff);
  min-height: auto;
  padding: 0;
  width: 18px;
}

.b2b-markup-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-markup-grid label {
  color: var(--ink);
  font-size: 0.82rem;
  text-transform: none;
}

.b2b-preview-card {
  align-items: center;
  display: flex;
  gap: 14px;
}

.b2b-preview-card > span {
  align-items: center;
  background: var(--partner-brand-color, #0f6fff);
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-weight: 950;
  height: 54px;
  justify-content: center;
  width: 54px;
}

.b2b-preview-card > span img {
  background: #fff;
  border-radius: 10px;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  width: 100%;
}

.b2b-preview-card strong {
  color: var(--ink);
  display: block;
  font-size: 1.05rem;
}

.b2b-setup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.b2b-setup-actions button {
  background: var(--partner-brand-color, #0f6fff);
  border: 1px solid var(--partner-brand-color, #0f6fff);
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  min-height: 48px;
  padding: 0 18px;
}

.b2b-setup-actions button + button {
  background: #fff;
  color: var(--partner-brand-color, #0f6fff);
}

.b2b-white-label-enquiries {
  margin-top: 18px;
}

.b2b-white-label-enquiry-list {
  display: grid;
  gap: 12px;
}

.b2b-white-label-enquiry-card {
  align-items: center;
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 14px;
  grid-template-columns: 1.2fr 1fr auto;
  padding: 16px;
}

.b2b-white-label-enquiry-card h3 {
  color: var(--ink);
  font-size: 1rem;
  margin: 8px 0 4px;
}

.b2b-white-label-enquiry-card p {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 720;
  margin: 0;
}

.b2b-white-label-enquiry-card dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.b2b-white-label-enquiry-card dt {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.b2b-white-label-enquiry-card dd {
  color: var(--ink);
  font-weight: 900;
  margin: 2px 0 0;
}

.b2b-white-label-enquiry-card a {
  background: var(--partner-brand-color, #0f6fff);
  border-radius: 999px;
  color: #fff;
  font-weight: 950;
  padding: 10px 16px;
  text-decoration: none;
}

.b2b-enquiry-detail {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 52, 96, 0.08);
  display: grid;
  gap: 18px;
  margin-top: 18px;
  padding: 22px;
}

.b2b-enquiry-detail-head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.b2b-enquiry-detail-head p,
.b2b-enquiry-detail-grid span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.b2b-enquiry-detail-head h3 {
  color: var(--ink);
  font-size: 1.35rem;
  margin: 5px 0;
}

.b2b-enquiry-detail-head button,
.b2b-enquiry-actions button {
  background: #f7fbff;
  border: 1px solid #cfe0f4;
  border-radius: 10px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  min-height: 42px;
  padding: 0 14px;
}

.b2b-enquiry-detail-grid,
.b2b-enquiry-editor {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-enquiry-detail-grid article {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  padding: 14px;
}

.b2b-enquiry-detail-grid strong {
  color: var(--ink);
  display: block;
  font-size: 1rem;
  margin: 6px 0;
}

.b2b-enquiry-detail-grid p {
  color: var(--muted);
  font-weight: 720;
  line-height: 1.45;
  margin: 0;
}

.b2b-enquiry-editor label {
  color: var(--muted);
  display: grid;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 8px;
  text-transform: uppercase;
}

.b2b-enquiry-editor select,
.b2b-enquiry-editor input,
.b2b-enquiry-editor textarea {
  border: 1px solid #cfe0f4;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  font-weight: 760;
  min-height: 44px;
  padding: 10px 12px;
}

.b2b-enquiry-wide,
.b2b-enquiry-actions {
  grid-column: 1 / -1;
}

.b2b-enquiry-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.b2b-enquiry-actions button:last-of-type {
  background: var(--partner-brand-color, #0f6fff);
  border-color: var(--partner-brand-color, #0f6fff);
  color: #fff;
}

.b2b-enquiry-actions a {
  color: var(--partner-brand-color, #0f6fff);
  font-weight: 900;
}

.b2b-enquiry-notes {
  display: grid;
  gap: 10px;
}

.b2b-enquiry-notes h4 {
  color: var(--ink);
  margin: 0;
}

.b2b-enquiry-notes article {
  background: #fffaf0;
  border: 1px solid #f0d4aa;
  border-radius: 12px;
  padding: 12px;
}

.b2b-enquiry-notes article strong,
.b2b-enquiry-notes article span {
  display: block;
}

.b2b-enquiry-notes article span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  margin-top: 3px;
}

.b2b-enquiry-notes article p {
  color: var(--ink);
  font-weight: 760;
  line-height: 1.45;
  margin: 8px 0 0;
}

.b2b-report-grid span,
.b2b-service-breakdown span {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.b2b-report-grid strong {
  color: var(--ink);
  display: block;
  font-size: 1.5rem;
  margin-top: 8px;
}

.b2b-ticket-history {
  margin-top: 22px;
}

.b2b-ticket-history h3 {
  color: var(--ink);
  font-size: 1.15rem;
  margin: 0 0 12px;
}

.b2b-service-breakdown {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-desk-hero {
  border-top: 4px solid var(--partner-brand-color, #0f6fff);
}

.b2b-desk-shell {
  border-color: #d7e6f8;
}

.b2b-desk-form {
  display: grid;
  gap: 22px;
}

.b2b-desk-product-tabs {
  background: #f8fbff;
  border: 1px solid #d7e6f8;
  border-radius: 16px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  padding: 8px;
}

.b2b-desk-product-tabs button {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 950;
  min-height: 44px;
  padding: 0 10px;
}

.b2b-desk-product-tabs button.active {
  background: linear-gradient(135deg, var(--partner-brand-color, #0f6fff), #075fd8);
  border-color: var(--partner-brand-color, #0f6fff);
  box-shadow: 0 10px 24px rgba(15, 111, 255, 0.18);
  color: #fff;
}

.b2b-desk-form section {
  background: #fbfdff;
  border: 1px solid #d7e6f8;
  border-radius: 12px;
  padding: 18px;
}

.b2b-desk-form h3 {
  color: var(--ink);
  font-size: 1rem;
  margin: 0 0 14px;
}

.b2b-desk-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-desk-hidden-service {
  display: none !important;
}

.b2b-service-details {
  background: linear-gradient(135deg, #fff, #f8fbff) !important;
}

.b2b-service-fields.is-hidden {
  display: none;
}

.b2b-desk-grid label {
  color: var(--muted);
  display: grid;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 7px;
  text-transform: uppercase;
}

.b2b-desk-grid input,
.b2b-desk-grid select,
.b2b-desk-grid textarea {
  background: #fff;
  border: 1px solid #cfe0f4;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 760;
  min-height: 44px;
  padding: 10px 12px;
}

.b2b-desk-grid textarea {
  min-height: 96px;
  resize: vertical;
}

.b2b-desk-wide {
  grid-column: span 3;
}

.b2b-desk-submit {
  align-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--partner-brand-color, #0f6fff) 10%, #fff), #fff8e6);
  border: 1px solid color-mix(in srgb, var(--partner-accent-color, #c99a3f) 42%, #fff);
  border-radius: 14px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 18px;
}

.b2b-desk-submit span,
.b2b-desk-submit p {
  color: var(--muted);
  display: block;
  font-size: 0.82rem;
  font-weight: 800;
  margin: 0;
}

.b2b-desk-submit strong {
  color: var(--ink);
  display: block;
  font-size: 1.7rem;
  line-height: 1.1;
  margin: 5px 0;
}

.b2b-desk-submit .b2b-credit-alert {
  color: #b45309;
}

.b2b-desk-submit button {
  background: var(--partner-brand-color, #0f6fff);
  border: 0;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  min-height: 54px;
  min-width: 220px;
  padding: 0 22px;
}

.b2b-desk-message {
  color: var(--muted);
  font-weight: 800;
  margin-top: 16px;
}

.b2b-desk-message.success {
  background: #e9fff6;
  border: 1px solid #bdebdc;
  border-radius: 10px;
  color: #006f53;
  padding: 14px;
}

.b2b-desk-message.error {
  background: #fff1f1;
  border: 1px solid #ffc9c9;
  border-radius: 10px;
  color: #a42323;
  padding: 14px;
}

.b2b-desk-message a {
  color: #075fd8;
  font-weight: 950;
  margin-left: 12px;
}

.b2b-search-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(15, 111, 255, 0.12), transparent 30%),
    linear-gradient(180deg, #eef6ff 0, #f8fbff 38%, #ffffff 100%);
}

.b2b-search-page > main {
  margin: 0 auto;
  max-width: 1920px;
  padding: 24px 28px 56px;
}

.b2b-direct-search-shell {
  margin: 0;
}

.b2b-search-header {
  position: sticky;
  top: 0;
  z-index: 40;
}

.b2b-search-hero {
  background:
    linear-gradient(120deg, rgba(8, 40, 89, 0.98), rgba(11, 88, 176, 0.94)),
    #0b376f;
  color: #fff;
}

.b2b-search-hero h1,
.b2b-search-hero p,
.b2b-search-hero span {
  color: #fff;
}

.b2b-search-heading > div > span {
  color: var(--muted);
  display: block;
  font-size: 0.9rem;
  font-weight: 760;
  margin-top: 6px;
}

.b2b-live-product-tabs {
  background: #edf5ff;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 12px;
}

.b2b-live-product-tabs button {
  align-items: flex-start;
  display: grid;
  gap: 2px;
  min-height: 94px;
  padding: 14px 16px;
  text-align: left;
}

.b2b-live-product-tabs button > span {
  font-size: 1.35rem;
  line-height: 1;
}

.b2b-live-product-tabs button strong {
  color: var(--ink);
  font-size: 1rem;
}

.b2b-live-product-tabs button small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.b2b-live-product-tabs button.active strong,
.b2b-live-product-tabs button.active small {
  color: #fff;
}

.b2b-live-panel.is-hidden {
  display: none;
}

.b2b-live-panel {
  background: linear-gradient(150deg, #ffffff, #f6faff) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(19, 59, 107, 0.08);
  padding: 24px !important;
}

.b2b-live-panel-title {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.b2b-live-panel-title span {
  color: #087d69;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.b2b-live-panel-title h3 {
  font-size: 1.35rem;
  margin: 4px 0 0;
}

.b2b-live-panel-title em {
  background: #e8fff9;
  border: 1px solid #bdeee1;
  border-radius: 999px;
  color: #087d69;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 900;
  padding: 8px 12px;
  white-space: nowrap;
}

.b2b-live-search-form .b2b-desk-grid input,
.b2b-live-search-form .b2b-desk-grid select {
  border-radius: 12px;
  min-height: 52px;
}

.b2b-live-search-form .b2b-desk-grid input:focus,
.b2b-live-search-form .b2b-desk-grid select:focus {
  border-color: var(--partner-brand-color, #0f6fff);
  box-shadow: 0 0 0 3px rgba(15, 111, 255, 0.12);
  outline: none;
}

.b2b-autocomplete {
  min-width: 0;
  position: relative;
}

.b2b-autocomplete > label {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 850;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.b2b-autocomplete > input {
  width: 100%;
}

.b2b-field-hint {
  color: var(--muted);
  display: block;
  font-size: 0.7rem;
  font-weight: 720;
  line-height: 1.35;
  margin-top: 6px;
  min-height: 1em;
  text-transform: none;
}

.b2b-field-hint.loading {
  color: #075fd8;
}

.b2b-field-hint.success {
  color: #087d69;
}

.b2b-field-hint.warning {
  color: #a15c00;
}

.b2b-autocomplete-list {
  background: #fff;
  border: 1px solid #bdd5f2;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(8, 40, 89, 0.2);
  left: 0;
  max-height: 320px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% - 20px);
  z-index: 70;
}

.b2b-autocomplete-list.is-hidden {
  display: none;
}

.b2b-autocomplete-option {
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
}

.b2b-autocomplete-option + .b2b-autocomplete-option {
  border-top: 1px solid #edf3fa;
}

.b2b-autocomplete-option:hover,
.b2b-autocomplete-option.active {
  background: #eaf4ff;
}

.b2b-autocomplete-option strong {
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.3;
}

.b2b-autocomplete-option span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 720;
  line-height: 1.35;
}

.b2b-route-swap {
  align-self: center;
  background: #edf6ff;
  border: 1px solid #bdd8f7;
  border-radius: 999px;
  color: #075fd8;
  cursor: pointer;
  font: inherit;
  font-size: 1.25rem;
  font-weight: 950;
  height: 42px;
  margin-top: 2px;
  padding: 0;
  width: 42px;
}

.b2b-route-swap:hover,
.b2b-route-swap:focus-visible {
  background: #dceeff;
  box-shadow: 0 0 0 3px rgba(15, 111, 255, 0.12);
  outline: none;
}

.b2b-flight-search-grid,
.b2b-cab-search-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.b2b-flight-search-grid {
  grid-template-columns: minmax(180px, 1.25fr) 42px minmax(180px, 1.25fr) repeat(2, minmax(150px, 0.8fr));
}

.b2b-flight-search-grid > label,
.b2b-flight-search-grid > .b2b-autocomplete {
  min-width: 0;
}

.b2b-hotel-search-grid,
.b2b-insurance-search-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-hotel-search-grid {
  grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(145px, 0.8fr));
}

.b2b-hotel-destination-field {
  grid-column: span 1;
}

.b2b-search-assurance {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.b2b-search-assurance div {
  background: #f8fbff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.b2b-search-assurance strong {
  color: var(--ink);
  font-size: 0.88rem;
}

.b2b-search-assurance span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 740;
  line-height: 1.45;
}

.b2b-search-submit strong {
  font-size: 1.2rem;
}

.b2b-search-submit button:disabled {
  cursor: wait;
  opacity: 0.68;
}

@media (max-width: 980px) {
  .b2b-flight-search-grid,
  .b2b-hotel-search-grid,
  .b2b-cab-search-grid,
  .b2b-insurance-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-live-product-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-route-swap {
    justify-self: center;
  }
}

@media (max-width: 640px) {
  .b2b-search-header {
    position: static;
  }

  .b2b-search-header nav {
    overflow-x: auto;
    width: 100%;
  }

  .b2b-live-product-tabs,
  .b2b-flight-search-grid,
  .b2b-hotel-search-grid,
  .b2b-cab-search-grid,
  .b2b-insurance-search-grid,
  .b2b-search-assurance {
    grid-template-columns: 1fr;
  }

  .b2b-live-product-tabs button {
    min-height: 78px;
  }

  .b2b-live-panel-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .b2b-live-panel {
    padding: 16px !important;
  }

  .b2b-search-submit button {
    min-width: 0;
    width: 100%;
  }

  .b2b-route-swap {
    height: 38px;
    margin: -2px 0;
    transform: rotate(90deg);
    width: 38px;
  }

  .b2b-autocomplete-list {
    max-height: 260px;
    position: absolute;
  }
}

/* B2B role queues and agency-owned booking assignment. */
.b2b-queue-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.b2b-queue-summary button {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #cadced;
  border-top: 3px solid var(--partner-brand-color, #0f6fff);
  border-radius: 12px;
  background: #fff;
  color: #0b315f;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(16, 45, 82, .06);
}

.b2b-queue-summary button:hover,
.b2b-queue-summary button:focus-visible,
.b2b-queue-summary button.is-active {
  border-color: var(--partner-brand-color, #0f6fff);
  background: #edf6ff;
  outline: none;
}

.b2b-queue-summary span {
  color: #667890;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.b2b-queue-summary strong {
  font-size: 1.35rem;
}

.b2b-queue-summary small {
  color: #77879b;
  font-size: .7rem;
  font-weight: 700;
}

.b2b-operational-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.b2b-operational-tags span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #e9f3ff;
  color: #1157a6;
  font-size: .68rem;
  font-weight: 900;
}

.b2b-operational-tags .is-failed,
.b2b-operational-tags .is-cancellation {
  background: #fff0ef;
  color: #a92920;
}

.b2b-operational-tags .is-refund {
  background: #fff6df;
  color: #8a5a00;
}

.b2b-workflow-badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 5px 9px;
  border: 1px solid #aadfd5;
  border-radius: 999px;
  background: #ecfbf7;
  color: #087463;
  font-size: .72rem;
  font-weight: 850;
}

@media (max-width: 1180px) {
  .b2b-queue-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .b2b-queue-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .b2b-queue-summary {
    grid-template-columns: 1fr;
  }
}

.b2b-booking-workflow-editor {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 10px;
  padding: 13px;
  border: 1px solid #c9dced;
  border-radius: 12px;
  background: #f7fbff;
}

.b2b-booking-workflow-editor label,
.b2b-booking-workflow-editor > div {
  display: grid;
  gap: 6px;
  color: #52647c;
  font-size: .76rem;
  font-weight: 800;
}

.b2b-booking-workflow-editor select,
.b2b-booking-workflow-editor input {
  width: 100%;
  min-height: 43px;
  padding: 0 11px;
  border: 1px solid #bdcfe2;
  border-radius: 9px;
  background: #fff;
  color: #12294a;
  font: inherit;
}

.b2b-booking-workflow-editor button {
  min-height: 43px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: #0f6fff;
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}

.b2b-document-pending {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px dashed #b8c9df;
  border-radius: 12px;
  color: #5f718b;
  background: #f7faff;
  font-weight: 800;
  font-size: .84rem;
}

.b2b-cancellation-workflow {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #efcf8d;
  border-radius: 14px;
  background: #fffaf0;
}

.b2b-notification-form {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(320px, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.b2b-notification-form label {
  display: grid;
  gap: 7px;
  color: #425774;
  font-weight: 850;
}

.b2b-notification-form input[type="tel"] {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #bdcfe2;
  border-radius: 9px;
  font: inherit;
}

.b2b-notification-form .b2b-notification-consent {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.b2b-notification-form .b2b-notification-consent input {
  width: 20px;
  height: 20px;
}

.b2b-notification-form button {
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: #0f6fff;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.b2b-notification-form .b2b-desk-message {
  grid-column: 1 / -1;
}

.b2b-cancellation-heading,
.b2b-cancellation-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.b2b-cancellation-heading span,
.b2b-cancellation-values span {
  color: #78643c;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.b2b-cancellation-heading h3 {
  margin: 3px 0 0;
  color: #593d00;
}

.b2b-cancellation-heading a,
.b2b-cancellation-actions button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d39a22;
  border-radius: 9px;
  background: #fff;
  color: #704b00;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.b2b-cancellation-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.b2b-cancellation-values > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #eadab9;
  border-radius: 9px;
  background: #fff;
}

.b2b-cancellation-history {
  display: grid;
  gap: 7px;
}

.b2b-cancellation-history > div {
  display: grid;
  grid-template-columns: minmax(130px, .4fr) minmax(240px, 1fr) auto;
  gap: 9px;
  padding-top: 7px;
  border-top: 1px solid #eadab9;
  color: #52647c;
  font-size: .76rem;
}

.b2b-cancellation-history small {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .b2b-notification-form {
    grid-template-columns: 1fr;
  }

  .b2b-cancellation-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-cancellation-history > div {
    grid-template-columns: 1fr;
  }

  .b2b-cancellation-history small {
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .b2b-cancellation-values {
    grid-template-columns: 1fr;
  }
}

.b2b-report-period-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
  gap: 14px;
  align-items: end;
}

.b2b-report-period-controls label {
  display: grid;
  gap: 7px;
  color: #425774;
  font-weight: 900;
}

.b2b-report-period-controls input,
.b2b-report-period-controls button {
  min-height: 46px;
  border-radius: 12px;
}

.b2b-report-period-controls input {
  border: 1px solid #c9d8ec;
  padding: 0 13px;
  background: #fff;
  color: #0a2d5d;
  font: inherit;
  font-weight: 800;
}

.b2b-report-period-controls button {
  border: 0;
  padding: 0 18px;
  background: #0867d8;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.b2b-report-period-controls button.secondary {
  border: 1px solid #b8c9df;
  background: #fff;
  color: #164b8c;
}

@media (max-width: 1000px) {
  .b2b-booking-workflow-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-report-period-controls {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .b2b-booking-workflow-editor {
    grid-template-columns: 1fr;
  }

  .b2b-report-period-controls {
    grid-template-columns: 1fr;
  }
}

/* B2B agency user management: dedicated owner-only workspace. */
.b2b-user-management .api-dashboard-header span,
.b2b-ledger-head span {
  color: #607089;
  font-weight: 650;
  line-height: 1.5;
}

.b2b-user-role-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.b2b-user-role-grid article {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid #cbdcf0;
  border-radius: 14px;
  background: linear-gradient(145deg, #f6fbff, #fff);
}

.b2b-user-role-grid span {
  color: #087d6b;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.b2b-user-role-grid strong {
  color: #102d56;
  font-size: 1rem;
}

.b2b-user-role-grid p {
  margin: 0;
  color: #607089;
  font-size: .82rem;
  line-height: 1.45;
}

.b2b-user-create-form {
  margin: 18px 0 24px;
}

.b2b-user-password-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.b2b-user-password-row button {
  min-height: 48px;
  padding: 0 15px;
  border: 1px solid #a9c8eb;
  border-radius: 10px;
  background: #edf6ff;
  color: #0754aa;
  font-weight: 800;
  cursor: pointer;
}

.b2b-user-card {
  display: grid;
  gap: 14px;
}

.b2b-user-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.b2b-user-card-heading small {
  color: #607089;
  text-align: right;
}

.b2b-user-card-heading small b {
  color: #173b69;
}

.b2b-user-edit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.b2b-user-edit-grid label {
  display: grid;
  gap: 6px;
  color: #52647c;
  font-size: .78rem;
  font-weight: 800;
}

.b2b-user-edit-grid input,
.b2b-user-edit-grid select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #c8d7e8;
  border-radius: 9px;
  background: #fff;
  color: #12294a;
  font: inherit;
}

@media (max-width: 1000px) {
  .b2b-user-role-grid,
  .b2b-user-edit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .b2b-user-role-grid,
  .b2b-user-edit-grid,
  .b2b-user-password-row {
    grid-template-columns: 1fr;
  }

  .b2b-user-card-heading {
    display: grid;
  }

  .b2b-user-card-heading small {
    text-align: left;
  }
}

.login-helper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-top: 16px;
}

.login-helper-actions a {
  color: #075fd8;
  font-size: 0.86rem;
  font-weight: 900;
}

.white-label-page {
  background:
    radial-gradient(circle at top left, rgba(15, 111, 255, 0.16), transparent 34%),
    linear-gradient(180deg, #f8fbff 0, #ffffff 42%, #f5f8fb 100%);
}

.white-label-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 52, 96, 0.08);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 22px auto;
  max-width: 1180px;
  padding: 14px 18px;
  position: sticky;
  top: 14px;
  z-index: 8;
}

.white-label-brand img {
  display: block;
  height: 62px;
  max-width: 250px;
  object-fit: contain;
}

.white-label-brand {
  align-items: center;
  display: inline-flex;
  gap: 12px;
}

.white-label-brand span {
  color: #102a4c;
  font-size: 1.05rem;
  font-weight: 950;
}

.white-label-header nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.white-label-header nav a,
.white-label-actions a,
.white-label-split a {
  background: #0f6fff;
  border: 1px solid #0f6fff;
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-weight: 950;
  min-height: 46px;
  padding: 0 18px;
  align-items: center;
}

.white-label-header nav a {
  background: #f7fbff;
  color: #113967;
  border-color: #cfe0f4;
}

.white-label-actions a.secondary {
  background: #fffaf0;
  border-color: #d8b66a;
  color: #7a560a;
}

.white-label-page main {
  display: grid;
  gap: 28px;
  margin: 0 auto 48px;
  max-width: 1180px;
  padding: 0 16px;
}

.white-label-hero {
  align-items: stretch;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 251, 255, 0.9) 58%, rgba(255, 248, 232, 0.92) 100%),
    var(--white-label-hero-image, linear-gradient(135deg, #ffffff 0%, #f7fbff 58%, #fff8e8 100%));
  background-position: center;
  background-size: cover;
  border: 1px solid #d7e6f8;
  border-radius: 24px;
  box-shadow: 0 24px 65px rgba(15, 52, 96, 0.1);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  overflow: hidden;
  padding: clamp(26px, 5vw, 56px);
  position: relative;
}

.white-label-hero:before {
  background: linear-gradient(180deg, #0f6fff, #d8b66a);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 7px;
}

.white-label-hero p,
.white-label-split p {
  color: #a97812;
  font-size: 0.84rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.white-label-hero em {
  background: #fff7df;
  border: 1px solid color-mix(in srgb, var(--partner-accent, #c99a3f) 45%, #fff);
  border-radius: 999px;
  color: #7a560a;
  display: inline-flex;
  font-style: normal;
  font-weight: 920;
  margin: 0 0 16px;
  padding: 9px 14px;
}

.white-label-hero h1 {
  color: #102a4c;
  font-size: clamp(2.2rem, 5vw, 4.7rem);
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0;
  max-width: 780px;
}

.white-label-hero span {
  color: #51657f;
  display: block;
  font-size: 1.08rem;
  font-weight: 760;
  line-height: 1.55;
  margin: 22px 0 0;
  max-width: 700px;
}

.white-label-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.white-label-console {
  background: #fff;
  border: 1px solid #d8b66a;
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(123, 86, 10, 0.1);
  display: grid;
  gap: 15px;
  padding: 26px;
}

.white-label-console span,
.white-label-console small,
.white-label-grid span {
  color: #65758a;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.white-label-console strong {
  color: #0f6fff;
  font-size: 2rem;
  line-height: 1;
}

.white-label-console p,
.white-label-grid p,
.white-label-split li {
  color: #53677f;
  font-weight: 720;
  line-height: 1.5;
  margin: 0;
}

.white-label-console div {
  background: #f7fbff;
  border: 1px solid #d7e6f8;
  border-radius: 14px;
  display: grid;
  gap: 6px;
  padding: 14px;
}

.white-label-console b {
  color: #102a4c;
}

.white-label-booking {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(15, 52, 96, 0.1);
  display: grid;
  gap: 18px;
  padding: 24px;
}

.white-label-booking-head {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.white-label-booking-head p {
  color: #a97812;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.white-label-booking-head h2 {
  color: #102a4c;
  font-size: 1.75rem;
  line-height: 1.1;
  margin: 0;
}

.white-label-booking-head > span {
  background: color-mix(in srgb, var(--brand, #0f6fff) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--brand, #0f6fff) 30%, #d7e6f8);
  border-radius: 999px;
  color: var(--brand, #0f6fff);
  font-weight: 950;
  padding: 10px 16px;
}

.white-label-services {
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(94px, 1fr));
  padding: 10px;
}

.white-label-services button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #334963;
  cursor: pointer;
  display: grid;
  font-weight: 930;
  gap: 6px;
  justify-items: center;
  min-height: 86px;
  padding: 10px 8px;
}

.white-label-services button span {
  align-items: center;
  background: #eef6ff;
  border: 1px solid #d7e6f8;
  border-radius: 13px;
  color: var(--brand, #0f6fff);
  display: inline-flex;
  font-size: 1.45rem;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.white-label-services button.active {
  background: #f0f7ff;
  border-color: color-mix(in srgb, var(--brand, #0f6fff) 35%, #d7e6f8);
  box-shadow: inset 0 -4px 0 var(--brand, #0f6fff);
  color: var(--brand, #0f6fff);
}

.white-label-search-card {
  align-items: stretch;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 1fr 1.25fr 0.8fr 0.8fr 0.82fr 0.95fr;
  overflow: hidden;
}

.white-label-search-card label {
  background: #fff;
  border-right: 1px solid #d7e6f8;
  display: grid;
  gap: 8px;
  min-height: 104px;
  padding: 16px;
}

.white-label-search-card label[hidden] {
  display: none;
}

.white-label-search-card span {
  color: #52667f;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.white-label-search-card input,
.white-label-search-card select {
  background: transparent;
  border: 0;
  color: #102a4c;
  font: inherit;
  font-size: 1.18rem;
  font-weight: 950;
  min-width: 0;
  outline: 0;
}

.white-label-search-card button {
  background: linear-gradient(135deg, var(--brand, #0f6fff), #075fd8);
  border: 0;
  color: #fff;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 950;
  padding: 0 18px;
}

.white-label-form-message {
  color: #a97812;
  font-weight: 850;
  margin: 0;
  min-height: 20px;
}

.white-label-deals,
.white-label-categories {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(15, 52, 96, 0.07);
  display: grid;
  gap: 18px;
  padding: 24px;
}

.white-label-section-head {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.white-label-section-head p {
  color: #a97812;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.white-label-section-head h2 {
  color: #102a4c;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.05;
  margin: 0;
}

.white-label-deal-grid,
.white-label-category-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.white-label-deal-grid article,
.white-label-category-grid a {
  background: linear-gradient(135deg, #f7fbff, #fff);
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  color: inherit;
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 18px;
  text-decoration: none;
}

.white-label-deal-grid span {
  color: var(--brand, #0f6fff);
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.white-label-deal-grid h3 {
  color: #102a4c;
  font-size: 1.05rem;
  line-height: 1.15;
  margin: 0;
}

.white-label-deal-grid p {
  color: #53677f;
  font-size: 0.9rem;
  font-weight: 720;
  line-height: 1.45;
  margin: 0;
}

.white-label-category-grid a {
  align-items: center;
  color: #102a4c;
  font-weight: 950;
  min-height: 72px;
}

.white-label-split,
.white-label-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-split article,
.white-label-grid article {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 52, 96, 0.06);
  padding: 26px;
}

.white-label-split h2,
.white-label-grid h3 {
  color: #102a4c;
  font-size: 1.45rem;
  margin: 0 0 14px;
}

.white-label-split ul {
  display: grid;
  gap: 9px;
  margin: 0 0 20px;
  padding-left: 20px;
}

.white-label-split article > span {
  color: #53657e;
  display: block;
  font-weight: 750;
  line-height: 1.55;
}

.white-label-about-image {
  aspect-ratio: 16 / 9;
  border: 1px solid #d7e6f8;
  border-radius: 16px;
  display: block;
  margin: 18px 0;
  object-fit: cover;
  width: 100%;
}

.white-label-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.white-label-grid span {
  color: #0f6fff;
  font-size: 1.05rem;
}

.white-label-static-page {
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 52, 96, 0.06);
  display: grid;
  gap: 12px;
  margin-inline: auto;
  max-width: 980px;
  padding: clamp(24px, 4vw, 44px);
}

.white-label-static-page p:first-child {
  color: #0f6fff;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.white-label-static-page h2 {
  color: #102a4c;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1.05;
  margin: 0;
}

.white-label-static-page div {
  color: #53677f;
  display: grid;
  gap: 12px;
  font-size: 1rem;
  font-weight: 720;
  line-height: 1.65;
}

.white-label-static-page div p {
  margin: 0;
}

.white-label-footer {
  align-items: center;
  background: #fff;
  border: 1px solid #d7e6f8;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(15, 52, 96, 0.08);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 0 auto 28px;
  max-width: 1180px;
  padding: 18px 22px;
}

.white-label-footer p {
  color: #53657e;
  font-weight: 750;
  margin: 0;
}

.white-label-footer strong {
  color: #102a4c;
  display: block;
  font-size: 1.05rem;
  font-weight: 950;
  margin: 0 0 5px;
}

.white-label-footer small {
  color: #7a899c;
  display: block;
  font-weight: 800;
  margin-top: 5px;
}

.white-label-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}

.white-label-footer a {
  color: #0f6fff;
  font-weight: 900;
  text-decoration: none;
}

.white-label-page.wl-theme-luxury {
  background: linear-gradient(180deg, #fffaf0 0, #ffffff 46%, #f7fbff 100%);
}

.white-label-page.wl-theme-corporate {
  background: linear-gradient(180deg, #eef5ff 0, #ffffff 48%, #f2f6fb 100%);
}

.white-label-page.wl-theme-bright {
  background: linear-gradient(180deg, #f1fffb 0, #ffffff 44%, #fff8e8 100%);
}

.white-label-page.wl-theme-calm {
  background: linear-gradient(180deg, #f3fbff 0, #ffffff 52%, #f6fbf8 100%);
}

.white-label-page.wl-template-classic .white-label-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.white-label-page.wl-template-classic .white-label-deals,
.white-label-page.wl-template-classic .white-label-categories,
.white-label-page.wl-template-classic .white-label-split,
.white-label-page.wl-template-classic .white-label-grid {
  order: initial;
}

.white-label-page.wl-template-premium .white-label-hero,
.white-label-page.wl-template-cruise .white-label-hero {
  border-color: color-mix(in srgb, var(--partner-accent, #c99a3f) 44%, #d7e6f8);
}

.white-label-page.wl-template-premium {
  background: #111827;
}

.white-label-page.wl-template-premium .white-label-header,
.white-label-page.wl-template-premium .white-label-hero,
.white-label-page.wl-template-premium .white-label-booking,
.white-label-page.wl-template-premium .white-label-deals,
.white-label-page.wl-template-premium .white-label-categories,
.white-label-page.wl-template-premium .white-label-split article,
.white-label-page.wl-template-premium .white-label-grid article,
.white-label-page.wl-template-premium .white-label-footer {
  border-color: rgba(216, 182, 106, 0.42);
}

.white-label-page.wl-template-premium .white-label-hero {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.94), rgba(31, 41, 55, 0.9), rgba(120, 88, 26, 0.72));
}

.white-label-page.wl-template-premium .white-label-hero h1,
.white-label-page.wl-template-premium .white-label-hero span,
.white-label-page.wl-template-premium .white-label-hero p {
  color: #fff;
}

.white-label-page.wl-template-corporate .white-label-console,
.white-label-page.wl-template-visa .white-label-console {
  border-color: color-mix(in srgb, var(--brand, #0f6fff) 38%, #d7e6f8);
}

.white-label-page.wl-template-corporate main {
  max-width: 1280px;
}

.white-label-page.wl-template-corporate .white-label-hero {
  grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.2fr);
}

.white-label-page.wl-template-corporate .white-label-booking {
  order: -1;
  border-top: 4px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-corporate .white-label-deal-grid,
.white-label-page.wl-template-corporate .white-label-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-page.wl-template-family .white-label-services button.active,
.white-label-page.wl-template-adventure .white-label-services button.active {
  background: #f4fffb;
}

.white-label-page.wl-template-family {
  background: linear-gradient(180deg, #fff8e8, #ffffff 52%, #f7fbff);
}

.white-label-page.wl-template-family .white-label-hero,
.white-label-page.wl-template-family .white-label-booking,
.white-label-page.wl-template-family .white-label-deals,
.white-label-page.wl-template-family .white-label-categories,
.white-label-page.wl-template-family .white-label-split article,
.white-label-page.wl-template-family .white-label-grid article {
  border-radius: 28px;
}

.white-label-page.wl-template-family .white-label-deal-grid article,
.white-label-page.wl-template-family .white-label-category-grid a {
  background: linear-gradient(135deg, #fff, #fff4dc);
}

.white-label-page.wl-template-adventure {
  background: linear-gradient(180deg, #ecfff8, #ffffff 48%, #eef7ff);
}

.white-label-page.wl-template-adventure .white-label-categories {
  order: -1;
}

.white-label-page.wl-template-adventure .white-label-hero {
  background: linear-gradient(135deg, #ecfff8, #e8f3ff);
  border-bottom: 5px solid #16a673;
}

.white-label-page.wl-template-adventure .white-label-grid article {
  border-left: 5px solid #16a673;
}

.white-label-page.wl-template-premium .white-label-deal-grid article,
.white-label-page.wl-template-cruise .white-label-deal-grid article {
  background: linear-gradient(135deg, #142033, #fff7df);
}

.white-label-page.wl-template-premium .white-label-deal-grid h3,
.white-label-page.wl-template-premium .white-label-deal-grid p,
.white-label-page.wl-template-cruise .white-label-deal-grid h3,
.white-label-page.wl-template-cruise .white-label-deal-grid p {
  color: #fff;
}

.white-label-page.wl-template-corporate .white-label-categories,
.white-label-page.wl-template-visa .white-label-categories {
  border-top: 4px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-visa .white-label-hero {
  grid-template-columns: minmax(0, 1fr);
}

.white-label-page.wl-template-visa .white-label-console {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-page.wl-template-visa .white-label-booking {
  order: -1;
  box-shadow: 0 10px 30px rgba(15, 52, 96, 0.08);
}

.white-label-page.wl-template-visa .white-label-deal-grid article {
  border-left: 5px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-classic .white-label-grid article {
  border-top: 3px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-hotel .white-label-booking {
  border-top: 4px solid var(--partner-accent, #c99a3f);
}

.white-label-page.wl-template-hotel .white-label-deals {
  order: -1;
}

.white-label-page.wl-template-hotel .white-label-deal-grid {
  grid-template-columns: 1.4fr 1fr 1fr;
}

.white-label-page.wl-template-hotel .white-label-deal-grid article {
  background: linear-gradient(135deg, #fffaf0, #fff);
  border-top: 4px solid var(--partner-accent, #c99a3f);
}

.white-label-page.wl-template-flight .white-label-services {
  border-bottom: 4px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-flight .white-label-booking {
  order: -1;
}

.white-label-page.wl-template-flight .white-label-search-card {
  border-radius: 999px;
}

.white-label-page.wl-template-flight .white-label-search-card label {
  min-height: 88px;
}

.white-label-page.wl-template-flight .white-label-deal-grid article {
  border-bottom: 4px solid var(--brand, #0f6fff);
}

.white-label-page.wl-template-cruise {
  background: linear-gradient(180deg, #e9f7ff, #ffffff 55%, #eef7ff);
}

.white-label-page.wl-template-cruise .white-label-hero {
  background: linear-gradient(135deg, #082f49, #0f6fff 52%, #e0f2fe);
}

.white-label-page.wl-template-cruise .white-label-hero h1,
.white-label-page.wl-template-cruise .white-label-hero span,
.white-label-page.wl-template-cruise .white-label-hero p {
  color: #fff;
}

.white-label-page.wl-template-cruise .white-label-categories {
  order: 2;
}

.white-label-page.wl-template-forex .white-label-booking-head > span {
  background: #fff8e8;
  color: #7a560a;
}

.white-label-page.wl-template-forex {
  background: linear-gradient(180deg, #ecfffb, #ffffff 50%, #fffaf0);
}

.white-label-page.wl-template-forex .white-label-booking {
  border-left: 5px solid #0f9f95;
}

.white-label-page.wl-template-forex .white-label-category-grid a,
.white-label-page.wl-template-forex .white-label-services button.active {
  background: #e9fbf8;
  color: #08786f;
}

.white-label-page.wl-template-forex .white-label-footer {
  border-top: 4px solid #0f9f95;
}

.white-label-page.wl-template-classic main {
  max-width: 1240px;
}

.white-label-page.wl-template-classic .white-label-booking {
  margin-top: -54px;
  position: relative;
  z-index: 2;
}

.white-label-page.wl-template-classic .white-label-services {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
}

.white-label-page.wl-template-premium main {
  gap: 34px;
  max-width: 1200px;
}

.white-label-page.wl-template-premium .white-label-header,
.white-label-page.wl-template-premium .white-label-booking,
.white-label-page.wl-template-premium .white-label-deals,
.white-label-page.wl-template-premium .white-label-categories,
.white-label-page.wl-template-premium .white-label-split article,
.white-label-page.wl-template-premium .white-label-grid article,
.white-label-page.wl-template-premium .white-label-footer {
  background: #111827;
  color: #fff;
}

.white-label-page.wl-template-premium .white-label-brand span,
.white-label-page.wl-template-premium .white-label-booking-head h2,
.white-label-page.wl-template-premium .white-label-section-head h2,
.white-label-page.wl-template-premium .white-label-deal-grid h3,
.white-label-page.wl-template-premium .white-label-category-grid a,
.white-label-page.wl-template-premium .white-label-split h2,
.white-label-page.wl-template-premium .white-label-grid h3,
.white-label-page.wl-template-premium .white-label-footer strong,
.white-label-page.wl-template-premium .white-label-footer p,
.white-label-page.wl-template-premium .white-label-footer small {
  color: #fff;
}

.white-label-page.wl-template-premium .white-label-console {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(216, 182, 106, 0.7);
  backdrop-filter: blur(10px);
}

.white-label-page.wl-template-premium .white-label-search-card,
.white-label-page.wl-template-premium .white-label-services,
.white-label-page.wl-template-premium .white-label-category-grid a {
  background: #0b1220;
  border-color: rgba(216, 182, 106, 0.38);
}

.white-label-page.wl-template-premium .white-label-search-card label {
  background: #0b1220;
  border-color: rgba(216, 182, 106, 0.28);
}

.white-label-page.wl-template-premium .white-label-search-card input,
.white-label-page.wl-template-premium .white-label-search-card select {
  color: #fff;
}

.white-label-page.wl-template-corporate .white-label-header {
  border-radius: 0;
  margin-top: 0;
  max-width: none;
}

.white-label-page.wl-template-corporate .white-label-hero {
  border-left: 8px solid var(--brand, #0f6fff);
  border-radius: 8px;
  box-shadow: none;
}

.white-label-page.wl-template-corporate .white-label-services {
  border-radius: 8px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.white-label-page.wl-template-corporate .white-label-search-card {
  border-radius: 8px;
}

.white-label-page.wl-template-corporate .white-label-grid {
  grid-template-columns: 1fr;
}

.white-label-page.wl-template-family main {
  max-width: 1120px;
}

.white-label-page.wl-template-family .white-label-hero {
  background:
    linear-gradient(135deg, rgba(255, 248, 232, 0.96), rgba(239, 255, 248, 0.94)),
    var(--white-label-hero-image, linear-gradient(135deg, #fff8e8, #effff8));
  text-align: center;
}

.white-label-page.wl-template-family .white-label-hero h1,
.white-label-page.wl-template-family .white-label-hero span {
  margin-left: auto;
  margin-right: auto;
}

.white-label-page.wl-template-family .white-label-actions {
  justify-content: center;
}

.white-label-page.wl-template-family .white-label-console {
  align-content: center;
  background: #fffdf8;
}

.white-label-page.wl-template-family .white-label-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-page.wl-template-adventure main {
  max-width: 1260px;
}

.white-label-page.wl-template-adventure .white-label-header {
  transform: rotate(-0.35deg);
}

.white-label-page.wl-template-adventure .white-label-hero {
  border-radius: 34px 10px 34px 10px;
  grid-template-columns: minmax(0, 0.85fr) minmax(340px, 1fr);
  min-height: 520px;
}

.white-label-page.wl-template-adventure .white-label-booking {
  border-radius: 10px 30px 10px 30px;
}

.white-label-page.wl-template-adventure .white-label-services {
  display: flex;
  overflow-x: auto;
}

.white-label-page.wl-template-adventure .white-label-services button {
  flex: 0 0 132px;
}

.white-label-page.wl-template-adventure .white-label-deal-grid {
  grid-template-columns: 1fr 1fr 1.35fr;
}

.white-label-page.wl-template-visa .white-label-header {
  border-bottom: 1px solid #d7e6f8;
  box-shadow: none;
}

.white-label-page.wl-template-visa .white-label-booking {
  display: grid;
  grid-template-columns: minmax(280px, 0.45fr) minmax(0, 1fr);
}

.white-label-page.wl-template-visa .white-label-booking-head,
.white-label-page.wl-template-visa .white-label-services,
.white-label-page.wl-template-visa .white-label-form-message {
  grid-column: 1;
}

.white-label-page.wl-template-visa .white-label-search-card {
  border-radius: 12px;
  grid-column: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-page.wl-template-visa .white-label-search-card button {
  min-height: 84px;
}

.white-label-page.wl-template-visa .white-label-grid {
  counter-reset: visaSteps;
}

.white-label-page.wl-template-visa .white-label-grid article span {
  align-items: center;
  background: var(--brand, #0f6fff);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.white-label-page.wl-template-hotel .white-label-hero {
  grid-template-columns: minmax(320px, 0.7fr) minmax(0, 1.3fr);
}

.white-label-page.wl-template-hotel .white-label-console {
  order: -1;
}

.white-label-page.wl-template-hotel .white-label-deals {
  background: #fffaf0;
  border-color: rgba(216, 182, 106, 0.55);
}

.white-label-page.wl-template-hotel .white-label-deal-grid article:first-child {
  grid-row: span 2;
  min-height: 260px;
}

.white-label-page.wl-template-hotel .white-label-services button.active span {
  background: #fff4d8;
  color: #7a560a;
}

.white-label-page.wl-template-flight {
  background: #f4f4f4;
}

.white-label-page.wl-template-flight .white-label-header {
  border-radius: 0;
  box-shadow: 0 2px 14px rgba(16, 32, 51, 0.13);
  margin-top: 0;
  max-width: none;
}

.white-label-page.wl-template-flight main {
  max-width: none;
  padding: 0;
}

.white-label-page.wl-template-flight .white-label-hero {
  background:
    linear-gradient(180deg, #ff6b28 0, #f26a21 58%, #f4f4f4 58%),
    var(--white-label-hero-image, linear-gradient(180deg, #ff6b28, #f4f4f4));
  border: 0;
  border-radius: 0;
  box-shadow: none;
  grid-template-columns: 1fr;
  min-height: 300px;
  padding: 38px 48px 120px;
  text-align: center;
}

.white-label-page.wl-template-flight .white-label-hero:before,
.white-label-page.wl-template-flight .white-label-console,
.white-label-page.wl-template-flight .white-label-hero em,
.white-label-page.wl-template-flight .white-label-actions {
  display: none;
}

.white-label-page.wl-template-flight .white-label-hero p,
.white-label-page.wl-template-flight .white-label-hero h1,
.white-label-page.wl-template-flight .white-label-hero span {
  color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.white-label-page.wl-template-flight .white-label-booking {
  border-radius: 14px;
  margin: -110px 48px 0;
  position: relative;
  z-index: 2;
}

.white-label-page.wl-template-flight .white-label-services {
  background: transparent;
  border: 0;
  display: flex;
  gap: 18px;
  justify-content: center;
  margin-top: -72px;
  overflow-x: auto;
}

.white-label-page.wl-template-flight .white-label-services button {
  background: #fff;
  border: 0;
  box-shadow: 0 12px 28px rgba(16, 32, 51, 0.2);
  flex: 0 0 118px;
  min-height: 104px;
}

.white-label-page.wl-template-flight .white-label-search-card {
  border: 2px solid #dfe6ef;
  border-radius: 12px;
  grid-template-columns: 1.2fr 1.2fr 0.72fr 0.72fr 0.85fr 0.9fr;
}

.white-label-page.wl-template-flight .white-label-search-card button {
  background: #ff682d;
  border-radius: 999px;
  margin: 22px;
}

.white-label-page.wl-template-flight .white-label-deals,
.white-label-page.wl-template-flight .white-label-categories,
.white-label-page.wl-template-flight .white-label-split,
.white-label-page.wl-template-flight .white-label-grid,
.white-label-page.wl-template-flight .white-label-footer {
  margin-left: 48px;
  margin-right: 48px;
  max-width: none;
}

.white-label-page.wl-template-cruise .white-label-hero {
  border-radius: 36px;
  grid-template-columns: minmax(0, 1fr);
  min-height: 560px;
  place-items: center;
  text-align: center;
}

.white-label-page.wl-template-cruise .white-label-console {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  max-width: 760px;
}

.white-label-page.wl-template-cruise .white-label-console strong,
.white-label-page.wl-template-cruise .white-label-console p,
.white-label-page.wl-template-cruise .white-label-console b {
  color: #fff;
}

.white-label-page.wl-template-cruise .white-label-deal-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.white-label-page.wl-template-cruise .white-label-deal-grid article {
  border-radius: 28px;
  min-height: 220px;
}

.white-label-page.wl-template-forex main {
  max-width: 1240px;
}

.white-label-page.wl-template-forex .white-label-hero {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr);
}

.white-label-page.wl-template-forex .white-label-booking {
  grid-template-columns: minmax(0, 1fr) 320px;
}

.white-label-page.wl-template-forex .white-label-booking-head,
.white-label-page.wl-template-forex .white-label-search-card {
  grid-column: 1;
}

.white-label-page.wl-template-forex .white-label-services {
  align-self: stretch;
  grid-column: 2;
  grid-row: 1 / span 3;
  grid-template-columns: 1fr;
}

.white-label-page.wl-template-forex .white-label-services button {
  grid-template-columns: 48px 1fr;
  justify-items: start;
  min-height: 62px;
  text-align: left;
}

.white-label-page.wl-template-forex .white-label-search-card {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.white-label-page.wl-template-forex .white-label-search-card button {
  min-height: 82px;
}

.white-label-page.wl-header-centered .white-label-header {
  justify-content: center;
  text-align: center;
}

.white-label-page.wl-header-centered .white-label-header nav {
  justify-content: center;
}

.white-label-page.wl-header-premium .white-label-header {
  border-bottom: 3px solid var(--partner-accent, #c99a3f);
}

.white-label-page.wl-header-compact .white-label-header {
  border-radius: 12px;
  margin-top: 12px;
  padding: 10px 14px;
}

.white-label-page.wl-header-compact .white-label-brand img {
  height: 48px;
}

.white-label-page.wl-footer-support .white-label-footer {
  background: #f7fbff;
}

.white-label-page.wl-footer-office .white-label-footer {
  align-items: flex-start;
  border-top: 4px solid var(--brand, #0f6fff);
}

.white-label-page.wl-footer-minimal .white-label-footer {
  box-shadow: none;
}

.white-label-page.wl-embedded-preview {
  min-width: 1080px;
}

.white-label-page.wl-embedded-preview .white-label-header {
  margin-top: 0;
  position: static;
}

.white-label-page.wl-embedded-preview main {
  padding-top: 18px;
}

.white-label-page.wl-hide-deals .white-label-deals,
.white-label-page.wl-hide-categories .white-label-categories,
.white-label-page.wl-hide-trust .white-label-grid,
.white-label-page.wl-hide-footer .white-label-footer {
  display: none;
}

.white-label-page.wl-hide-about.wl-hide-contact .white-label-split,
.white-label-page.wl-hide-about .white-label-split article:first-child,
.white-label-page.wl-hide-contact .white-label-split article:last-child {
  display: none;
}

.white-label-page.wl-hide-about .white-label-split,
.white-label-page.wl-hide-contact .white-label-split {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
  .admin-shell {
    grid-template-columns: 1fr;
    width: min(100% - 20px, 1320px);
    margin-top: 14px;
  }

  .admin-side-nav {
    position: static;
    max-height: none;
  }

  .dashboard-hero,
  .admin-command-heading,
  .admin-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-header {
    width: 100%;
  }

  .admin-header nav {
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }

  .admin-header nav a,
  .admin-header nav button {
    flex: 1 1 132px;
    min-width: 0;
    padding-inline: 10px;
    text-align: center;
    white-space: normal;
  }

  .metric-grid,
  .admin-command-grid,
  .admin-pipeline-grid,
  .followup-board,
  .admin-alert-grid,
  .api-overview-grid,
  .email-log-summary,
  .email-log-card,
  .api-status-layout,
  .api-service-grid,
  .api-supplier-grid,
  .toolbar,
  .staff-form,
  .b2b-form,
  .b2b-service-picker,
  .b2b-command-center,
  .b2b-control-grid,
  .staff-toolbar,
  .staff-card,
  .staff-edit,
  .b2b-edit,
  .report-toolbar,
  .report-grid,
  .booking-card,
  .b2b-cockpit-layout,
  .b2b-service-cockpit,
  .b2b-desk-product-tabs,
  .b2b-profile-grid,
  .b2b-launch-grid,
  .b2b-report-grid,
  .b2b-service-breakdown,
  .b2b-white-label-status-grid,
  .b2b-page-review-grid,
  .b2b-builder-shell,
  .b2b-builder-section-grid,
  .b2b-setup-grid,
  .b2b-template-gallery,
  .b2b-service-switches,
  .b2b-section-switches,
  .b2b-markup-grid,
  .b2b-white-label-enquiry-card,
  .b2b-white-label-enquiry-card dl,
  .b2b-desk-grid,
  .career-card,
  .booking-detail-layout,
  .booking-recovery-grid,
  .detail-section-grid,
  .detail-grid {
    grid-template-columns: 1fr;
  }

  .admin-command-actions {
    justify-content: flex-start;
  }

  .b2b-builder-nav {
    position: static;
  }

  .b2b-live-preview {
    position: static;
  }

  .b2b-live-content {
    grid-template-columns: 1fr;
  }

  .admin-alert-heading,
  .admin-pipeline-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .booking-ops-panel,
  .booking-detail-tabs {
    position: static;
  }

  .career-card .actions {
    min-width: 0;
  }

  .b2b-desk-wide {
    grid-column: span 1;
  }

  .b2b-setup-wide,
  .website-settings-wide,
  .b2b-preview-card,
  .b2b-setup-actions,
  .website-settings-actions,
  .b2b-setup-grid .b2b-desk-message {
    grid-column: span 1;
  }

  .website-settings-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .b2b-desk-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .white-label-header,
  .white-label-hero {
    grid-template-columns: 1fr;
  }

  .b2b-login-shell,
  .b2b-login-proof,
  .b2b-login-actions {
    grid-template-columns: 1fr;
  }

  body.b2b-login-page {
    padding: 14px;
  }

  .b2b-login-brand-panel {
    min-height: auto;
  }

  .white-label-header {
    align-items: flex-start;
    flex-direction: column;
    position: static;
  }

  .white-label-split,
  .white-label-grid,
  .white-label-deal-grid,
  .white-label-category-grid,
  .white-label-search-card {
    grid-template-columns: 1fr;
  }

  .b2b-page-editor article {
    grid-template-columns: 1fr;
  }

  .white-label-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .white-label-search-card label {
    border-bottom: 1px solid #d7e6f8;
    border-right: 0;
  }
}

/* home go style */

.home-page{background:#f4f4f4}.home-page .topbar{background:#fff;box-shadow:0 2px 12px #10203322;color:#172033;display:grid;gap:0;left:0;margin:0;position:sticky;right:0;top:0;width:100%;z-index:30}.home-page .header-main{grid-template-columns:260px 1fr auto;min-height:86px;padding:0 48px}.home-page .brand{color:#ff6b35;font-size:1.55rem;font-weight:950}.home-page .brand-mark{background:0;color:#ff6b35;font-size:.75rem;height:auto;width:auto}.home-page .brand span:last-child{color:#2374e1}.home-page .header-search,.home-page .topnav,.home-page .helpline-chip,.home-page .icon-button,.home-page .hero-media,.home-page .hero-shade,.home-page .hero-content>.eyebrow,.home-page .hero-content>h1,.home-page .hero-content>.hero-helpline,.home-page .hero-search,.home-page .search-feedback{display:none}.home-page .login-button{background:#f7fbff;border:1px solid #1877f2;border-radius:10px;color:#1769d8;min-height:50px;padding:0 22px}.home-page .travel-menu{gap:30px;justify-content:center;margin:-74px auto 0;max-width:800px;min-height:86px;padding:0}.home-page .travel-menu a{border:0;color:#667085;display:grid;font-weight:900;gap:4px;justify-items:center;min-width:70px;padding:10px 0 12px;position:relative}.home-page .travel-menu a.active{color:#146fe8}.home-page .travel-menu a.active:after{background:#146fe8;border-radius:9px 9px 0 0;bottom:0;content:"";height:5px;left:8px;position:absolute;right:8px}.home-page .travel-menu svg{color:#ff6b35;height:28px;width:28px}.home-page .hero{background:linear-gradient(180deg,#ff6b28 0,#f26a21 56%,#f4f4f4 56%);min-height:670px;padding:0 48px 54px}.home-page .hero-content{display:block;margin:auto;max-width:1800px;padding:34px 0 0}.home-page .hero-content:before{color:#fff;content:"Domestic and International Flights";display:block;font-size:2rem;font-weight:950;margin:0 0 30px;text-align:center;text-shadow:0 2px 5px #25405c44}.home-page .booking-shell{background:#fff;border-radius:12px;box-shadow:0 18px 50px #10203324;margin:auto;max-width:none;padding:28px 30px 86px;position:relative}.home-page .service-tabs{display:flex;gap:18px;border-bottom:1px solid #dfe6ef;margin-bottom:24px}.home-page .service-tab{background:0;border:0;border-radius:999px;color:#657085;font-weight:950;min-height:42px;padding:0 16px}.home-page .service-tab.active{background:#eaf3ff;color:#1674e8}.home-page .service-tab svg{display:none}.home-page .search-form{background:0;border:0;box-shadow:none;padding:0}.home-page .trip-switch{display:flex;gap:28px;margin-bottom:16px}.home-page .trip-switch label{font-weight:850;color:#5d6673}.home-page .universal-grid{border:2px solid #dfe6ef;border-radius:12px;display:grid;grid-template-columns:1.2fr 1.2fr .75fr .75fr 1fr;overflow:hidden}.home-page .field{border:0;border-right:2px solid #dfe6ef;border-radius:0;min-height:138px;padding:18px 28px}.home-page .field span{color:#6b7280;font-weight:750}.home-page .field input,.home-page .field select{border:0;color:#263a55;font-size:clamp(1.35rem,2.2vw,2.35rem);font-weight:950;padding:0}.home-page .field small{color:#6b7280;font-weight:650}.home-page .fare-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px;padding-bottom:58px}.home-page .fare-row:before{content:"SPECIAL FARES";font-weight:950;line-height:1.05;margin-right:14px;width:130px}.home-page .fare-row label{border:1px solid #d6dce6;border-radius:10px;color:#667085;font-weight:850;min-height:56px;padding:12px 18px}.home-page .fare-row label:first-of-type{background:#eaf3ff;border-color:#1674e8;color:#1674e8}.home-page .fare-row input{display:none}.home-page .fare-row .search-button{background:#ff682d;border-radius:999px;bottom:28px;box-shadow:0 8px 18px #ff5b2b55;font-size:1.55rem;left:50%;min-height:64px;min-width:320px;position:absolute;transform:translateX(-50%);text-transform:uppercase}@media(max-width:980px){.home-page .header-main{grid-template-columns:1fr auto;padding:0 18px}.home-page .travel-menu{justify-content:flex-start;margin:0;overflow:auto;padding:0 18px}.home-page .hero{padding:0 14px 40px}.home-page .universal-grid{grid-template-columns:1fr}.home-page .field{border-right:0;border-bottom:1px solid #dfe6ef;min-height:105px}}

/* B2B partner command centre */
body.b2b-dashboard-page {
  background: #eef4fb;
  padding: 0;
}

.b2b-dashboard-page > main {
  margin: 0 auto;
  max-width: 1920px;
  padding: 24px 28px 64px;
}

.b2b-command-header {
  background: linear-gradient(135deg, #073966 0%, #075997 58%, #0b72b9 100%);
  border-bottom: 4px solid #f6b91b;
  box-shadow: 0 8px 26px rgba(5, 38, 72, .22);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.b2b-command-topline {
  align-items: stretch;
  display: flex;
  justify-content: space-between;
  min-height: 72px;
}

.b2b-command-brand {
  align-items: center;
  background: #fff;
  color: #092d57;
  display: flex;
  gap: 14px;
  min-width: 370px;
  padding: 9px 24px;
  text-decoration: none;
}

.b2b-command-brand img {
  height: 52px;
  object-fit: contain;
  width: 178px;
}

.b2b-command-brand span {
  display: grid;
  gap: 3px;
}

.b2b-command-brand strong {
  font-size: 1.05rem;
  font-weight: 950;
}

.b2b-command-brand small {
  color: #65748a;
  font-size: .72rem;
  font-weight: 800;
}

.b2b-command-session {
  align-items: center;
  display: flex;
  gap: 22px;
  justify-content: flex-end;
  padding: 10px 24px;
}

.b2b-command-session span {
  font-size: .82rem;
  font-weight: 750;
  opacity: .9;
}

.b2b-command-session strong {
  font-size: .92rem;
}

.b2b-command-session button,
.b2b-command-finance button {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.b2b-command-session button {
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 7px;
  min-height: 38px;
  padding: 0 16px;
  text-decoration: none;
}

.b2b-command-finance {
  align-items: center;
  background: rgba(2, 38, 73, .46);
  border-top: 1px solid rgba(255,255,255,.14);
  display: flex;
  gap: 25px;
  justify-content: flex-end;
  min-height: 45px;
  padding: 7px 24px;
}

.b2b-command-finance span {
  font-size: .83rem;
  white-space: nowrap;
}

.b2b-command-finance strong,
.b2b-command-finance button {
  color: #ffd36a;
}

.b2b-command-finance .b2b-command-recharge {
  background: #f9bd26;
  border-radius: 6px;
  color: #082c53;
  min-height: 31px;
  padding: 0 13px;
  text-decoration: none;
}

.b2b-command-finance a {
  color: #ffd36a;
  font-size: .83rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.b2b-command-finance a.b2b-command-recharge {
  align-items: center;
  display: inline-flex;
  text-decoration: none;
}

.b2b-command-modules {
  background: #fff;
  display: grid;
  grid-template-columns: repeat(10, minmax(78px, 1fr));
  overflow-x: auto;
}

.b2b-command-modules > a,
.b2b-command-modules > button {
  align-items: center;
  background: #0870b8;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 2px;
  justify-items: center;
  min-height: 74px;
  padding: 9px 7px;
  position: relative;
  text-decoration: none;
}

.b2b-command-modules > a:hover,
.b2b-command-modules > button:hover,
.b2b-command-modules > button.active {
  background: #07548d;
}

.b2b-command-modules > button.active::after {
  background: #f9bd26;
  bottom: 0;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
}

.b2b-command-modules span {
  color: #dff4ff;
  font-size: 1.65rem;
  line-height: 1;
}

.b2b-command-modules b {
  font-size: .82rem;
  font-weight: 900;
}

@media (max-width: 980px) {
  .b2b-command-header {
    position: static;
  }

  .b2b-command-topline {
    align-items: stretch;
    flex-direction: column;
  }

  .b2b-command-brand {
    min-width: 0;
    width: auto;
  }

  .b2b-command-session {
    justify-content: space-between;
    overflow-x: auto;
  }

  .b2b-command-finance {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .b2b-command-modules {
    display: flex;
  }

  .b2b-command-modules > a,
  .b2b-command-modules > button {
    flex: 0 0 102px;
  }
}

@media (max-width: 640px) {
  .b2b-dashboard-page > main {
    padding: 14px 10px 48px;
  }

  .b2b-command-brand {
    gap: 9px;
    padding: 8px 12px;
  }

  .b2b-command-brand img {
    height: 44px;
    width: 145px;
  }

  .b2b-command-brand strong {
    font-size: .88rem;
  }

  .b2b-command-brand small {
    display: none;
  }

  .b2b-command-session {
    gap: 12px;
    padding: 8px 12px;
  }

  .b2b-command-session span {
    display: none;
  }

  .b2b-command-finance {
    gap: 17px;
    padding: 7px 12px;
  }

  .b2b-command-finance span,
  .b2b-command-finance button {
    font-size: .76rem;
  }

  .b2b-command-modules > a,
  .b2b-command-modules > button {
    flex-basis: 88px;
    min-height: 66px;
  }

  .b2b-command-modules span {
    font-size: 1.4rem;
  }

  .b2b-command-modules b {
    font-size: .73rem;
  }
}

/* Permission-protected THG passenger credit-voucher creator. */
.admin-credit-voucher-dialog {
  background: #f8fbff;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 28px 80px rgba(5, 32, 69, .28);
  color: #102d53;
  max-height: calc(100vh - 32px);
  max-width: 980px;
  padding: 0;
  width: calc(100% - 32px);
}

.admin-credit-voucher-dialog::backdrop {
  background: rgba(4, 28, 59, .68);
  backdrop-filter: blur(3px);
}

.admin-credit-voucher-dialog form {
  display: grid;
  gap: 0;
}

.admin-credit-voucher-dialog header {
  align-items: flex-start;
  background: #fff;
  border-bottom: 1px solid #d7e4f1;
  display: flex;
  justify-content: space-between;
  padding: 24px 30px;
}

.admin-credit-voucher-dialog header p,
.admin-credit-voucher-dialog header h2,
.admin-credit-voucher-dialog header span,
.admin-credit-voucher-dialog footer p {
  margin: 0;
}

.admin-credit-voucher-dialog header p {
  color: #0f6fff;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.admin-credit-voucher-dialog header h2 {
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  margin: 5px 0 7px;
}

.admin-credit-voucher-dialog header span,
.admin-credit-voucher-dialog footer p {
  color: #65758c;
  font-weight: 700;
}

.admin-credit-voucher-dialog header > button {
  background: #eaf2fb;
  border: 0;
  border-radius: 12px;
  color: #183c68;
  cursor: pointer;
  flex: 0 0 46px;
  font-size: 1.6rem;
  height: 46px;
}

.admin-credit-voucher-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 24px 30px;
}

.admin-credit-voucher-grid label {
  color: #30435e;
  display: grid;
  font-size: .82rem;
  font-weight: 900;
  gap: 7px;
}

.admin-credit-voucher-grid input,
.admin-credit-voucher-grid textarea {
  background: #fff;
  border: 1px solid #b9cde2;
  border-radius: 11px;
  color: #142b4b;
  font: inherit;
  min-height: 48px;
  padding: 10px 13px;
}

.admin-credit-voucher-grid textarea {
  min-height: 82px;
  resize: vertical;
}

.admin-credit-voucher-grid small {
  color: #718198;
  font-weight: 700;
}

.admin-credit-voucher-wide {
  grid-column: 1 / -1;
}

.admin-credit-voucher-code-row {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr auto;
}

.admin-credit-voucher-code-row button,
.admin-credit-voucher-dialog footer button {
  background: #eaf3ff;
  border: 1px solid #b8d4f3;
  border-radius: 10px;
  color: #0d58aa;
  cursor: pointer;
  font-weight: 900;
  padding: 10px 15px;
}

.admin-credit-voucher-dialog footer {
  align-items: center;
  background: #fff;
  border-top: 1px solid #d7e4f1;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 18px 30px;
}

.admin-credit-voucher-dialog footer > div {
  display: flex;
  gap: 10px;
}

.admin-credit-voucher-dialog footer #createAdminCreditVoucher {
  background: #0f6fff;
  border-color: #0f6fff;
  color: #fff;
}

.admin-credit-voucher-dialog button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.admin-credit-voucher-result {
  display: none;
  margin: 0 30px 22px;
}

.admin-credit-voucher-result:not(:empty) {
  border: 1px solid #bed3e7;
  border-radius: 12px;
  display: grid;
  gap: 5px;
  padding: 13px 15px;
}

.admin-credit-voucher-result.success {
  background: #eaf9f4;
  border-color: #9bd8c7;
  color: #087461;
}

.admin-credit-voucher-result.error {
  background: #fff0ef;
  border-color: #efb5b1;
  color: #a32119;
}

@media (max-width: 700px) {
  .admin-credit-voucher-dialog header,
  .admin-credit-voucher-dialog footer {
    align-items: stretch;
    flex-direction: column;
    padding: 20px;
  }

  .admin-credit-voucher-grid {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .admin-credit-voucher-wide {
    grid-column: auto;
  }

  .admin-credit-voucher-code-row {
    grid-template-columns: 1fr;
  }

  .admin-credit-voucher-dialog footer > div {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Compact B2B command centre and above-the-fold operations. */
.b2b-dashboard-load-state {
  align-items: center;
  background: #fff;
  border: 1px solid #cadced;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(12, 47, 91, .1);
  display: flex;
  gap: 20px;
  margin: 36px auto;
  max-width: 880px;
  padding: 28px 32px;
}

.b2b-dashboard-load-state.is-hidden {
  display: none;
}

.b2b-dashboard-load-state p,
.b2b-dashboard-load-state h1,
.b2b-dashboard-load-state span {
  margin: 0;
}

.b2b-dashboard-load-state p {
  color: #087b6c;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.b2b-dashboard-load-state h1 {
  color: #102d53;
  font-size: clamp(1.35rem, 3vw, 2rem);
  margin: 4px 0 6px;
}

.b2b-dashboard-load-state > div > span {
  color: #607089;
  font-weight: 700;
}

.b2b-dashboard-loader {
  animation: b2b-dashboard-spin .8s linear infinite;
  border: 5px solid #d7e7f7;
  border-radius: 50%;
  border-top-color: #0f6fff;
  flex: 0 0 42px;
  height: 42px;
  width: 42px;
}

.b2b-dashboard-load-state button {
  background: #0f6fff;
  border: 0;
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-weight: 900;
  margin-left: auto;
  min-height: 44px;
  padding: 10px 18px;
}

.b2b-dashboard-load-error .b2b-dashboard-loader {
  animation: none;
  border-color: #f2c0bd;
  border-top-color: #b42318;
}

.b2b-dashboard-loading main > section:not(.b2b-dashboard-load-state),
.b2b-dashboard-load-error main > section:not(.b2b-dashboard-load-state) {
  display: none;
}

.b2b-dashboard-loading .b2b-command-finance button,
.b2b-dashboard-loading .b2b-command-modules,
.b2b-dashboard-load-error .b2b-command-finance button,
.b2b-dashboard-load-error .b2b-command-modules {
  opacity: .45;
  pointer-events: none;
}

.b2b-dashboard-loading #b2bHeaderAccountCode,
.b2b-dashboard-loading #b2bHeaderWallet,
.b2b-dashboard-loading #b2bHeaderCredit {
  animation: b2b-dashboard-pulse 1.1s ease-in-out infinite alternate;
}

@keyframes b2b-dashboard-spin {
  to { transform: rotate(360deg); }
}

@keyframes b2b-dashboard-pulse {
  from { opacity: .35; }
  to { opacity: 1; }
}

.b2b-command-topline {
  min-height: 60px;
}

.b2b-command-brand {
  min-width: 318px;
  padding: 6px 18px;
}

.b2b-command-brand img {
  height: 44px;
  width: 150px;
}

.b2b-command-session {
  gap: 16px;
  padding: 7px 18px;
}

.b2b-command-finance {
  gap: 20px;
  min-height: 38px;
  padding: 4px 18px;
}

.b2b-command-modules {
  grid-template-columns: repeat(10, minmax(78px, 1fr));
}

.b2b-command-modules > a,
.b2b-command-modules > button {
  min-height: 56px;
  padding: 6px 5px;
}

.b2b-command-modules span {
  font-size: 1.25rem;
}

.b2b-command-modules b {
  font-size: .74rem;
}

.b2b-portal-hero {
  align-items: center;
  margin-bottom: 14px;
  padding: 18px 24px;
}

.b2b-portal-hero h1 {
  font-size: clamp(1.7rem, 2.6vw, 2.7rem);
  line-height: 1.04;
  max-width: 900px;
}

.b2b-portal-hero > div:first-child > span {
  color: #526782;
  display: block;
  font-weight: 720;
  margin-top: 7px;
}

.b2b-agency-code-warning {
  background: #fff3cd;
  border: 1px solid #efd17b;
  border-radius: 8px;
  color: #785300;
  display: inline-flex;
  font-size: .76rem;
  font-weight: 850;
  margin-top: 9px;
  padding: 6px 9px;
}

.b2b-agency-code-warning.is-hidden {
  display: none;
}

.b2b-identity-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.b2b-identity-badges span {
  background: #e9f8f4;
  border: 1px solid #a7ddcf;
  border-radius: 999px;
  color: #087461;
  font-size: .72rem;
  font-weight: 900;
  padding: 7px 10px;
}

.b2b-identity-badges span:nth-child(2) {
  background: #fff5d9;
  border-color: #eed188;
  color: #775500;
}

.b2b-identity-badges span:nth-child(3) {
  background: #eaf3ff;
  border-color: #b7d4f7;
  color: #14569e;
}

.b2b-funding-alert {
  align-items: center;
  background: linear-gradient(135deg, #fff7de, #fff);
  border: 1px solid #efd17b;
  border-left: 5px solid #e2a500;
  border-radius: 14px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 14px 18px;
}

.b2b-funding-alert.is-hidden {
  display: none;
}

.b2b-funding-alert > div:first-child {
  display: grid;
  gap: 3px;
}

.b2b-funding-alert span {
  color: #936600;
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.b2b-funding-alert strong {
  color: #1a3150;
  font-size: 1rem;
}

.b2b-funding-alert p {
  color: #607089;
  font-size: .82rem;
  font-weight: 700;
  margin: 0;
}

.b2b-operations-strip {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 14px;
}

.b2b-operations-strip article {
  background: #fff;
  border: 1px solid #cadced;
  border-top: 3px solid var(--partner-brand-color, #0f6fff);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(16, 45, 82, .06);
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px 14px;
}

.b2b-operations-strip span {
  color: #667890;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.b2b-operations-strip strong {
  color: #0b315f;
  font-size: 1.35rem;
  overflow-wrap: anywhere;
}

.b2b-operations-strip small {
  color: #77879b;
  font-size: .7rem;
  font-weight: 700;
}

.b2b-cancellation-operations {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 14px;
}

.b2b-cancellation-operations button {
  background: linear-gradient(145deg, #fff, #f8fbff);
  border: 1px solid #cadced;
  border-left: 4px solid #0f6fff;
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  text-align: left;
}

.b2b-cancellation-operations button:hover,
.b2b-cancellation-operations button:focus-visible,
.b2b-cancellation-operations button.is-active {
  background: #edf6ff;
  border-color: #0f6fff;
  outline: none;
}

.b2b-cancellation-operations span {
  color: #526782;
  font-size: .69rem;
  font-weight: 950;
  text-transform: uppercase;
}

.b2b-cancellation-operations strong {
  color: #0b315f;
  font-size: 1.35rem;
}

.b2b-cancellation-operations small {
  color: #687b94;
  font-size: .72rem;
  font-weight: 800;
}

.b2b-cancellation-operations em,
.b2b-cancellation-sla {
  border-radius: 7px;
  color: #526782;
  font-size: .68rem;
  font-style: normal;
  font-weight: 900;
  margin-top: 4px;
}

.b2b-cancellation-operations em.is-warning,
.b2b-cancellation-sla.is-warning {
  background: #fff3cd;
  color: #805700;
}

.b2b-cancellation-operations em.is-critical,
.b2b-cancellation-sla.is-critical {
  background: #ffebe9;
  color: #a32119;
}

.b2b-cancellation-operations em.is-on-time,
.b2b-cancellation-operations em.is-complete,
.b2b-cancellation-sla.is-on-time,
.b2b-cancellation-sla.is-complete {
  background: #e9f8f4;
  color: #087461;
}

.b2b-cancellation-operations em {
  justify-self: start;
  padding: 4px 7px;
}

.b2b-cancellation-sla {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 8px 10px;
}

.b2b-secondary-metrics {
  background: #f7faff;
  border: 1px solid #cadced;
  border-radius: 14px;
  margin-bottom: 18px;
  padding: 0 14px;
}

.b2b-secondary-metrics summary {
  color: #174a85;
  cursor: pointer;
  font-weight: 900;
  padding: 13px 2px;
}

.b2b-secondary-metrics .metric-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 0 14px;
}

@media (max-width: 1180px) {
  .b2b-cancellation-operations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-operations-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .b2b-secondary-metrics .metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .b2b-command-topline {
    min-height: 0;
  }

  .b2b-command-brand {
    min-width: 0;
  }

  .b2b-command-finance {
    min-height: 38px;
  }

  .b2b-command-modules > a,
  .b2b-command-modules > button {
    flex: 0 0 90px;
    min-height: 56px;
  }
}

@media (max-width: 700px) {
  .b2b-dashboard-load-state {
    align-items: flex-start;
    flex-direction: column;
    margin: 20px 0;
    padding: 22px;
  }

  .b2b-dashboard-load-state button {
    margin-left: 0;
    width: 100%;
  }

  .b2b-portal-hero {
    align-items: stretch;
    padding: 16px;
  }

  .b2b-portal-hero .status-badges,
  .b2b-identity-badges {
    justify-items: stretch;
    justify-content: flex-start;
  }

  .b2b-primary-link {
    justify-content: center;
  }

  .b2b-funding-alert {
    align-items: stretch;
    flex-direction: column;
  }

  .b2b-funding-alert .api-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .b2b-operations-strip,
  .b2b-cancellation-operations,
  .b2b-secondary-metrics .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .b2b-command-brand img {
    height: 38px;
    width: 125px;
  }

  .b2b-command-session strong {
    font-size: .78rem;
  }

  .b2b-operations-strip,
  .b2b-cancellation-operations,
  .b2b-secondary-metrics .metric-grid,
  .b2b-funding-alert .api-actions {
    grid-template-columns: 1fr;
  }
}
.search-performance-card {
  margin: 18px 0;
}

.search-performance-table {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
}

.search-performance-row {
  display: grid;
  grid-template-columns: minmax(90px, 1.2fr) repeat(5, minmax(82px, 1fr));
  gap: 10px;
  align-items: center;
  min-width: 650px;
  padding: 11px 14px;
  border: 1px solid #d7e5f7;
  border-radius: 12px;
  background: #f8fbff;
}

.search-performance-heading {
  color: #5d708c;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.search-performance-privacy {
  display: block;
  margin-top: 12px;
  color: #60728d;
}

/* Master-admin payment reconciliation: isolated from service-picker chips. */
[data-payment-recovery].b2b-service-picker {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
[data-payment-recovery] p { overflow-wrap: anywhere; }
[data-payment-recovery] label {
  display: grid;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  text-transform: none;
}
[data-payment-recovery] input:not([type="checkbox"]),
[data-payment-recovery] textarea {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e6f8;
  border-radius: 8px;
  font: inherit;
}
[data-payment-recovery] label:has([type="checkbox"]) {
  display: flex;
  align-items: flex-start;
  margin: 16px 0;
}
[data-payment-recovery] input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; }
[data-payment-recovery] button { min-height: 44px; white-space: normal; }

.b2b-payment-queue { padding: 20px; margin: 20px 0; border: 1px solid #d7e6f8; border-radius: 12px; background: #f7fbff; min-width: 0; }
.payment-queue-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.payment-queue-filters label { display: grid; gap: 6px; min-width: 0; }
.payment-queue-filters select { width: 100%; min-width: 0; min-height: 44px; }
.payment-queue-item { padding: 16px; margin: 12px 0; border: 1px solid #d7e6f8; border-radius: 10px; background: white; overflow-wrap: anywhere; }
.b2b-payment-queue button { min-height: 44px; white-space: normal; padding: 10px 16px; border: 1px solid #0f6fff; border-radius: 8px; color: #fff; background: #0f6fff; font: inherit; font-weight: 700; cursor: pointer; }
.b2b-payment-queue button:disabled { opacity: 0.55; cursor: wait; }
.b2b-payment-queue select { padding: 8px; border: 1px solid #d7e6f8; border-radius: 8px; font: inherit; }
@media (max-width: 480px) { .payment-queue-filters { grid-template-columns: minmax(0, 1fr); } }
