@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap");

:root {
  --ink: #0b1737;
  --muted: #60708b;
  --line: #d8e0ec;
  --blue: #147ff3;
  --orange: #f58220;
  --violet: #704ff8;
  --green: #10b981;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: "Roboto", Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
a { color: #006fe8; text-decoration: none; }
a:hover { text-decoration: underline; }

.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 56% 44%;
  overflow: hidden;
  background: #fff;
}

.visual-panel {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: url('../images/login-destination.png') center center / cover no-repeat;
  isolation: isolate;
}
.visual-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(235,247,255,.72) 0%, rgba(238,248,255,.48) 38%, rgba(255,255,255,.06) 76%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  pointer-events: none;
}
.brand-row {
  position: absolute;
  top: 44px;
  left: 6.8%;
  z-index: 2;
}
.brand-logo {
  width: clamp(168px, 12.6vw, 225px);
  height: auto;
  display: block;
}
.hero-copy {
  position: absolute;
  left: 6.8%;
  top: 22.6%;
  width: min(670px, 82%);
  z-index: 2;
}
.hero-copy h1 {
  margin: 0;
  color: #0a1735;
  font-size: clamp(50px, 4.2vw, 76px);
  line-height: 1.03;
  letter-spacing: -.055em;
  font-weight: 800;
}
.hero-copy h1 .people { color: #086bea; }
.hero-copy h1 .love {
  background: linear-gradient(90deg, #7f56d9 0%, #c23fc7 48%, #f07e21 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-text {
  margin: 32px 0 0;
  color: #455d7e;
  font-size: clamp(16px, 1.18vw, 20px);
  line-height: 1.62;
  font-weight: 400;
}
.feature-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 30px;
  width: min(660px, 100%);
  margin-top: 27px;
}
.feature-item {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.feature-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 9px 25px rgba(35,91,150,.07);
  backdrop-filter: blur(8px);
}
.feature-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.feature-icon.violet { color: var(--violet); }
.feature-icon.green { color: var(--green); }
.feature-icon.orange { color: var(--orange); }
.feature-item strong {
  display: block;
  margin-bottom: 4px;
  color: #10213f;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.feature-item small {
  display: block;
  color: #526785;
  font-size: 10.5px;
  line-height: 1.35;
  white-space: nowrap;
}
.plane-mark {
  position: absolute;
  right: 10.2%;
  top: 10.8%;
  width: 162px;
  z-index: 2;
  opacity: .92;
}
.plane-mark svg { display: block; width: 100%; }
.plane-mark .route {
  fill: none;
  stroke: rgba(255,255,255,.95);
  stroke-width: 1.4;
  stroke-dasharray: 5 6;
}
.plane-mark .plane { fill: #fff; }

.form-panel {
  position: relative;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 70px clamp(48px, 5vw, 92px) 66px;
  background: #fff;
}
.language-wrap {
  position: absolute;
  top: 30px;
  right: 5.7%;
}
.language-btn {
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #dbe2ec;
  border-radius: 11px;
  background: #fff;
  color: #172540;
  box-shadow: 0 2px 10px rgba(15,43,75,.025);
  cursor: pointer;
}
.language-btn svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.language-btn .chevron { width: 14px; }
.language-btn span { font-size: 13px; font-weight: 600; }

.login-wrap {
  width: min(100%, 490px);
  margin: -4px auto 0;
}
.login-wrap h2 {
  margin: 0;
  text-align: center;
  color: #0e1e42;
  font-size: clamp(32px, 2.15vw, 39px);
  line-height: 1.14;
  letter-spacing: -.035em;
  font-weight: 800;
}
.subtitle {
  margin: 12px 0 41px;
  text-align: center;
  color: #66758d;
  font-size: 16px;
}
.field-group { margin-bottom: 23px; }
.field-group label {
  display: block;
  margin: 0 0 9px;
  color: #17233d;
  font-size: 13px;
  font-weight: 700;
}
.input-shell {
  height: 60px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 17px;
  border: 1px solid #d8e0ec;
  border-radius: 9px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.input-shell:focus-within {
  border-color: #66aef8;
  box-shadow: 0 0 0 3px rgba(22,139,229,.08);
}
.input-shell > svg {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: #647892;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.input-shell input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17233d;
  font-size: 14px;
}
.input-shell input::placeholder { color: #8a99af; }
.password-toggle {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: #657892;
  cursor: pointer;
}
.password-toggle svg {
  grid-area: 1/1;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.password-toggle .eye-closed { display: none; }
.password-toggle.visible .eye-open { display: none; }
.password-toggle.visible .eye-closed { display: block; }
.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -1px 0 25px;
  font-size: 12.5px;
}
.remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #65718a;
  cursor: pointer;
}
.remember input {
  width: 15px;
  height: 15px;
  accent-color: #168be5;
}
.form-actions a { font-weight: 600; }
.primary-btn {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(90deg, #0c80ed 0%, #327bea 47%, #b64be5 100%);
  box-shadow: 0 12px 28px rgba(31,116,229,.18);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.primary-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 15px 32px rgba(31,116,229,.23);
}
.primary-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.copyright {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  margin: 0;
  text-align: center;
  color: #a0a9b8;
  font-size: 10.5px;
}



@media (max-width: 1180px) {
  .login-page { grid-template-columns: 53% 47%; }
  .hero-copy, .brand-row { left: 6%; }
  .feature-row { gap: 14px; }
  .feature-item small { white-space: normal; }
}

@media (max-width: 900px) {
  .login-page { display: block; }
  .visual-panel { display: none; }
  .form-panel {
    min-height: 100vh;
    padding: 92px 24px 74px;
  }
  .language-wrap { top: 22px; right: 22px; }
  .login-symbol { margin-bottom: 18px; }
}

@media (max-width: 520px) {
  .form-panel {
    align-items: flex-start;
    padding-left: 18px;
    padding-right: 18px;
  }
  .login-wrap { margin-top: 46px; }
  .login-wrap h2 { font-size: 30px; }
  .subtitle { margin-bottom: 31px; font-size: 14px; }
  .input-shell { height: 56px; }
  .primary-btn { height: 56px; }
  .form-actions { font-size: 12px; }
  .copyright { position: static; margin-top: 42px; }
}

/* Forgot password */
.forgot-wrap .forgot-subtitle {
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 34px;
  line-height: 1.6;
}

.forgot-wrap .field-group {
  margin-bottom: 24px;
}

.back-login {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 24px auto 0;
  color: #176fd6;
  font-size: 13px;
  font-weight: 600;
}

.back-login svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* =========================================================
   ItineraryFox app / Trips workspace
   ========================================================= */
.app-body {
  min-height: 100vh;
  background: #f7f9fd;
  color: #10203d;
}
.app-body svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-header {
  position: sticky;
  top: 0;
  z-index: 80;
  height: 88px;
  display: grid;
  grid-template-columns: 148px 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 0 34px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e6ebf4;
  box-shadow: 0 6px 24px rgba(21,55,99,.035);
  backdrop-filter: blur(16px);
}
.app-brand {
  width: fit-content;
  display: flex;
  align-items: center;
}
.app-brand img {
  display: block;
  width: 148px;
  height: auto;
}
.app-nav {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-link {
  height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 17px;
  border-radius: 13px;
  color: #52627d;
  font-size: 15px;
  font-weight: 600;
  transition: .18s ease;
}
.nav-link:hover { text-decoration: none; color: #1e6ff2; background: #f4f7ff; }
.nav-link.active {
  color: #176cf5;
  background: linear-gradient(135deg,#edf5ff,#f5f0ff);
}
.nav-link svg { width: 20px; height: 20px; }
.app-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.header-menu-wrap { position: relative; }
.icon-btn {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #e3e9f3;
  border-radius: 14px;
  background: #fff;
  color: #64748e;
  cursor: pointer;
  transition: .18s ease;
}
.icon-btn:hover { color: #176cf5; border-color: #cddaf1; background: #f8faff; }
.icon-btn svg { width: 21px; height: 21px; }
.notification-count {
  position: absolute;
  top: -5px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ef435d;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
}
.new-trip-btn {
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(105deg,#147ff3 0%,#3b73ee 55%,#ad43df 100%);
  color: #fff;
  box-shadow: 0 10px 22px rgba(52,105,230,.18);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.new-trip-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 26px rgba(52,105,230,.23); }
.new-trip-btn svg { width: 19px; height: 19px; }
.profile-toggle {
  min-width: 198px;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px 5px 7px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: #1b2d4b;
  text-align: left;
  cursor: pointer;
  transition: .18s ease;
}
.profile-toggle:hover, .profile-toggle[aria-expanded="true"] { background: #f8faff; border-color: #e6ebf4; }
.avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg,#dbeaff,#efe4ff);
  color: #315899;
  box-shadow: inset 0 0 0 1px rgba(88,119,170,.1);
  font-size: 12px;
  font-weight: 800;
}
.avatar.large { width: 48px; height: 48px; flex-basis: 48px; font-size: 13px; }
.profile-copy { min-width: 0; display: grid; gap: 3px; }
.profile-copy strong { font-size: 14.5px; font-weight: 700; color: #172741; }
.profile-copy small { color: #8290a5; font-size: 12px; }
.profile-chevron { width: 16px; height: 16px; margin-left: auto; color: #7e8ca3; transition: transform .18s ease; }
.profile-toggle[aria-expanded="true"] .profile-chevron { transform: rotate(180deg); }
.dropdown-panel {
  position: absolute;
  z-index: 120;
  display: none;
  border: 1px solid #e3e9f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(23,48,89,.13);
}
.dropdown-panel.open { display: block; animation: menuIn .15s ease-out; }
@keyframes menuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.profile-menu {
  top: calc(100% + 10px);
  right: 0;
  width: 286px;
  padding: 10px;
}
.profile-menu-head { display: flex; gap: 11px; padding: 10px 9px 12px; }
.profile-menu-head > div { display: grid; align-content: center; gap: 3px; min-width: 0; }
.profile-menu-head strong { color: #14233e; font-size: 15px; }
.profile-menu-head span { overflow: hidden; color: #6f7d92; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.profile-menu-head small { width: fit-content; padding: 3px 7px; border-radius: 999px; background: #eef5ff; color: #176cf5; font-size: 10.5px; font-weight: 700; }
.profile-menu > a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  padding: 0 10px;
  border-radius: 10px;
  color: #40516d;
  font-size: 14px;
  font-weight: 600;
}
.profile-menu > a:hover { text-decoration: none; background: #f6f9fe; color: #176cf5; }
.profile-menu > a svg { width: 17px; height: 17px; color: #718098; }
.profile-menu > a.danger-link { color: #d93c50; }
.profile-menu > a.danger-link svg { color: currentColor; }
.dropdown-separator { height: 1px; margin: 6px 5px; background: #edf0f5; }
.notification-menu { top: calc(100% + 10px); right: 0; width: 390px; overflow: hidden; }
.dropdown-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 12px; }
.dropdown-head > div { display: grid; gap: 3px; }
.dropdown-head strong { font-size: 15px; color: #172741; }
.dropdown-head span { color: #8491a6; font-size: 12px; }
.text-btn { border: 0; background: transparent; color: #176cf5; font: inherit; font-weight: 600; cursor: pointer; }
.dropdown-head .text-btn { font-size: 12px; }
.notification-item { position: relative; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid #f0f3f7; color: #25344e; }
.notification-item:hover { text-decoration: none; background: #f8fbff; }
.notification-item.unread { background: #fbfdff; }
.notification-item.unread::after { content: ''; position: absolute; right: 12px; width: 6px; height: 6px; border-radius: 50%; background: #2584f3; }
.notification-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; }
.notification-icon svg { width: 18px; height: 18px; }
.notification-icon.blue { color: #247af2; background: #eef5ff; }
.notification-icon.green { color: #11a66d; background: #ecfbf5; }
.notification-icon.orange { color: #ef861e; background: #fff4e7; }
.notification-item > span:last-child { display: grid; gap: 3px; padding-right: 12px; }
.notification-item strong { font-size: 13.5px; }
.notification-item small { color: #8895a8; font-size: 11.5px; }
.notification-view-all { display: block; padding: 13px; border-top: 1px solid #eef1f6; text-align: center; font-size: 12.5px; font-weight: 700; }

.trips-page { max-width: 1560px; margin: 0 auto; padding: 42px 44px 56px; }
.trips-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 5px 2px 26px; }
.eyebrow { margin: 0 0 9px; color: #8b9ab0 !important; font-size: 10px !important; letter-spacing: .14em; font-weight: 800 !important; }
.trips-hero h1 { margin: 0; color: #0c1b3a; font-size: 38px; line-height: 1.1; letter-spacing: -.04em; }
.trips-hero p { margin: 9px 0 0; color: #6d7c92; font-size: 13.5px; }
.greeting-pill { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 16px; border: 1px solid #e2e8f2; border-radius: 13px; background: #fff; box-shadow: 0 7px 18px rgba(41,67,106,.05); color: #176cf5; font-size: 13.5px; }
.sun-dot { font-size: 17px; }
.trip-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 18px; }
.toolbar-new { min-width: 136px; }
.toolbar-right { display: flex; align-items: center; gap: 10px; }
.search-box { width: min(430px, 36vw); height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid #dde5f0; border-radius: 11px; background: #fff; color: #8090a6; transition: .18s ease; }
.search-box:focus-within { border-color: #8db8f8; box-shadow: 0 0 0 3px rgba(24,112,241,.07); }
.search-box svg { width: 18px; height: 18px; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: #20314d; font-size: 13.5px; }
.search-box input::placeholder { color: #91a0b4; }
.search-box kbd { min-width: 35px; padding: 3px 6px; border: 1px solid #e4e9f1; border-radius: 6px; background: #f8fafc; color: #a0aab9; font-family: inherit; font-size: 10.5px; font-weight: 600; text-align: center; }
.filter-wrap { position: relative; }
.filter-btn { height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #dde5f0; border-radius: 11px; background: #fff; color: #485a76; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.filter-btn:hover, .filter-btn[aria-expanded="true"] { border-color: #bfd0eb; color: #176cf5; }
.filter-btn svg { width: 17px; height: 17px; }
.filter-count { min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 999px; background: #176cf5; color: #fff; font-size: 10.5px; }
.filters-panel { top: calc(100% + 8px); right: 0; width: 310px; padding: 15px; }
.filter-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }
.filter-head strong { font-size: 14.5px; }
.filter-head .text-btn { font-size: 12px; }
.filter-field { display: grid; gap: 7px; margin: 10px 0; color: #5f6f87; font-size: 12.5px; font-weight: 700; }
.filter-field select, .modal-field select, .modal-field input, .modal-field textarea { width: 100%; height: 42px; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; color: #273852; outline: 0; padding: 0 10px; font: inherit; font-size: 13px; }
.filter-field select:focus, .modal-field select:focus, .modal-field input:focus, .modal-field textarea:focus { border-color: #83b4f8; box-shadow: 0 0 0 3px rgba(22,111,243,.06); }
.apply-filters { width: 100%; height: 42px; margin-top: 6px; border: 0; border-radius: 9px; background: #176cf5; color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }

.trips-table-card { position: relative; border: 1px solid #e1e7f0; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(23,52,93,.045); overflow: visible; }
.trips-table-scroll { overflow-x: auto; overflow-y: visible; border-radius: 16px 16px 0 0; }
.trips-table { width: 100%; min-width: 1110px; border-collapse: separate; border-spacing: 0; }
.trips-table th { height: 50px; padding: 0 18px; border-bottom: 1px solid #e8edf4; background: #fbfcfe; color: #687890; text-align: left; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.trips-table th:first-child { border-top-left-radius: 16px; }
.trips-table th:last-child { border-top-right-radius: 16px; }
.sort-btn { display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.sort-btn span { color: #98a6b8; font-size: 11px; }
.name-col { width: 39%; }
.status-col { width: 110px; }
.actions-col { width: 72px; text-align: center !important; }
.trips-table td { height: 82px; padding: 11px 18px; border-bottom: 1px solid #edf1f6; color: #3c4d68; font-size: 13px; vertical-align: middle; }
.trips-table tbody tr:last-child td { border-bottom: 0; }
.trip-row { transition: background .15s ease; }
.trip-row:hover { background: #fbfdff; }
.trip-name-cell { display: flex; align-items: center; gap: 13px; min-width: 250px; }
.trip-thumb { flex: 0 0 82px; width: 82px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.trip-thumb svg { width: 100%; height: 100%; stroke: none; }
.trip-thumb { position: relative; background-color: #eef3fb; }
.trip-thumb .trip-thumb-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; }
.trip-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.trip-thumb.has-cover { box-shadow: inset 0 0 0 1px rgba(15,42,80,.08); }
.trip-thumb.santorini { background: linear-gradient(145deg,#63c4f4,#1f7bcf 60%,#7caecf); }
.trip-thumb.dubai { background: linear-gradient(145deg,#132d4f,#d98b56 70%,#f4c18a); }
.trip-thumb.bali { background: linear-gradient(145deg,#e06949,#5d9c78 60%,#1f6659); }
.trip-thumb.swiss { background: linear-gradient(145deg,#81c9e7,#6e9b6c 60%,#345d52); }
.trip-thumb.japan { background: linear-gradient(145deg,#f2a39d,#c85878 62%,#4b365d); }
.trip-thumb.maldives { background: linear-gradient(145deg,#58d4df,#2e9ec9 60%,#1676a5); }
.trip-name-cell > div:last-child { min-width: 0; display: grid; gap: 7px; }
.trip-name-cell strong { color: #172845; font-size: 14.5px; font-weight: 700; }
.trip-name-cell span { display: flex; align-items: center; gap: 5px; color: #78889e; font-size: 11.5px; }
.trip-name-cell span svg { width: 14px; height: 14px; color: #8094b2; }
.date-cell { display: flex; align-items: center; gap: 9px; min-width: 145px; }
.date-cell > svg { width: 18px; height: 18px; color: #6b9df1; }
.date-cell > div { display: grid; gap: 4px; }
.date-cell strong { color: #354660; font-size: 13px; font-weight: 600; }
.date-cell span { color: #93a0b1; font-size: 11px; }
.activity-cell { display: flex; align-items: flex-start; gap: 8px; min-width: 135px; }
.activity-dot { flex: 0 0 7px; width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; }
.activity-dot.green { background: #1db978; }
.activity-dot.blue { background: #2584f3; }
.activity-dot.orange { background: #f39a38; }
.activity-cell > div { display: grid; gap: 4px; }
.activity-cell strong { color: #43536c; font-size: 13px; font-weight: 600; }
.activity-cell span { color: #98a4b4; font-size: 11px; }
.status-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 86px; height: 29px; padding: 0 11px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.status-badge.confirmed { background: #eaf9f2; color: #119561; }
.status-badge.proposal { background: #eef4ff; color: #3274dc; }
.status-badge.planning { background: #f3edff; color: #8757d5; }
.status-badge.booked { background: #eaf8fb; color: #13859f; }
.row-actions { position: relative; text-align: center; overflow: visible; }
.row-menu-toggle { width: 36px; height: 36px; border: 1px solid #e1e7ef; border-radius: 9px; background: #fff; color: #4d8dea; font-size: 14px; font-weight: 800; letter-spacing: 1px; cursor: pointer; }
.row-menu-toggle:hover, .row-menu-toggle[aria-expanded="true"] { background: #f4f8ff; border-color: #cbdaf1; }
.row-menu { top: 50px; right: 14px; width: 224px; padding: 8px; text-align: left; }
.row-menu > a { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 11px; border-radius: 9px; color: #44566f; font-size: 13.5px; font-weight: 600; }
.row-menu > a:hover { text-decoration: none; color: #176cf5; background: #f5f9ff; }
.row-menu > a svg { width: 17px; height: 17px; color: #71849e; }
.row-menu > a.danger-link { color: #dc4457; }
.empty-trips { padding: 70px 20px; text-align: center; }
.empty-icon { width: 50px; height: 50px; display: grid; place-items: center; margin: 0 auto 13px; border-radius: 14px; background: #eef5ff; color: #176cf5; }
.empty-icon svg { width: 23px; height: 23px; }
.empty-trips strong { display: block; margin-bottom: 6px; font-size: 14px; }
.empty-trips p { margin: 0 0 12px; color: #8996a9; font-size: 11px; }
.table-footer { min-height: 56px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding: 0 16px; border-top: 1px solid #edf1f6; color: #7d8b9f; font-size: 11.5px; }
.table-footer label { justify-self: end; display: flex; align-items: center; gap: 7px; }
.table-footer select { height: 32px; border: 1px solid #e1e7ef; border-radius: 7px; background: #fff; color: #56667d; font-size: 11.5px; }
.pagination { display: flex; align-items: center; gap: 5px; }
.pagination button { width: 31px; height: 31px; border: 1px solid #e0e6ef; border-radius: 8px; background: #fff; color: #8290a3; font-size: 12px; cursor: pointer; }
.pagination button.active { border-color: #5798f8; color: #176cf5; box-shadow: 0 0 0 2px rgba(23,108,245,.05); }
.pagination button:disabled { opacity: .42; cursor: default; }

.modal-backdrop, .confirm-backdrop { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: rgba(12,26,50,.32); backdrop-filter: blur(4px); }
.modal-backdrop[hidden], .confirm-backdrop[hidden] { display: none; }
.modal-card { width: min(680px, 100%); max-height: 92vh; overflow-y: auto; border: 1px solid rgba(255,255,255,.8); border-radius: 20px; background: #fff; box-shadow: 0 30px 80px rgba(12,35,72,.22); }
.modal-head { display: flex; justify-content: space-between; gap: 20px; padding: 24px 26px 18px; border-bottom: 1px solid #edf1f6; }
.modal-kicker { color: #8f9cb0; font-size: 9px; letter-spacing: .14em; font-weight: 800; }
.modal-head h2 { margin: 5px 0 5px; color: #11203d; font-size: 25px; letter-spacing: -.03em; }
.modal-head p { margin: 0; color: #7d8a9d; font-size: 11px; }
.modal-close { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #e3e9f1; border-radius: 10px; background: #fff; color: #718198; cursor: pointer; }
.modal-close svg { width: 18px; height: 18px; }
.trip-start-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px 26px 0; }
.start-option { position: relative; min-height: 76px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e0e6ef; border-radius: 12px; cursor: pointer; }
.start-option input { position: absolute; opacity: 0; pointer-events: none; }
.start-option.selected { border-color: #70a8fa; background: #f8fbff; box-shadow: 0 0 0 3px rgba(27,112,239,.05); }
.start-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; }
.start-icon svg { width: 18px; height: 18px; }
.start-icon.blue { color: #176cf5; background: #eaf3ff; }
.start-icon.violet { color: #8653df; background: #f3edff; }
.start-option strong { display: block; margin-bottom: 4px; color: #26364e; font-size: 11.5px; }
.start-option small { display: block; color: #8a97aa; font-size: 9.5px; }
.new-trip-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 13px; padding: 20px 26px 26px; }
.modal-field { display: grid; gap: 7px; color: #52627a; font-size: 10.5px; font-weight: 700; }
.modal-field.full { grid-column: 1 / -1; }
.modal-field > span { color: #e25363; }
.modal-input-icon { position: relative; }
.modal-input-icon svg { position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; color: #8294ae; transform: translateY(-50%); }
.modal-input-icon input { padding-left: 36px; }
.modal-actions { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: 9px; padding-top: 7px; }
.secondary-btn, .create-trip-submit, .danger-btn { height: 42px; padding: 0 16px; border-radius: 9px; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.secondary-btn { border: 1px solid #dfe6ef; background: #fff; color: #53647d; }
.create-trip-submit { display: inline-flex; align-items: center; gap: 8px; border: 0; background: linear-gradient(105deg,#147ff3,#a943df); color: #fff; }
.create-trip-submit svg { width: 17px; height: 17px; }
.confirm-card { width: min(390px,100%); padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(12,35,72,.22); text-align: center; }
.danger-round { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 14px; border-radius: 50%; background: #fff0f2; color: #db4155; }
.danger-round svg { width: 22px; height: 22px; }
.confirm-card h2 { margin: 0; color: #1d2c45; font-size: 18px; }
.confirm-card p { margin: 9px 0 20px; color: #7e8b9e; font-size: 10.5px; line-height: 1.6; }
.confirm-card > div { display: flex; justify-content: center; gap: 8px; }
.danger-btn { border: 0; background: #db4155; color: #fff; }
.toast { position: fixed; z-index: 300; left: 50%; bottom: 28px; display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 15px; border-radius: 12px; background: #15243e; color: #fff; box-shadow: 0 16px 35px rgba(13,32,63,.25); font-size: 11px; font-weight: 600; opacity: 0; pointer-events: none; transform: translate(-50%,14px); transition: .22s ease; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.toast-check { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #2bbd80; font-size: 10px; font-weight: 800; }

/* Trips readability + AI itinerary polish */
.toolbar-primary-actions {
  display: flex;
  align-items: center;
  gap: 11px;
}
.ai-itinerary-btn {
  position: relative;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  overflow: hidden;
  border: 1px solid #d8ccff;
  border-radius: 12px;
  background: linear-gradient(135deg,#f8f6ff 0%,#f2f7ff 52%,#fff8f0 100%);
  color: #5540b7;
  box-shadow: 0 9px 22px rgba(85,64,183,.08);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ai-itinerary-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,transparent 20%,rgba(255,255,255,.65) 45%,transparent 70%);
  transform: translateX(-130%);
  transition: transform .45s ease;
  pointer-events: none;
}
.ai-itinerary-btn:hover {
  transform: translateY(-1px);
  border-color: #bda9ff;
  box-shadow: 0 13px 27px rgba(85,64,183,.13);
}
.ai-itinerary-btn:hover::after { transform: translateX(130%); }
.ai-spark-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg,#6c55e9,#a445dc);
  color: #fff;
  box-shadow: 0 5px 12px rgba(105,78,219,.22);
}
.ai-spark-icon svg { width: 16px; height: 16px; }
.row-menu.floating-row-menu {
  position: fixed;
  z-index: 190;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  max-height: none;
  overflow: visible;
}
.ai-modal-card { width: min(760px,100%); }
.ai-modal-head { background: linear-gradient(135deg,#fbfaff,#f6faff 60%,#fffaf4); }
.ai-modal-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 9px;
  border: 1px solid #e2d9ff;
  border-radius: 999px;
  background: #f7f3ff;
  color: #6d4bd2;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
}
.ai-modal-badge svg { width: 15px; height: 15px; }
.ai-itinerary-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 14px;
  padding: 22px 26px 26px;
}
.ai-itinerary-form .modal-field { font-size: 12.5px; }
.ai-itinerary-form .modal-field input,
.ai-itinerary-form .modal-field select { height: 46px; font-size: 13.5px; }
.modal-field textarea {
  min-height: 96px;
  resize: vertical;
  padding: 12px;
  line-height: 1.5;
  font-family: inherit;
  font-size: 13.5px;
}
.ai-prompt-tip {
  grid-column: 1/-1;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid #e5e3f7;
  border-radius: 12px;
  background: #fafaff;
  color: #637087;
}
.ai-tip-icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eee9ff;
  color: #7450dc;
  font-size: 15px;
}
.ai-prompt-tip strong { display: block; margin-bottom: 3px; color: #3e4c66; font-size: 12.5px; }
.ai-prompt-tip p { margin: 0; font-size: 11.5px; line-height: 1.5; }
.ai-generate-submit { height: 44px; padding-inline: 18px; font-size: 13px; }
.ai-generate-submit svg { width: 18px; height: 18px; }

@media (max-width: 1180px) {
  .app-header { grid-template-columns: 145px 1fr auto; padding: 0 20px; }
  .app-brand img { width: 135px; }
  .profile-toggle { min-width: 56px; }
  .profile-copy { display: none; }
  .profile-chevron { margin-left: 0; }
  .trips-page { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 900px) {
  .app-header { height: auto; min-height: 72px; grid-template-columns: 1fr auto; padding: 10px 16px; }
  .app-nav { grid-column: 1/-1; order: 3; height: 50px; overflow-x: auto; border-top: 1px solid #edf1f6; }
  .app-header-actions { gap: 7px; }
  .app-header-actions > .new-trip-btn { display: none; }
  .trips-page { padding: 26px 16px 40px; }
  .trips-hero { align-items: flex-start; }
  .greeting-pill { display: none; }
  .trip-toolbar { align-items: stretch; flex-direction: column; }
  .toolbar-right { width: 100%; }
  .search-box { flex: 1; width: auto; }
}
@media (max-width: 620px) {
  .app-brand img { width: 122px; }
  .profile-toggle { padding: 0; min-width: 42px; }
  .profile-toggle .profile-chevron { display: none; }
  .avatar { width: 38px; height: 38px; flex-basis: 38px; }
  .trips-hero h1 { font-size: 32px; }
  .trips-hero p { font-size: 12px; }
  .toolbar-right { flex-direction: column; align-items: stretch; }
  .filter-btn { width: 100%; justify-content: center; }
  .filters-panel { width: min(310px, calc(100vw - 32px)); right: 0; }
  .toolbar-new { width: 100%; }
  .table-footer { grid-template-columns: 1fr; justify-items: center; padding: 12px; }
  .table-footer label { justify-self: center; }
  .trip-start-options, .new-trip-form { grid-template-columns: 1fr; }
  .trip-start-options { padding: 16px 18px 0; }
  .new-trip-form { padding: 16px 18px 20px; }
  .modal-field.full, .modal-actions { grid-column: auto; }
  .modal-head { padding: 20px 18px 15px; }
  .notification-menu, .profile-menu { position: fixed; top: 74px; right: 12px; left: 12px; width: auto; }
}

@media (max-width: 900px) {
  .toolbar-primary-actions { width: 100%; }
  .toolbar-primary-actions > button { flex: 1 1 0; }
  .ai-itinerary-form { grid-template-columns: 1fr; }
  .ai-itinerary-form .modal-field.full, .ai-itinerary-form .modal-actions, .ai-prompt-tip { grid-column: auto; }
}
@media (max-width: 620px) {
  .toolbar-primary-actions { flex-direction: column; align-items: stretch; }
  .toolbar-primary-actions > button { width: 100%; }
  .ai-itinerary-form { padding: 16px 18px 20px; }
  .ai-itinerary-btn { font-size: 13.5px; }
}

/* Shared Library + Contacts workspace pages */
.workspace-page {
  max-width: 1560px;
  margin: 0 auto;
  padding: 42px 44px 56px;
}
.workspace-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding: 5px 2px 26px;
}
.workspace-hero h1 {
  margin: 0;
  color: #0c1b3a;
  font-size: 38px;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.workspace-hero > div:first-child > p:last-child {
  margin: 9px 0 0;
  color: #6d7c92;
  font-size: 13.5px;
}
.workspace-summary-pill {
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 7px 15px 7px 8px;
  border: 1px solid #e2e8f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(41,67,106,.05);
}
.workspace-summary-pill > div { display: grid; gap: 3px; }
.workspace-summary-pill strong { color: #263a5a; font-size: 13.5px; }
.workspace-summary-pill span:not(.summary-icon) { color: #8794a7; font-size: 11.5px; }
.summary-icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 800;
}
.summary-icon.violet { color: #7650db; background: #f1ebff; }
.summary-icon.blue { color: #176cf5; background: #eaf3ff; }
.summary-icon svg { width: 18px; height: 18px; }
.workspace-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 0 18px;
}
.soft-action-btn {
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  background: #fff;
  color: #52637d;
  box-shadow: 0 7px 18px rgba(41,67,106,.035);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: .18s ease;
}
.soft-action-btn:hover { color: #176cf5; border-color: #c8d8ef; background: #f8fbff; }
.soft-action-btn svg { width: 18px; height: 18px; }
.segment-tabs {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 17px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid #e3e9f2;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(28,57,97,.035);
}
.segment-tab {
  min-height: 37px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #65758d;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}
.segment-tab span {
  min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #f1f4f8;
  color: #8794a7;
  font-size: 10px;
}
.segment-tab:hover { color: #176cf5; background: #f7faff; }
.segment-tab.active { color: #176cf5; background: linear-gradient(135deg,#eef5ff,#f5f0ff); }
.segment-tab.active span { color: #176cf5; background: #fff; }
.workspace-empty {
  padding: 75px 20px;
  border: 1px solid #e1e7f0;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}
.workspace-empty strong { display: block; margin-bottom: 6px; color: #283951; font-size: 14px; }
.workspace-empty p { margin: 0 0 12px; color: #8996a9; font-size: 11.5px; }
.workspace-empty.compact-empty { border: 0; border-radius: 0; }

/* Library */
.library-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 17px;
}
.library-card {
  min-width: 0;
  overflow: visible;
  border: 1px solid #e1e7f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(23,52,93,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.library-card:hover { transform: translateY(-2px); border-color: #d4deec; box-shadow: 0 15px 34px rgba(23,52,93,.08); }
.library-visual {
  position: relative;
  height: 138px;
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}
.library-visual svg { width: 100%; height: 100%; stroke: none; }
.library-visual.santorini-art { background: linear-gradient(145deg,#77c9f2,#2f8bd7 62%,#5aa6cb); }
.library-visual.dubai-art { background: linear-gradient(145deg,#1d3557,#d78b58 66%,#f0bd83); }
.library-visual.bali-art { background: linear-gradient(145deg,#df7558,#6b9d78 61%,#306b5e); }
.library-visual.swiss-art { background: linear-gradient(145deg,#78c7e9,#6b9e78 61%,#355f58); }
.library-visual.restaurant-art { background: linear-gradient(145deg,#322d52,#8a4f87 58%,#da815f); }
.library-visual.japan-art { background: linear-gradient(145deg,#f19a9e,#b65778 58%,#49385f); }
.library-visual.note-art { background: linear-gradient(145deg,#6096e7,#6758d7 58%,#9b58cf); }
.library-visual.cruise-art { background: linear-gradient(145deg,#5bb8e8,#318cc9 58%,#c86eb0); }
.visual-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #41516b;
  backdrop-filter: blur(8px);
  font-size: 10.5px;
  font-weight: 800;
}
.favorite-star {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.9);
  color: #f1a52d;
  font-size: 14px;
}
.library-card-body { padding: 15px 15px 14px; }
.card-heading { display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: start; }
.card-heading > div:first-child { min-width: 0; }
.card-heading h3 { margin: 0; color: #182946; font-size: 14.5px; line-height: 1.35; }
.card-heading p { display: flex; align-items: center; gap: 5px; margin: 5px 0 0; color: #7d8ca1; font-size: 11.5px; }
.card-heading p svg { width: 14px; height: 14px; color: #7e93b2; }
.library-description { min-height: 53px; margin: 13px 0 14px; color: #66768d; font-size: 12px; line-height: 1.55; }
.library-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #edf1f5;
  color: #8a98aa;
  font-size: 10.5px;
}
.library-card footer strong { color: #4a5d78; }
.library-card .row-menu-toggle { width: 34px; height: 34px; }
.library-filters-panel { width: 320px; }

/* Contacts */
.contacts-table-card {
  position: relative;
  overflow: visible;
  border: 1px solid #e1e7f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(23,52,93,.045);
}
.contacts-table-scroll { overflow-x: auto; overflow-y: visible; border-radius: 16px 16px 0 0; }
.contacts-table { width: 100%; min-width: 1050px; border-collapse: separate; border-spacing: 0; }
.contacts-table th {
  height: 50px;
  padding: 0 18px;
  border-bottom: 1px solid #e8edf4;
  background: #fbfcfe;
  color: #687890;
  text-align: left;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 700;
}
.contacts-table th:first-child { border-top-left-radius: 16px; }
.contacts-table th:last-child { border-top-right-radius: 16px; }
.contact-name-col { width: 34%; }
.contacts-table td {
  height: 84px;
  padding: 11px 18px;
  border-bottom: 1px solid #edf1f6;
  color: #3c4d68;
  vertical-align: middle;
  font-size: 13px;
}
.contacts-table tbody tr:last-child td { border-bottom: 0; }
.contact-row:hover { background: #fbfdff; }
.contact-person { display: flex; align-items: center; gap: 12px; min-width: 250px; }
.contact-person > div { min-width: 0; display: grid; gap: 4px; }
.contact-person strong { color: #172845; font-size: 14.5px; }
.contact-person span { color: #6f819a; font-size: 11.5px; }
.contact-person small { color: #98a4b4; font-size: 10.5px; }
.contact-avatar {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  font-size: 11.5px;
  font-weight: 800;
}
.blue-avatar { color: #2872d8; background: #e8f2ff; }
.violet-avatar { color: #7650cf; background: #f0eaff; }
.orange-avatar { color: #d2742c; background: #fff0e2; }
.green-avatar { color: #149869; background: #e8f9f2; }
.cyan-avatar { color: #198aa8; background: #e8f7fb; }
.pink-avatar { color: #c45479; background: #fcebf1; }
.contact-type-badge {
  min-width: 76px;
  height: 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.contact-type-badge.client { color: #176fd4; background: #edf4ff; }
.contact-type-badge.lead { color: #a15e1a; background: #fff3e5; }
.contact-type-badge.traveller { color: #7f4fc8; background: #f2ebff; }
.trip-count-cell { display: grid; gap: 4px; }
.trip-count-cell strong { color: #354660; font-size: 13.5px; }
.trip-count-cell span { color: #98a4b4; font-size: 11px; }
.owner-chip { display: inline-flex; align-items: center; gap: 8px; color: #4e607a; font-size: 12px; font-weight: 600; white-space: nowrap; }
.owner-chip > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: #edf3ff; color: #4673b8; font-size: 9.5px; font-weight: 800; }
.contact-filters-panel { width: 320px; }

@media (max-width: 1180px) {
  .workspace-page { padding-left: 24px; padding-right: 24px; }
  .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .workspace-page { padding: 26px 16px 40px; }
  .workspace-hero { align-items: flex-start; }
  .workspace-summary-pill { display: none; }
  .workspace-toolbar { align-items: stretch; flex-direction: column; }
  .workspace-toolbar .toolbar-right { width: 100%; }
  .workspace-toolbar .search-box { flex: 1; width: auto; }
}
@media (max-width: 700px) {
  .library-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .workspace-hero h1 { font-size: 32px; }
  .workspace-hero > div:first-child > p:last-child { font-size: 12px; }
  .workspace-toolbar .toolbar-primary-actions { flex-direction: column; align-items: stretch; }
  .workspace-toolbar .toolbar-primary-actions > * { width: 100%; }
  .segment-tabs { margin-left: -2px; margin-right: -2px; }
  .library-card footer { align-items: flex-start; flex-direction: column; }
}
.app-header a.new-trip-btn:hover { text-decoration: none; color: #fff; }

/* Library list-view refinement */
.library-page .library-grid {
  display: block;
  gap: 0;
  overflow: visible;
  border: 1px solid #e1e7f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(23,52,93,.045);
}
.library-page .library-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 162px minmax(0,1fr) 190px 58px;
  align-items: center;
  min-height: 126px;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #e8edf4;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transform: none;
  transition: background .16s ease, border-color .16s ease;
}
.library-page .library-card:first-child { border-radius: 15px 15px 0 0; }
.library-page .library-card:last-child { border-bottom: 0; border-radius: 0 0 15px 15px; }
.library-page .library-card:hover {
  transform: none;
  border-color: #e8edf4;
  background: #fbfdff;
  box-shadow: none;
}
.library-page .library-card.menu-open { z-index: 40; }
.library-page .library-visual {
  width: 132px;
  height: 92px;
  margin: 16px 14px 16px 16px;
  overflow: hidden;
  border-radius: 12px;
}
.library-page .library-visual svg { width: 100%; height: 100%; }
.library-page .visual-badge {
  top: 8px;
  left: 8px;
  min-height: 23px;
  padding: 0 8px;
  font-size: 9.5px;
}
.library-page .favorite-star {
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  font-size: 12px;
}
.library-row-main {
  min-width: 0;
  padding: 17px 22px 17px 4px;
}
.library-row-title h3 {
  margin: 0;
  color: #162744;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
}
.library-row-title p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  color: #7b8ba2;
  font-size: 12.5px;
}
.library-row-title p svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: #7d94b4;
}
.library-page .library-description {
  min-height: 0;
  margin: 10px 0 0;
  color: #63748c;
  font-size: 13px;
  line-height: 1.52;
}
.library-row-meta {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 8px 20px;
  border-left: 1px solid #edf1f6;
  color: #8794a7;
  font-size: 12px;
  line-height: 1.4;
}
.library-row-meta span:first-child::before {
  content: 'Usage';
  display: block;
  margin-bottom: 2px;
  color: #9aa6b6;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.library-row-meta span:last-child::before {
  content: 'Activity';
  display: block;
  margin-bottom: 2px;
  color: #9aa6b6;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.library-row-meta strong { color: #435772; }
.library-page .row-actions {
  justify-self: end;
  padding-right: 16px;
}
.library-page .library-card .row-menu-toggle {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  font-size: 15px;
}
.library-page .row-menu {
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  width: 230px;
  max-height: none;
  overflow: visible;
  z-index: 220;
}
.library-page .row-menu > a {
  min-height: 43px;
  font-size: 13.5px;
}
.library-page .segment-tabs { margin-bottom: 16px; }

@media (max-width: 1050px) {
  .library-page .library-card { grid-template-columns: 146px minmax(0,1fr) 155px 54px; }
  .library-page .library-visual { width: 116px; height: 82px; }
  .library-row-main { padding-right: 14px; }
  .library-row-meta { padding: 8px 12px; }
}
@media (max-width: 760px) {
  .library-page .library-grid { border-radius: 14px; }
  .library-page .library-card {
    grid-template-columns: 108px minmax(0,1fr) 48px;
    min-height: 118px;
  }
  .library-page .library-visual {
    grid-row: 1 / span 2;
    width: 88px;
    height: 82px;
    margin: 15px 10px 15px 14px;
  }
  .library-row-main { padding: 14px 8px 6px 0; }
  .library-page .library-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 12px;
  }
  .library-row-meta {
    grid-column: 2 / 3;
    display: flex;
    gap: 10px;
    padding: 0 8px 14px 0;
    border-left: 0;
    font-size: 11px;
  }
  .library-row-meta span::before { display: none !important; }
  .library-page .row-actions {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    padding-right: 10px;
  }
  .library-page .visual-badge { display: none; }
  .library-page .favorite-star { display: none; }
}

/* Account & settings pages */
.settings-page { max-width: 1560px; margin: 0 auto; padding: 38px 44px 64px; }
.settings-page-hero { padding: 6px 2px 26px; }
.settings-page-hero h1 { margin: 0; color: #0c1b3a; font-size: 36px; line-height: 1.12; letter-spacing: -.04em; }
.settings-page-hero > div > p:last-child { margin: 9px 0 0; color: #6d7c92; font-size: 13.5px; line-height: 1.55; }
.settings-layout { display: grid; grid-template-columns: 258px minmax(0,1fr); align-items: start; gap: 24px; }
.settings-sidebar { position: sticky; top: 112px; overflow: hidden; border: 1px solid #e1e7f0; border-radius: 17px; background: #fff; box-shadow: 0 8px 26px rgba(23,52,93,.045); }
.settings-sidebar-head { display: flex; align-items: center; gap: 11px; padding: 18px; border-bottom: 1px solid #edf1f6; }
.settings-mini-avatar { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#dbeaff,#efe4ff); color: #315899; font-size: 12px; font-weight: 800; }
.settings-sidebar-head > div { min-width: 0; display: grid; gap: 4px; }
.settings-sidebar-head strong { color: #172845; font-size: 14.5px; }
.settings-sidebar-head span:last-child { overflow: hidden; color: #8a97a9; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.settings-nav-label { margin: 0; padding: 17px 17px 7px; color: #99a5b6; font-size: 9.5px; font-weight: 800; letter-spacing: .12em; }
.settings-nav { display: grid; gap: 3px; padding: 0 10px 12px; }
.settings-nav-link { min-height: 45px; display: flex; align-items: center; gap: 11px; padding: 0 11px; border-radius: 10px; color: #4d5f79; font-size: 13.5px; font-weight: 650; transition: .16s ease; }
.settings-nav-link:hover { text-decoration: none; color: #176cf5; background: #f6f9fe; }
.settings-nav-link.active { color: #176cf5; background: linear-gradient(135deg,#edf5ff,#f5f0ff); }
.settings-nav-link svg { width: 18px; height: 18px; color: #71849e; }
.settings-sidebar-foot { display: grid; gap: 5px; padding: 15px 18px 17px; border-top: 1px solid #edf1f6; background: #fbfcfe; }
.settings-sidebar-foot span { color: #9aa5b4; font-size: 10.5px; }
.settings-sidebar-foot a { color: #176cf5; font-size: 11.5px; font-weight: 700; }
.settings-content { min-width: 0; display: grid; gap: 18px; }
.settings-card { overflow: visible; border: 1px solid #e1e7f0; border-radius: 17px; background: #fff; box-shadow: 0 8px 26px rgba(23,52,93,.045); }
.settings-card-head { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 21px; border-bottom: 1px solid #edf1f6; }
.settings-card-head > div:first-child { min-width: 0; }
.settings-card-head h2 { margin: 0; color: #172845; font-size: 17px; letter-spacing: -.02em; }
.settings-card-head p { margin: 6px 0 0; color: #7c8ba0; font-size: 12.5px; line-height: 1.5; }
.settings-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 16px; padding: 22px; }
.settings-form-grid.three-col { grid-template-columns: repeat(3,minmax(0,1fr)); }
.settings-field { min-width: 0; display: grid; gap: 7px; color: #53647d; font-size: 12.5px; font-weight: 700; }
.settings-field.full { grid-column: 1 / -1; }
.settings-field input, .settings-field select, .settings-field textarea, .domain-field input, .help-search input, .role-select { width: 100%; border: 1px solid #dfe6f0; border-radius: 10px; background: #fff; color: #273852; outline: 0; font: inherit; font-size: 13.5px; }
.settings-field input, .settings-field select { height: 44px; padding: 0 12px; }
.settings-field textarea { resize: vertical; min-height: 96px; padding: 11px 12px; line-height: 1.55; }
.settings-field input:focus, .settings-field select:focus, .settings-field textarea:focus, .domain-field input:focus, .help-search:focus-within { border-color: #83b4f8; box-shadow: 0 0 0 3px rgba(22,111,243,.06); }
.settings-field small { color: #96a2b2; font-size: 10.5px; font-weight: 500; line-height: 1.5; }
.settings-form-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px 20px; border-top: 1px solid #edf1f6; }
.settings-form-actions.no-border { border-top: 0; }
.settings-primary-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 0; border-radius: 10px; background: linear-gradient(105deg,#147ff3 0%,#3b73ee 55%,#ad43df 100%); color: #fff; box-shadow: 0 9px 20px rgba(52,105,230,.16); font: inherit; font-size: 12.5px; font-weight: 750; cursor: pointer; }
.settings-primary-btn:hover { transform: translateY(-1px); }
.soft-action-btn.compact { min-height: 38px; height: 38px; padding: 0 13px; font-size: 12px; }
.soft-action-btn.micro { min-height: 32px; height: 32px; padding: 0 10px; border-radius: 8px; font-size: 11px; }
.text-danger-btn { border: 0; background: transparent; color: #d94357; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.inline-actions { display: flex; align-items: center; gap: 7px; margin-top: 11px; }
.profile-overview-card { padding: 22px; }
.profile-editor-head { display: grid; grid-template-columns: 82px minmax(0,1fr) auto; align-items: center; gap: 18px; }
.profile-photo-large { width: 82px; height: 82px; display: grid; place-items: center; border-radius: 22px; background: linear-gradient(145deg,#d9eaff,#eee1ff); color: #315899; font-size: 20px; font-weight: 800; box-shadow: inset 0 0 0 1px rgba(68,100,153,.08); }
.profile-editor-copy h2 { margin: 0; color: #142541; font-size: 20px; }
.profile-editor-copy p { margin: 5px 0 0; color: #7e8da2; font-size: 12.5px; }
.verified-chip, .status-pill { min-height: 28px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px; border-radius: 999px; font-size: 10.5px; font-weight: 750; white-space: nowrap; }
.verified-chip, .status-pill.success { color: #128a5d; background: #eaf9f2; }
.status-pill.warning { color: #a5681b; background: #fff2df; }
.account-summary-card .detail-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.detail-list > div { display: grid; gap: 6px; padding: 19px 21px; border-right: 1px solid #edf1f6; }
.detail-list > div:last-child { border-right: 0; }
.detail-list span { color: #8e9bad; font-size: 10.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.detail-list strong { color: #34465f; font-size: 13.5px; }
.inline-settings-form { display: flex; align-items: end; gap: 12px; padding: 20px 21px; }
.inline-settings-form .grow { flex: 1; }
.security-score { display: inline-flex; align-items: center; gap: 7px; color: #18885e; font-size: 11.5px; font-weight: 700; }
.security-score > span { width: 8px; height: 8px; border-radius: 50%; background: #1cb576; }
.password-field { position: relative; }
.password-field input { padding-right: 42px; }
.password-field button { position: absolute; right: 6px; top: 50%; width: 32px; height: 32px; transform: translateY(-50%); border: 0; border-radius: 8px; background: transparent; color: #8191a7; cursor: pointer; }
.compact-form .settings-form-actions { padding-top: 0; border-top: 0; }
.switch-control { position: relative; width: 46px; height: 26px; flex: 0 0 46px; border: 0; border-radius: 999px; background: #dce3ed; cursor: pointer; transition: .18s ease; }
.switch-control span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(26,49,85,.16); transition: .18s ease; }
.switch-control.on, .switch-control[aria-pressed="true"] { background: #287cf0; }
.switch-control.on span, .switch-control[aria-pressed="true"] span { left: 23px; }
.security-note { display: flex; align-items: flex-start; gap: 11px; margin: 18px 21px 21px; padding: 14px; border-radius: 12px; background: #f7faff; }
.security-note-icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 8px; background: #e8f3ff; color: #176cf5; font-size: 11px; font-weight: 800; }
.security-note strong { color: #34465f; font-size: 12.5px; }
.security-note p { margin: 4px 0 0; color: #7e8da1; font-size: 11px; }
.session-list { display: grid; }
.session-row { min-height: 72px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; padding: 12px 21px; border-bottom: 1px solid #edf1f6; }
.session-row:last-child { border-bottom: 0; }
.session-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #eef5ff; color: #2678e8; }
.session-row > div { display: grid; gap: 4px; }
.session-row strong { color: #33455f; font-size: 13px; }
.session-row span:not(.session-icon):not(.status-pill) { color: #8795a8; font-size: 11.5px; }
.branding-identity-card { padding: 22px; }
.brand-logo-editor { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 22px; }
.brand-logo-box { height: 104px; display: grid; place-items: center; padding: 20px; border: 1px dashed #ccd7e7; border-radius: 14px; background: #fbfcfe; }
.brand-logo-box img { max-width: 150px; max-height: 60px; }
.brand-logo-editor h2 { margin: 0; color: #172845; font-size: 18px; }
.brand-logo-editor p { max-width: 680px; margin: 6px 0 0; color: #7c8b9f; font-size: 12.5px; line-height: 1.55; }
.brand-color-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 24px; padding: 22px; }
.brand-color-controls { display: grid; align-content: start; gap: 14px; }
.color-control { display: grid; gap: 7px; color: #53647d; font-size: 12px; font-weight: 700; }
.color-control > div { height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 11px; border: 1px solid #dfe6f0; border-radius: 10px; }
.color-control input[type="color"] { width: 25px; height: 25px; padding: 0; border: 0; background: transparent; }
.color-control code { color: #596a82; font-family: "Roboto", Arial, sans-serif; font-size: 12px; }
.brand-preview-card { min-height: 240px; padding: 22px; border-radius: 16px; background: linear-gradient(145deg,#f2f7ff,#fff); box-shadow: inset 0 0 0 1px #e3eaf4; }
.brand-preview-card .preview-label { color: #8b99ac; font-size: 9px; letter-spacing: .12em; font-weight: 800; }
.brand-preview-card img { display: block; width: 120px; margin: 24px 0 25px; }
.brand-preview-card h3 { margin: 0; color: #142440; font-size: 18px; }
.brand-preview-card p { margin: 7px 0 17px; color: #78889d; font-size: 11.5px; line-height: 1.55; }
.brand-preview-card button { min-height: 36px; padding: 0 13px; border: 0; border-radius: 9px; background: #2f80ed; color: #fff; font: inherit; font-size: 11px; font-weight: 700; }
.domain-field { display: flex; align-items: center; gap: 10px; padding: 20px 21px; }
.domain-field > span { color: #8997aa; font-size: 12.5px; }
.domain-field input { flex: 1; height: 42px; padding: 0 11px; }
.summary-grid { display: grid; gap: 14px; }
.summary-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.summary-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.settings-stat { min-height: 106px; display: flex; align-items: center; gap: 12px; padding: 17px; border: 1px solid #e1e7f0; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(23,52,93,.04); }
.stat-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 11px; font-size: 15px; }
.stat-icon.blue { color: #2678e8; background: #eaf3ff; }.stat-icon.violet { color: #7d52cf; background: #f3ecff; }.stat-icon.green { color: #15976a; background: #e9f9f2; }.stat-icon.orange { color: #d67925; background: #fff0e3; }
.settings-stat > div { display: grid; gap: 4px; }.settings-stat span:not(.stat-icon) { color: #7e8da1; font-size: 11.5px; }.settings-stat strong { color: #172845; font-size: 20px; }.settings-stat small { color: #9aa5b4; font-size: 10px; }
.team-head { align-items: center; }
.team-table-wrap { overflow-x: auto; }
.team-table { width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; }
.team-table th { height: 46px; padding: 0 16px; border-bottom: 1px solid #e8edf4; background: #fbfcfe; color: #6d7d94; text-align: left; font-size: 11.5px; font-weight: 700; }
.team-table td { height: 72px; padding: 10px 16px; border-bottom: 1px solid #edf1f6; color: #45566f; font-size: 12.5px; }
.team-table tbody tr:last-child td { border-bottom: 0; }
.member-cell { min-width: 200px; display: flex; align-items: center; gap: 10px; }.member-cell > div { display: grid; gap: 3px; }.member-cell strong { color: #223550; font-size: 13.5px; }.member-cell span:last-child { color: #8996a8; font-size: 11px; }
.member-avatar { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 10px; font-size: 10.5px; font-weight: 800; }
.role-badge { min-height: 28px; display: inline-flex; align-items: center; padding: 0 9px; border-radius: 999px; font-size: 10.5px; font-weight: 700; }.role-badge.admin { color: #6747bd; background: #f1ebff; }.role-badge.viewer { color: #607188; background: #edf1f6; }
.role-select { width: 135px; height: 34px; padding: 0 7px; font-size: 11.5px; }
.permission-list { display: grid; }
.permission-row { min-height: 72px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; padding: 14px 21px; border-bottom: 1px solid #edf1f6; }
.permission-row:last-child { border-bottom: 0; }.permission-row > div { display: grid; gap: 4px; }.permission-row strong { color: #33465f; font-size: 13px; }.permission-row span { color: #8896a9; font-size: 11px; }
.compact-modal { width: min(620px,100%); }
.plan-card { overflow: hidden; background: linear-gradient(135deg,#fff 0%,#f7faff 70%,#fbf5ff 100%); }
.plan-card-main { display: flex; align-items: stretch; justify-content: space-between; gap: 28px; padding: 25px; }
.plan-kicker { color: #7d8ba0; font-size: 9px; letter-spacing: .13em; font-weight: 800; }.plan-card h2 { margin: 6px 0; color: #14243f; font-size: 24px; }.plan-card p { max-width: 610px; margin: 0; color: #74849a; font-size: 12px; line-height: 1.55; }.plan-price { display: flex; align-items: baseline; gap: 5px; margin-top: 18px; }.plan-price strong { color: #176cf5; font-size: 28px; }.plan-price span { color: #76869c; font-size: 12px; }.renewal-text { display: block; margin-top: 5px; color: #9aa5b4; font-size: 10.5px; }
.plan-actions { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 20px; }
.billing-cycle { display: inline-flex; padding: 4px; border: 1px solid #e0e7f0; border-radius: 11px; background: #fff; }.billing-cycle button { min-height: 34px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: #74839a; font: inherit; font-size: 10.5px; font-weight: 700; cursor: pointer; }.billing-cycle button.active { background: #edf5ff; color: #176cf5; }.billing-cycle button span { margin-left: 3px; color: #1a9a68; font-size: 9px; }
.usage-card { padding: 17px; border: 1px solid #e1e7f0; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(23,52,93,.04); }.usage-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.usage-card span { color: #74849a; font-size: 11.5px; }.usage-card strong { color: #293b56; font-size: 13.5px; }.usage-card small { display: block; margin-top: 8px; color: #97a3b3; font-size: 10px; }.usage-bar { height: 7px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: #edf1f7; }.usage-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2f80ed,#9a4ce0); }
.payment-method-row { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 12px; padding: 20px 21px; }.card-brand { width: 50px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: #1c5fbe; color: #fff; font-size: 10px; font-weight: 800; }.payment-method-row > div { display: grid; gap: 4px; }.payment-method-row strong { color: #34465f; font-size: 13px; }.payment-method-row span:not(.card-brand):not(.status-pill) { color: #8795a8; font-size: 11px; }
.invoice-list { display: grid; }.invoice-row { min-height: 64px; display: grid; grid-template-columns: 1fr 90px 80px 88px; align-items: center; gap: 12px; padding: 11px 21px; border-bottom: 1px solid #edf1f6; }.invoice-row:last-child { border-bottom: 0; }.invoice-row > div { display: grid; gap: 4px; }.invoice-row strong { color: #3b4d66; font-size: 12.5px; }.invoice-row span:not(.status-pill) { color: #8996a8; font-size: 10.5px; }
.help-search-card { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 17px; padding: 23px; border: 1px solid #dce6f4; border-radius: 17px; background: linear-gradient(135deg,#eef6ff,#fff 65%,#fbf3ff); box-shadow: 0 8px 26px rgba(23,52,93,.045); }.help-orb { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(135deg,#2f80ed,#9e49df); color: #fff; font-size: 25px; font-weight: 800; }.help-search-card h2 { margin: 0; color: #142440; font-size: 20px; }.help-search-card p { margin: 5px 0 12px; color: #78889d; font-size: 12px; }.help-search { max-width: 620px; height: 43px; display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid #dfe6f0; border-radius: 10px; background: #fff; }.help-search svg { width: 18px; height: 18px; color: #8192a9; }.help-search input { height: 100%; border: 0; background: transparent; box-shadow: none !important; }
.help-topic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.help-topic { min-height: 150px; display: grid; align-content: start; gap: 8px; padding: 18px; border: 1px solid #e1e7f0; border-radius: 15px; background: #fff; color: #4f6078; text-align: left; font: inherit; cursor: pointer; box-shadow: 0 8px 24px rgba(23,52,93,.035); transition: .16s ease; }.help-topic:hover { transform: translateY(-2px); border-color: #ccdaee; box-shadow: 0 12px 28px rgba(23,52,93,.07); }.topic-icon, .support-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; font-size: 14px; }.topic-icon.blue,.support-icon.blue { color: #2678e8; background: #eaf3ff; }.topic-icon.violet,.support-icon.violet { color: #7b51cf; background: #f2ebff; }.topic-icon.green { color: #15976a; background: #e9f9f2; }.topic-icon.orange,.support-icon.orange { color: #d67925; background: #fff0e3; }.help-topic strong { color: #263954; font-size: 13.5px; }.help-topic p { margin: 0; color: #8391a5; font-size: 11px; line-height: 1.5; }
.support-options { display: grid; }.support-options article { min-height: 86px; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 13px; padding: 14px 21px; border-bottom: 1px solid #edf1f6; }.support-options article:last-child { border-bottom: 0; }.support-options article > div { display: grid; gap: 4px; }.support-options strong { color: #34465f; font-size: 13px; }.support-options p { margin: 0; color: #8492a5; font-size: 11px; line-height: 1.45; }
.faq-list { display: grid; }.faq-item { border-bottom: 1px solid #edf1f6; }.faq-item:last-child { border-bottom: 0; }.faq-item > button { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 21px; border: 0; background: #fff; color: #33465f; text-align: left; font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }.faq-item > button b { color: #176cf5; font-size: 18px; font-weight: 500; }.faq-item > div { display: none; padding: 0 21px 16px; }.faq-item.open > div { display: block; }.faq-item.open > button b { transform: rotate(45deg); }.faq-item p { margin: 0; color: #77879d; font-size: 11.5px; line-height: 1.65; }
.profile-menu > a.current-setting { background: #f4f8ff; color: #176cf5; }

@media (max-width: 1180px) { .settings-page { padding-left: 24px; padding-right: 24px; }.settings-layout { grid-template-columns: 230px minmax(0,1fr); }.summary-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }.help-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.brand-color-layout { grid-template-columns: 1fr; }.brand-preview-card { min-height: 210px; }.settings-form-grid.three-col { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .settings-page { padding: 27px 16px 46px; }.settings-layout { grid-template-columns: 1fr; }.settings-sidebar { position: static; }.settings-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }.settings-nav-link { justify-content: center; text-align: center; }.settings-sidebar-head,.settings-sidebar-foot,.settings-nav-label { display: none; }.account-summary-card .detail-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.detail-list > div:nth-child(2) { border-right: 0; }.settings-form-grid.three-col { grid-template-columns: 1fr; }.summary-grid.three { grid-template-columns: 1fr; }.plan-card-main { flex-direction: column; }.plan-actions { align-items: flex-start; }.profile-editor-head { grid-template-columns: 72px 1fr; }.profile-photo-large { width: 72px; height: 72px; }.verified-chip { grid-column: 1/-1; width: fit-content; }.help-topic-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .settings-page-hero h1 { font-size: 31px; }.settings-nav { grid-template-columns: 1fr 1fr; }.settings-nav-link { justify-content: flex-start; }.settings-form-grid { grid-template-columns: 1fr; padding: 17px; }.settings-field.full { grid-column: auto; }.settings-card-head { align-items: flex-start; flex-direction: column; }.inline-settings-form { align-items: stretch; flex-direction: column; }.account-summary-card .detail-list { grid-template-columns: 1fr; }.detail-list > div { border-right: 0; border-bottom: 1px solid #edf1f6; }.detail-list > div:last-child { border-bottom: 0; }.brand-logo-editor { grid-template-columns: 1fr; }.brand-logo-box { width: 190px; }.summary-grid.four { grid-template-columns: 1fr; }.help-topic-grid { grid-template-columns: 1fr; }.support-options article { grid-template-columns: 42px 1fr; }.support-options article .soft-action-btn { grid-column: 2; width: fit-content; }.invoice-row { grid-template-columns: 1fr auto; }.invoice-row .status-pill,.invoice-row .soft-action-btn { justify-self: start; }.payment-method-row { grid-template-columns: 48px 1fr; }.payment-method-row .status-pill { grid-column: 2; justify-self: start; }.domain-field { flex-wrap: wrap; }.domain-field input { min-width: 180px; }.settings-form-actions { padding: 14px 17px 17px; }.billing-cycle { width: 100%; }.billing-cycle button { flex: 1; } }

/* =========================================================
   ItineraryFox UI Polish Pass — 2026-08-13
   Unified readability, drawer dialogs and jQuery datepicker
   ========================================================= */
.app-body {
  --tb-heading: #0d1d3a;
  --tb-text: #283b59;
  --tb-text-2: #536780;
  --tb-muted: #74869d;
  --tb-faint: #93a0b2;
  --tb-border: #dfe6f0;
  --tb-surface: #ffffff;
  --tb-soft: #f7f9fd;
  --tb-blue: #176cf5;
  --tb-purple: #a947dd;
  color: var(--tb-text);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Header / navigation — clearer but still compact */
.app-header { height: 90px; border-bottom-color: #e2e8f1; }
.nav-link { font-size: 15.5px; font-weight: 650; color: #425574; }
.profile-copy strong { font-size: 15px; color: #132541; }
.profile-copy small { font-size: 12.5px; color: #687b94; }
.notification-count { min-width: 19px; height: 19px; font-size: 10px; }
.dropdown-panel { border-color: #dfe6ef; box-shadow: 0 22px 54px rgba(18,43,83,.16); }
.profile-menu { width: 302px; padding: 11px; }
.profile-menu-head strong { font-size: 16px; color: var(--tb-heading); }
.profile-menu-head span { font-size: 12.5px; color: #60738d; }
.profile-menu-head small { font-size: 11px; }
.profile-menu > a { min-height: 45px; font-size: 14.5px; color: #344966; }
.profile-menu > a svg { width: 18px; height: 18px; }
.notification-menu { width: 410px; }
.dropdown-head { padding: 17px 18px 13px; }
.dropdown-head strong { font-size: 16px; color: var(--tb-heading); }
.dropdown-head span { font-size: 12.5px; color: #687b94; }
.dropdown-head .text-btn { font-size: 12.5px; }
.notification-item { grid-template-columns: 42px 1fr; gap: 11px; padding: 13px 17px; color: var(--tb-text); }
.notification-item strong { font-size: 14px; color: #203451; }
.notification-item small { font-size: 12px; color: #72839a; }
.notification-view-all { padding: 14px; font-size: 13px; }

/* Main page hierarchy */
.trips-page, .workspace-page, .settings-page { color: var(--tb-text); }
.trips-hero h1, .workspace-hero h1, .settings-page-hero h1 {
  color: var(--tb-heading);
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -.035em;
}
.trips-hero p, .workspace-hero > div:first-child > p:last-child, .settings-page-hero > div > p:last-child {
  color: #526780;
  font-size: 14.5px;
  line-height: 1.6;
}
.eyebrow, .workspace-hero .eyebrow, .settings-page-hero .eyebrow {
  color: #70839c !important;
  font-size: 10.5px !important;
  letter-spacing: .14em;
}
.greeting-pill, .workspace-summary-pill { color: #176cf5; font-size: 14px; }
.workspace-summary-pill strong { font-size: 14.5px; color: #203653; }
.workspace-summary-pill span:not(.summary-icon) { font-size: 12px; color: #687b94; }

/* Buttons / search / filters */
.new-trip-btn { height: 47px; padding-inline: 19px; font-size: 14.5px; border-radius: 12px; }
.soft-action-btn { min-height: 44px; font-size: 13.5px; color: #3f536f; font-weight: 650; }
.soft-action-btn.compact { min-height: 40px; height: 40px; font-size: 13px; }
.soft-action-btn.micro { min-height: 34px; height: 34px; font-size: 12px; }
.search-box { height: 46px; }
.search-box input { font-size: 14px; color: #1f3451; }
.search-box input::placeholder { color: #8191a6; }
.filter-btn { height: 46px; font-size: 14px; color: #3f536f; }
.filter-field { font-size: 13.5px; color: #425775; }
.filter-field select { height: 46px; font-size: 14px; color: #243853; border-radius: 10px; }
.filter-head strong { font-size: 15.5px; color: var(--tb-heading); }
.segment-tab { min-height: 43px; font-size: 13.5px; color: #405572; font-weight: 650; }
.segment-tab span { font-size: 11px; }

/* Trips table readability */
.trips-table th, .contacts-table th, .team-table th {
  color: #53677f;
  font-size: 13.5px;
  font-weight: 750;
  letter-spacing: .005em;
}
.trips-table td { height: 86px; color: #2f4360; font-size: 14px; }
.trip-name-cell strong { color: #10233f; font-size: 15.5px; font-weight: 750; }
.trip-name-cell span { color: #627791; font-size: 12.5px; }
.date-cell strong { color: #263a57; font-size: 14px; font-weight: 650; }
.date-cell span { color: #74859a; font-size: 12px; }
.activity-cell strong { color: #30445f; font-size: 14px; font-weight: 650; }
.activity-cell span { color: #74869b; font-size: 12px; }
.status-badge { min-width: 90px; height: 30px; font-size: 11.5px; }
.table-footer { min-height: 58px; color: #657892; font-size: 12.5px; }
.table-footer select { font-size: 12.5px; }
.empty-trips strong, .workspace-empty strong { color: #213650; font-size: 15px; }
.empty-trips p, .workspace-empty p { color: #6e8199; font-size: 12.5px; }

/* Three-dot menus and other popup menus */
.row-menu { width: 238px; padding: 9px; }
.row-menu > a, .library-page .row-menu > a {
  min-height: 45px;
  padding-inline: 12px;
  color: #314762;
  font-size: 14px;
  font-weight: 650;
}
.row-menu > a svg { width: 18px; height: 18px; }
.row-menu-toggle, .library-page .library-card .row-menu-toggle { width: 39px; height: 39px; font-size: 15px; }

/* Library list — keep list view, increase legibility */
.library-page .library-card { min-height: 134px; }
.library-page .library-visual { width: 140px; height: 96px; }
.library-row-title h3 { color: #10233f; font-size: 15.5px; font-weight: 750; }
.library-row-title p { color: #627791; font-size: 12.5px; }
.library-page .library-description { color: #52677f; font-size: 13.5px; line-height: 1.58; }
.library-row-meta { color: #6e8097; font-size: 12.5px; }
.library-row-meta span:first-child::before, .library-row-meta span:last-child::before { color: #8594a7; font-size: 10.5px; }
.library-row-meta strong { color: #334b68; }

/* Contacts / team tables */
.contacts-table td { height: 78px; color: #344963; font-size: 13.5px; }
.contact-person strong { color: #10233f; font-size: 15px; }
.contact-person span { color: #5e738e; font-size: 12.5px; }
.contact-person small { color: #78899e; font-size: 11.5px; }
.contact-type-badge, .role-badge, .verified-chip, .status-pill { font-size: 11.5px; }
.owner-chip { color: #415774; font-size: 13px; }
.team-table td { height: 76px; color: #344963; font-size: 13.5px; }
.member-cell strong { color: #1d334f; font-size: 14.5px; }
.member-cell span:last-child { color: #697c94; font-size: 12px; }
.role-select { height: 38px; font-size: 12.5px; }

/* Settings pages — stronger hierarchy and form readability */
.settings-layout { grid-template-columns: 268px minmax(0,1fr); gap: 26px; }
.settings-sidebar-head strong { color: #132744; font-size: 15.5px; }
.settings-sidebar-head span:last-child { color: #657993; font-size: 12px; }
.settings-nav-label { color: #7d8fa5; font-size: 10px; }
.settings-nav-link { min-height: 47px; color: #3e536f; font-size: 14px; font-weight: 650; }
.settings-sidebar-foot span { color: #71839a; font-size: 11.5px; }
.settings-sidebar-foot a { font-size: 12.5px; }
.settings-card { border-color: #dde5ef; box-shadow: 0 10px 28px rgba(23,52,93,.05); }
.settings-card-head { min-height: 80px; padding: 20px 23px; }
.settings-card-head h2 { color: #10233f; font-size: 19px; font-weight: 750; }
.settings-card-head p { color: #62768f; font-size: 13.5px; line-height: 1.55; }
.settings-form-grid { gap: 18px 17px; padding: 23px; }
.settings-field { gap: 8px; color: #3d536f; font-size: 13.5px; font-weight: 700; }
.settings-field input, .settings-field select, .settings-field textarea, .domain-field input, .help-search input, .role-select {
  border-color: #d9e2ed;
  border-radius: 11px;
  color: #223752;
  font-size: 14px;
}
.settings-field input, .settings-field select { height: 47px; padding: 0 13px; }
.settings-field textarea { min-height: 108px; padding: 12px 13px; line-height: 1.6; }
.settings-field small { color: #75879e; font-size: 11.5px; }
.settings-primary-btn { min-height: 44px; font-size: 13.5px; }
.profile-editor-copy h2 { color: #10233f; font-size: 21px; }
.profile-editor-copy p { color: #60758e; font-size: 13.5px; }
.detail-list span { color: #71839a; font-size: 11px; }
.detail-list strong { color: #283f5d; font-size: 14px; }
.security-score { font-size: 12.5px; }
.security-note strong, .session-row strong, .payment-method-row strong, .support-options strong, .permission-row strong { color: #2a415e; font-size: 14px; }
.security-note p, .session-row span:not(.session-icon):not(.status-pill), .payment-method-row span:not(.card-brand):not(.status-pill), .support-options p, .permission-row span { color: #687b94; font-size: 12.5px; }
.brand-logo-editor h2 { color: #10233f; font-size: 19px; }
.brand-logo-editor p { color: #60758e; font-size: 13.5px; }
.color-control { color: #3f5571; font-size: 13px; }
.color-control code { color: #455b75; font-size: 12.5px; }
.settings-stat span:not(.stat-icon) { color: #687b94; font-size: 12.5px; }
.settings-stat strong { color: #10233f; font-size: 21px; }
.settings-stat small { color: #75879e; font-size: 11.5px; }
.plan-kicker { color: #71839a; font-size: 10px; }
.plan-card p { color: #60748d; font-size: 13px; }
.renewal-text { color: #75879e; font-size: 11.5px; }
.billing-cycle button { font-size: 11.5px; }
.usage-card span { color: #687b94; font-size: 12.5px; }
.usage-card strong { color: #263c58; font-size: 14px; }
.usage-card small { color: #75879e; font-size: 11.5px; }
.invoice-row strong { color: #2a415e; font-size: 13.5px; }
.invoice-row span:not(.status-pill) { color: #687b94; font-size: 11.5px; }
.help-search-card h2 { color: #10233f; font-size: 21px; }
.help-search-card p { color: #60758e; font-size: 13px; }
.faq-item > button { min-height: 62px; color: #2c425e; font-size: 13.5px; }
.faq-item p { color: #60758e; font-size: 12.5px; }

/* =========================================================
   RIGHT-SIDE SLIDE DRAWERS — replaces centered modal popups
   ========================================================= */
.modal-backdrop, .confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  background: rgba(14,28,52,.30);
  backdrop-filter: blur(3px);
  animation: tbBackdropIn .2s ease-out;
}
.modal-backdrop[hidden], .confirm-backdrop[hidden] { display: none !important; }
@keyframes tbBackdropIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes tbDrawerIn { from { transform: translateX(105%); opacity: .88; } to { transform: translateX(0); opacity: 1; } }

.modal-card, .confirm-card {
  width: min(660px, calc(100vw - 28px));
  height: 100dvh;
  max-height: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  border-left: 1px solid rgba(221,229,240,.95);
  border-radius: 24px 0 0 24px;
  background: #fff;
  box-shadow: -24px 0 72px rgba(12,35,72,.18);
  text-align: left;
  animation: tbDrawerIn .30s cubic-bezier(.22,.78,.28,1);
}
.modal-card.compact-modal { width: min(560px, calc(100vw - 28px)); }
.modal-card.ai-modal-card { width: min(720px, calc(100vw - 28px)); }
.confirm-card { width: min(450px, calc(100vw - 28px)); padding: 42px 34px; justify-content: center; }

.modal-head {
  position: sticky;
  top: 0;
  z-index: 5;
  flex: 0 0 auto;
  align-items: flex-start;
  padding: 28px 30px 21px;
  border-bottom: 1px solid #e8edf4;
  background: rgba(255,255,255,.98);
}
.modal-kicker { color: #6e8199; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; }
.modal-head h2 { margin: 6px 0 6px; color: #0d1d3a; font-size: 27px; font-weight: 800; letter-spacing: -.03em; }
.modal-head p { max-width: 520px; margin: 0; color: #61758d; font-size: 13.5px; line-height: 1.55; }
.modal-close { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; border-color: #dfe6ef; color: #61758d; }
.modal-close:hover { border-color: #c8d6e8; color: #176cf5; background: #f6f9ff; }

.trip-start-options { flex: 0 0 auto; margin: 22px 30px 0; gap: 12px; }
.start-option { min-height: 76px; padding: 13px 14px; border-radius: 13px; }
.start-option strong { color: #273b58; font-size: 13.5px; }
.start-option small { color: #75879d; font-size: 11.5px; }

.new-trip-form, .ai-itinerary-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  grid-template-columns: 1fr 1fr;
  gap: 18px 14px;
  padding: 22px 30px 30px;
  scrollbar-width: thin;
  scrollbar-color: #c8d4e4 transparent;
}
.new-trip-form::-webkit-scrollbar, .ai-itinerary-form::-webkit-scrollbar { width: 8px; }
.new-trip-form::-webkit-scrollbar-thumb, .ai-itinerary-form::-webkit-scrollbar-thumb { background: #c8d4e4; border-radius: 999px; }
.modal-field { gap: 8px; color: #3c526f; font-size: 13.5px; font-weight: 700; }
.modal-field > span { color: #e04459; }
.modal-field select, .modal-field input, .modal-field textarea {
  height: 48px;
  padding: 0 13px;
  border-color: #d9e2ed;
  border-radius: 11px;
  color: #223752;
  font-size: 14px;
  font-weight: 500;
}
.modal-field textarea { height: auto; min-height: 112px; padding: 12px 13px; line-height: 1.6; resize: vertical; }
.modal-field input::placeholder, .modal-field textarea::placeholder { color: #8796a9; opacity: 1; }
.modal-input-icon input { padding-left: 42px; }
.modal-input-icon svg { left: 13px; width: 18px; height: 18px; color: #7188a6; }

.modal-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 8px -30px -30px;
  padding: 17px 30px 20px;
  border-top: 1px solid #e8edf4;
  background: rgba(255,255,255,.98);
  box-shadow: 0 -10px 24px rgba(31,55,88,.035);
}
.secondary-btn, .danger-btn, .create-trip-submit { min-height: 44px; border-radius: 10px; font-size: 13.5px; font-weight: 700; }

.confirm-card .danger-round { margin: 0 0 17px; }
.confirm-card h2 { color: #10233f; font-size: 24px; font-weight: 800; }
.confirm-card p { margin: 10px 0 25px; color: #60748d; font-size: 13.5px; line-height: 1.65; }
.confirm-card > div { justify-content: flex-start; }

/* =========================================================
   jQuery UI Datepicker — ItineraryFox themed, DD-MM-YYYY
   ========================================================= */
.tb-datepicker {
  padding-right: 44px !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236f8db4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 18px;
}
#ui-datepicker-div {
  z-index: 9999 !important;
  display: none;
  width: 320px;
  padding: 12px;
  border: 1px solid #dce5f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(20,47,88,.18);
  color: #263a57;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 13px;
}
.ui-datepicker-header {
  position: relative;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
  border-radius: 11px;
  background: #f7f9fd;
}
.ui-datepicker-title { display: flex; align-items: center; gap: 6px; color: #10233f; font-size: 14px; font-weight: 750; }
.ui-datepicker-title select {
  height: 32px;
  padding: 0 8px;
  border: 1px solid #dfe6f0;
  border-radius: 8px;
  background: #fff;
  color: #263a57;
  font: inherit;
  font-size: 12.5px;
  font-weight: 650;
  outline: none;
}
.ui-datepicker-prev, .ui-datepicker-next {
  position: absolute;
  top: 6px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #58708e;
  cursor: pointer;
}
.ui-datepicker-prev { left: 6px; }
.ui-datepicker-next { right: 6px; }
.ui-datepicker-prev:hover, .ui-datepicker-next:hover { background: #eaf3ff; color: #176cf5; }
.ui-datepicker-prev span, .ui-datepicker-next span { position: relative; width: 100%; height: 100%; overflow: hidden; text-indent: -9999px; }
.ui-datepicker-prev span::after, .ui-datepicker-next span::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-indent: 0;
  font-size: 21px;
  line-height: 1;
  font-weight: 500;
}
.ui-datepicker-prev span::after { content: '‹'; }
.ui-datepicker-next span::after { content: '›'; }
.ui-datepicker-calendar { width: 100%; border-collapse: separate; border-spacing: 3px; }
.ui-datepicker-calendar th { height: 30px; color: #71839a; font-size: 10.5px; font-weight: 750; text-transform: uppercase; }
.ui-datepicker-calendar td { padding: 0; text-align: center; }
.ui-datepicker-calendar td a, .ui-datepicker-calendar td span {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  margin: auto;
  border-radius: 10px;
  color: #314762;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
}
.ui-datepicker-calendar td a:hover { background: #eef5ff; color: #176cf5; }
.ui-datepicker-calendar .ui-datepicker-today a { box-shadow: inset 0 0 0 1px #8db7f3; color: #176cf5; }
.ui-datepicker-calendar .ui-datepicker-current-day a { background: linear-gradient(135deg,#2781f0,#824fe2); color: #fff; box-shadow: 0 6px 14px rgba(64,101,225,.18); }
.ui-datepicker-other-month a { color: #a4afbd !important; }
.ui-datepicker-unselectable span { color: #c2cad4 !important; }
.ui-datepicker-buttonpane { display: none; }

/* Small screen drawer behavior */
@media (max-width: 760px) {
  .trips-hero h1, .workspace-hero h1, .settings-page-hero h1 { font-size: 34px; }
  .modal-card, .modal-card.compact-modal, .modal-card.ai-modal-card, .confirm-card {
    width: 100vw;
    border-radius: 18px 0 0 18px;
  }
  .modal-head { padding: 22px 20px 17px; }
  .trip-start-options { margin: 18px 20px 0; grid-template-columns: 1fr; }
  .new-trip-form, .ai-itinerary-form { grid-template-columns: 1fr; padding: 20px; }
  .modal-field.full { grid-column: auto; }
  .modal-actions { margin: 8px -20px -20px; padding: 15px 20px 17px; bottom: 0; }
  #ui-datepicker-div { width: min(320px, calc(100vw - 24px)); }
}
.app-body.tb-drawer-open { overflow: hidden; }

/* =========================================================
   ItineraryFox refinement — required labels, fixed drawer footer,
   contact-first trip flow, editor + preview workspace
   ========================================================= */

/* Required labels: keep star inline with label text on every form */
.field-label {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  width: fit-content;
  color: #344b68;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.25;
}
.field-label em {
  color: #e2475c;
  font-style: normal;
  font-weight: 800;
}
.modal-field > span.field-label { color: #344b68; }
.modal-field > span.field-label em { color: #e2475c; }

/* Keep action bars permanently attached to bottom of all right drawers */
.modal-card { position: relative; }
.new-trip-form, .ai-itinerary-form {
  padding-bottom: 112px !important;
}
.modal-actions {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0 !important;
  z-index: 12;
  margin: 0 !important;
  padding: 16px 30px 18px !important;
  min-height: 76px;
  align-items: center;
  border-top: 1px solid #e5ebf3;
  background: rgba(255,255,255,.985);
  box-shadow: 0 -12px 30px rgba(30,54,86,.055);
}
.modal-card.compact-modal .new-trip-form { padding-bottom: 108px !important; }
.modal-card .new-trip-form::-webkit-scrollbar,
.modal-card .ai-itinerary-form::-webkit-scrollbar { width: 7px; }

/* Search shortcut: keep icon and K on one line */
.search-box kbd,
.side-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1;
}
.search-box kbd { min-width: 43px; height: 29px; padding: 0 8px; font-size: 11px; }

/* New Trip contact selector */
.trip-details-form { align-content: start; }
.contact-picker-field { position: relative; z-index: 9; }
.contact-combobox { position: relative; width: 100%; }
.contact-search-input { position: relative; display: flex; align-items: center; }
.contact-search-input > svg {
  position: absolute;
  left: 14px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #6e88a7;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.contact-search-input input {
  width: 100%;
  height: 48px;
  padding: 0 44px 0 43px !important;
  border: 1px solid #d9e2ed;
  border-radius: 11px;
  background: #fff;
  color: #223752;
  font: inherit;
  font-size: 14px;
  outline: 0;
}
.contact-search-input input:focus { border-color: #75a9ff; box-shadow: 0 0 0 3px rgba(40,113,242,.08); }
.contact-clear-btn {
  position: absolute;
  right: 9px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: #f3f6fa;
  color: #697d96;
  font-size: 19px;
  cursor: pointer;
}
.contact-suggest-panel {
  position: absolute;
  z-index: 45;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 306px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #dbe4ef;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(24,53,94,.16);
}
.contact-suggestion, .contact-create-suggestion {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #273c59;
  text-align: left;
  cursor: pointer;
}
.contact-suggestion:hover, .contact-create-suggestion:hover { background: #f4f8ff; }
.contact-suggestion > span:nth-child(2), .contact-create-suggestion > span:last-child { min-width: 0; display: grid; gap: 3px; }
.contact-suggestion strong, .contact-create-suggestion strong { color: #182d4a; font-size: 13.5px; }
.contact-suggestion small, .contact-create-suggestion small { overflow: hidden; color: #70839a; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.contact-suggestion em { margin-left: auto; color: #176cf5; font-size: 11.5px; font-style: normal; font-weight: 750; }
.mini-contact-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
}
.plus-round { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 10px; background: #ebf3ff; color: #176cf5; font-size: 21px; }
.contact-create-suggestion { border-top: 1px solid #edf1f6; border-radius: 0 0 10px 10px; }
.contact-suggestion[hidden] { display: none; }

.inline-new-contact {
  grid-column: 1 / -1;
  padding: 16px;
  border: 1px solid #dbe5f1;
  border-radius: 13px;
  background: #f8fbff;
}
.inline-contact-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.inline-contact-head > div { display: grid; gap: 3px; }
.inline-contact-head strong { color: #172d49; font-size: 14px; }
.inline-contact-head span { color: #6d819a; font-size: 11.5px; }
.inline-contact-head button { border: 0; background: transparent; color: #d54b5d; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.inline-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.inline-contact-grid .full { grid-column: 1 / -1; }

/* More comfortable drawer sizing and bottom-safe scrolling */
.modal-card { width: min(690px, calc(100vw - 24px)); }
.modal-card.ai-modal-card { width: min(740px, calc(100vw - 24px)); }
.modal-head { padding-bottom: 19px; }
.modal-head h2 { font-size: 28px; }
.modal-field select, .modal-field input { min-height: 48px; }
.modal-field textarea { min-height: 120px; }

/* =========================================================
   Trip Editor
   ========================================================= */
.editor-body { overflow: hidden; background: #eef3f9; color: #243852; }
.editor-topbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 90;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 26px;
  border-bottom: 1px solid #dfe6ef;
  background: rgba(255,255,255,.98);
  box-shadow: 0 3px 14px rgba(29,55,89,.04);
}
.editor-topbar-left, .editor-topbar-right { display: flex; align-items: center; gap: 12px; }
.editor-back, .editor-top-link, .editor-preview-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #516781;
  font: inherit;
  font-size: 13.5px;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.editor-back:hover, .editor-top-link:hover, .editor-preview-link:hover { color: #176cf5; }
.editor-back svg, .editor-top-link svg, .editor-preview-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.editor-divider { width: 1px; height: 24px; background: #e2e8f0; }
.autosave-state { display: inline-flex; align-items: center; gap: 6px; color: #71839a; font-size: 11.5px; }
.autosave-state i { width: 7px; height: 7px; border-radius: 50%; background: #21b882; }
.editor-topbar-right .soft-action-btn { height: 38px; min-height: 38px; }
.editor-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#eaf2ff,#eee7ff); color: #405a80; font-size: 11.5px; font-weight: 800; }

.itinerary-editor-shell { position: fixed; inset: 64px 0 0; display: grid; grid-template-rows: 184px minmax(0,1fr); background: #eef3f9; }
.trip-cover {
  position: relative;
  max-width: 1560px;
  width: calc(100% - 32px);
  height: 184px;
  margin: 0 auto;
  background-size: cover;
  background-position: center 58%;
  overflow: hidden;
  color: #fff;
}
.trip-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0),rgba(3,17,38,.34)); pointer-events:none; }
.trip-cover-copy { position: absolute; z-index: 2; left: 28px; bottom: 21px; }
.cover-status { display: inline-flex; margin-bottom: 8px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.28); border-radius: 8px; background: rgba(8,30,58,.28); backdrop-filter: blur(7px); font-size: 9.5px; font-weight: 800; letter-spacing: .12em; }
.trip-cover h1 { margin: 0 0 8px; font-size: 29px; font-weight: 800; letter-spacing: -.03em; text-shadow: 0 2px 10px rgba(0,0,0,.22); }
.trip-cover p { display: flex; align-items: center; gap: 8px; margin: 0; color: rgba(255,255,255,.92); font-size: 12.5px; font-weight: 550; }
.trip-cover p svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.change-cover-btn { position: absolute; z-index: 3; right: 24px; bottom: 22px; height: 40px; display:flex; align-items:center; gap:8px; padding:0 14px; border:1px solid rgba(255,255,255,.45); border-radius:10px; background:rgba(8,27,52,.38); backdrop-filter:blur(9px); color:#fff; font:inherit; font-size:12.5px; font-weight:700; cursor:pointer; }
.change-cover-btn:hover { background: rgba(8,27,52,.56); }
.change-cover-btn svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }

.editor-workspace {
  width: min(1560px, calc(100% - 32px));
  min-height: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 270px minmax(540px, 1fr) 340px;
  border-left: 1px solid #dfe6ef;
  border-right: 1px solid #dfe6ef;
  background: #fff;
}
.day-sidebar, .day-editor, .editor-sidepanel { min-height: 0; background: #fff; }
.day-sidebar { border-right: 1px solid #dfe6ef; overflow: hidden; display:flex; flex-direction:column; }
.day-sidebar-actions { flex:0 0 auto; display:grid; grid-template-columns:42px 1fr; gap:9px; padding:12px; border-bottom:1px solid #e5ebf3; }
.day-more, .compact-icon-btn { width: 42px; height: 40px; border:1px solid #dce4ee; border-radius:9px; background:#fff; color:#6e8097; font-size:14px; font-weight:800; cursor:pointer; }
.add-day-btn, .new-event-btn { height:40px; display:flex; align-items:center; justify-content:center; gap:7px; border:0; border-radius:9px; background:linear-gradient(135deg,#2f80ed,#4ba8ef); color:#fff; font:inherit; font-size:13px; font-weight:750; box-shadow:0 7px 16px rgba(47,128,237,.16); cursor:pointer; }
.add-day-btn span, .new-event-btn span { font-size:18px; font-weight:400; }
.trip-info-item { flex:0 0 auto; width:100%; min-height:82px; display:grid; grid-template-columns:36px 1fr 16px; align-items:center; gap:10px; padding:13px 14px; border:0; border-bottom:1px solid #e6ecf3; background:#fff; text-align:left; cursor:pointer; }
.trip-info-item:hover { background:#f8fbff; }
.trip-info-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef5ff;color:#2875e8; }
.trip-info-icon svg, .trip-info-item > svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8; }
.trip-info-item > span:nth-child(2) { display:grid; gap:4px; }
.trip-info-item strong { color:#132945; font-size:13.5px; line-height:1.25; }
.trip-info-item small { color:#75879d; font-size:10.5px; }
.trip-info-item > svg { color:#91a0b2; }
.day-list { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#cad6e5 transparent; }
.day-nav-item { width:100%; min-height:88px; display:grid; grid-template-columns:42px 1fr 15px; align-items:center; gap:10px; padding:11px 13px; border:0; border-bottom:1px solid #edf1f6; border-left:3px solid transparent; background:#fff; text-align:left; cursor:pointer; }
.day-nav-item:hover { background:#f8fbff; }
.day-nav-item.active { border-left-color:#176cf5; background:#edf7ff; }
.day-date { width:38px; height:50px; display:grid; align-content:center; justify-items:center; border:1px solid #dfe7f0; border-radius:9px; background:#fff; }
.day-date small { color:#73869e; font-size:8.5px; font-weight:800; }
.day-date strong { color:#1b3452; font-size:15px; }
.day-nav-copy { min-width:0; display:grid; gap:3px; }
.day-nav-copy > small { color:#6f829a; font-size:9.5px; }
.day-nav-copy > strong { overflow:hidden; color:#102741; font-size:13px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.day-nav-copy em { display:flex; gap:4px; margin-top:3px; }
.event-dot { width:7px;height:7px;border-radius:50%; }
.event-dot.hotel{background:#f2a51a}.event-dot.transfer{background:#2d84ef}.event-dot.activity{background:#a64ce3}.event-dot.meal{background:#e86883}.event-dot.note{background:#22b98a}
.day-nav-item > svg { width:15px;height:15px;fill:none;stroke:#91a0b2;stroke-width:1.8; }

.day-editor { min-width:0; display:flex; flex-direction:column; border-right:1px solid #dfe6ef; }
.day-editor-toolbar { flex:0 0 58px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 14px; border-bottom:1px solid #e4eaf2; background:#fbfcfe; }
.day-editor-toolbar label { display:flex; align-items:center; gap:8px; color:#425975; font-size:12px; font-weight:650; }
.day-editor-toolbar select { width:230px; height:38px; padding:0 36px 0 11px; border:1px solid #d8e2ee; border-radius:9px; background:#fff; color:#213752; font:inherit; font-size:12.5px; outline:0; }
.day-editor-toolbar > div { display:flex; gap:8px; }
.new-event-btn { padding:0 15px; }
.day-title-row { flex:0 0 88px; display:grid; grid-template-columns:50px 1fr 38px; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid #e8edf3; }
.day-title-date { width:44px; display:grid; justify-items:center; line-height:1.05; }
.day-title-date small { color:#6f829b; font-size:9px; font-weight:800; }
.day-title-date strong { color:#102842; font-size:22px; }
.day-title-row > div { display:grid; gap:3px; }
.day-title-row > div > span { color:#7589a2; font-size:9.5px; font-weight:800; letter-spacing:.08em; }
.day-title-row h2 { margin:0; color:#0f2742; font-size:20px; font-weight:800; }
.day-title-row > button { width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfe6ef;border-radius:9px;background:#fff;color:#70839b;cursor:pointer; }
.day-title-row > button svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8; }
.day-content-scroll { flex:1; min-height:0; overflow:auto; padding:18px 22px 44px; background:#fff; scrollbar-width:thin; scrollbar-color:#cbd6e4 transparent; }
.itinerary-event { display:grid; grid-template-columns:38px 1fr; gap:13px; padding:20px 0; border-bottom:1px solid #edf1f5; }
.itinerary-event:last-child { border-bottom:0; }
.event-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:800; }
.event-icon svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.event-icon.hotel{background:#fff3dc;color:#ec9a09}.event-icon.transfer{background:#eaf3ff;color:#2679ea}.event-icon.activity{background:#f2eafe;color:#8d4be0}.event-icon.note{background:#e8f8f1;color:#19a774}.event-icon.meal{background:#ffedf1;color:#e55c78}
.event-main { min-width:0; }
.event-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.event-heading > div { display:grid; gap:3px; }
.event-type { color:#7588a0; font-size:9.5px; font-weight:800; letter-spacing:.08em; }
.event-heading h3 { margin:0; color:#102842; font-size:16px; font-weight:800; }
.event-heading button { border:0;background:transparent;color:#8191a5;font-size:14px;font-weight:800;cursor:pointer; }
.event-main > p { margin:8px 0 0; color:#405873; font-size:13.5px; line-height:1.68; }
.event-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:15px; }
.event-facts div { display:grid; gap:4px; }
.event-facts span { color:#72859c; font-size:10.5px; }
.event-facts strong { color:#263e5c; font-size:12.5px; }
.event-attachments { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:15px; }
.event-attachments button { min-height:64px; display:flex; align-items:center; gap:10px; padding:8px; border:1px solid #dfe7f0; border-radius:10px; background:#fff; text-align:left; cursor:pointer; }
.file-preview { width:48px;height:46px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#327de6;font-size:19px; }
.file-preview.pdf { background:#fff0f2;color:#dd5064;font-size:11px;font-weight:800; }
.event-attachments button > span:last-child { min-width:0; display:grid; gap:3px; }
.event-attachments strong { overflow:hidden;color:#28405e;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap; }
.event-attachments small { color:#75879e;font-size:10.5px; }
.amenity-tags, .preview-tag-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.amenity-tags span, .preview-tag-row span { padding:5px 8px;border:1px solid #dfe7f0;border-radius:999px;background:#f8fafc;color:#536b87;font-size:10.5px;font-weight:650; }

.editor-sidepanel { display:flex; flex-direction:column; min-width:0; }
.editor-side-tabs { flex:0 0 58px; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid #e4eaf2; }
.editor-side-tabs button { border:0;border-bottom:2px solid transparent;background:#fff;color:#6a7e96;font:inherit;font-size:12.5px;font-weight:650;cursor:pointer; }
.editor-side-tabs button.active { color:#176cf5;border-bottom-color:#176cf5;background:#fbfdff; }
.editor-tab-panel { display:none; flex:1; min-height:0; overflow:auto; padding:14px; }
.editor-tab-panel.active { display:block; }
.side-search { height:42px; display:flex; align-items:center; gap:8px; padding:0 8px 0 12px; border:1px solid #dce5ef; border-radius:10px; background:#fff; }
.side-search svg { width:17px;height:17px;fill:none;stroke:#7b8da3;stroke-width:1.8; }
.side-search input { min-width:0;flex:1;border:0;outline:0;color:#263c59;font:inherit;font-size:12.5px; }
.side-search button { width:38px;height:27px;border:1px solid #e3e9f1;border-radius:7px;background:#f7f9fc;color:#8a98aa;font:inherit;font-size:9.5px; }
.library-quick-filters { display:flex;gap:6px;margin:10px 0 12px;overflow:auto; }
.library-quick-filters button { flex:0 0 auto;height:30px;padding:0 10px;border:1px solid #e0e7f0;border-radius:8px;background:#fff;color:#647990;font:inherit;font-size:10.5px;font-weight:650; }
.library-quick-filters button.active { border-color:#cfe1ff;background:#edf5ff;color:#176cf5; }
.editor-library-list { display:grid;gap:9px; }
.editor-library-list article { min-height:66px; display:grid; grid-template-columns:46px 1fr 30px; align-items:center; gap:10px; padding:8px 8px 8px 7px; border:1px solid #e0e7f0; border-radius:10px; background:#fff; box-shadow:0 4px 12px rgba(35,61,94,.025); }
.lib-type-icon { width:44px;height:48px;display:grid;place-items:center;border-radius:8px;font-size:18px;font-weight:800; }
.lib-type-icon.hotel{background:#fff1d6;color:#ee9b08}.lib-type-icon.activity{background:#e9f4ff;color:#2580ef}.lib-type-icon.transfer{background:#eef0fb;color:#566fd8}.lib-type-icon.meal{background:#ffedf2;color:#e25b78}
.editor-library-list article > div { min-width:0;display:grid;gap:4px; }
.editor-library-list strong { overflow:hidden;color:#203955;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.editor-library-list small { overflow:hidden;color:#7890a8;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap; }
.editor-library-list article > button { width:30px;height:30px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;color:#2b7bea;font-size:18px;cursor:pointer; }
.panel-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px; }
.panel-heading > div { display:grid;gap:3px; }
.panel-heading strong { color:#1a3350;font-size:14px; }
.panel-heading span { color:#74879e;font-size:10.5px; }
.panel-heading > button { width:32px;height:32px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#2679e8;font-size:17px; }
.online-chip { padding:5px 8px;border-radius:999px;background:#e9f8f2!important;color:#15966a!important;font-size:10px!important;font-weight:700; }
.editor-notes-area { width:100%;min-height:190px;padding:12px;border:1px solid #dce5ef;border-radius:10px;outline:0;resize:vertical;color:#314966;font:inherit;font-size:12.5px;line-height:1.6; }
.note-log { display:grid;gap:9px;margin-top:12px; }
.note-log article { display:grid;grid-template-columns:31px 1fr;gap:8px;align-items:start;padding:10px;border:1px solid #e5ebf2;border-radius:9px; }
.note-log article > span { width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#3469b3;font-size:9px;font-weight:800; }
.note-log article > div { display:grid;gap:3px; }
.note-log strong { color:#29415e;font-size:11.5px; }
.note-log small { color:#7d8da1;font-size:10px; }
.trip-chat-thread { display:flex;flex-direction:column;gap:10px;min-height:360px;padding:5px 0 80px; }
.chat-bubble { display:flex;gap:7px;align-items:flex-end; }
.chat-bubble > span { width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#4e6b92;font-size:9px;font-weight:800; }
.chat-bubble p { max-width:85%;margin:0;padding:9px 10px;border-radius:12px 12px 12px 4px;background:#f1f5f9;color:#334c68;font-size:11.5px;line-height:1.5; }
.chat-bubble p small { display:block;margin-top:5px;color:#8594a6;font-size:9px; }
.chat-bubble.agent { justify-content:flex-end; }
.chat-bubble.agent p { border-radius:12px 12px 4px 12px;background:#eaf3ff;color:#254667; }
.trip-chat-compose { position:sticky;bottom:-14px;display:flex;gap:7px;padding:10px 0 0;background:#fff; }
.trip-chat-compose input { flex:1;height:40px;padding:0 11px;border:1px solid #dce5ef;border-radius:9px;outline:0;font:inherit;font-size:11.5px; }
.trip-chat-compose button { height:40px;padding:0 12px;border:0;border-radius:9px;background:#267bee;color:#fff;font:inherit;font-size:11px;font-weight:700; }

/* Cover image drawer */
.cover-modal-card { width:min(820px,calc(100vw - 24px)); }
.cover-picker-body { flex:1;min-height:0;overflow:auto;padding:20px 30px 112px; }
.cover-source-tabs { display:flex;gap:5px;margin-bottom:16px;padding:4px;border:1px solid #e1e7ef;border-radius:11px;background:#f6f8fb; }
.cover-source-tabs button { flex:1;height:38px;border:0;border-radius:8px;background:transparent;color:#667b94;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer; }
.cover-source-tabs button.active { background:#fff;color:#176cf5;box-shadow:0 2px 8px rgba(31,59,96,.08); }
.cover-source-panel { display:none; }
.cover-source-panel.active { display:block; }
.pexels-search { height:46px;display:flex;align-items:center;gap:8px;margin-bottom:15px;border:1px solid #dce5ef;border-radius:11px;padding-left:13px;overflow:hidden; }
.pexels-search svg { width:17px;height:17px;fill:none;stroke:#778aa2;stroke-width:1.8; }
.pexels-search input { flex:1;min-width:0;border:0;outline:0;color:#263e5b;font:inherit;font-size:13px; }
.pexels-search button { height:100%;padding:0 16px;border:0;background:#f2f6fc;color:#176cf5;font:inherit;font-size:12px;font-weight:750;cursor:pointer; }
.pexels-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.pexels-photo { position:relative;height:150px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#e9eef5;cursor:pointer; }
.pexels-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.pexels-photo span { position:absolute;left:8px;bottom:8px;padding:5px 7px;border-radius:7px;background:rgba(10,29,53,.64);color:#fff;font-size:9.5px;font-weight:700;backdrop-filter:blur(5px); }
.pexels-photo::after { content:'✓';position:absolute;right:8px;top:8px;width:25px;height:25px;display:none;place-items:center;border-radius:50%;background:#287df0;color:#fff;font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(20,60,120,.25); }
.pexels-photo.selected { border-color:#287df0; }
.pexels-photo.selected::after { display:grid; }
.cover-upload-drop { min-height:290px;display:grid;place-items:center;align-content:center;gap:8px;border:1.5px dashed #c8d7e9;border-radius:15px;background:#f8fbff;text-align:center;cursor:pointer; }
.upload-round { width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#eaf3ff;color:#287df0; }
.upload-round svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8; }
.cover-upload-drop strong { color:#203955;font-size:15px; }
.cover-upload-drop p { margin:0;color:#78899f;font-size:11.5px; }
.upload-browse { margin-top:6px;padding:8px 12px;border-radius:8px;background:#287df0;color:#fff;font-size:11px;font-weight:700; }
.cover-upload-preview { display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #dfe7f0;border-radius:10px; }
.cover-upload-preview img { width:72px;height:48px;object-fit:cover;border-radius:8px; }
.cover-upload-preview div { display:grid;gap:3px; }
.cover-upload-preview strong { color:#2b425f;font-size:12px; }
.cover-upload-preview span { color:#7490a6;font-size:10.5px; }
.cover-modal-actions { position:absolute!important; }

/* =========================================================
   Trip Preview
   ========================================================= */
.preview-body { min-height:100vh;overflow:auto;background:#f3f6fa;color:#263b58; }
.preview-toolbar { position:sticky;top:0;z-index:80;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #dfe6ef;background:rgba(255,255,255,.97);backdrop-filter:blur(9px); }
.preview-toolbar > div { display:flex;align-items:center;gap:10px; }
.preview-toolbar a, .preview-toolbar button { height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#5f748c;font:inherit;font-size:12.5px;font-weight:650;text-decoration:none;cursor:pointer; }
.preview-toolbar a:hover, .preview-toolbar button:hover { color:#176cf5;background:#f5f9ff; }
.preview-toolbar svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.preview-mode-chip { padding:5px 8px;border-radius:999px;background:#eef3f9;color:#71839a;font-size:10px;font-weight:700; }
.preview-toolbar .preview-share-btn { border-color:#267af0;background:#267af0;color:#fff; }
.trip-preview-page { width:min(1180px,calc(100% - 30px));margin:18px auto 50px; }
.preview-hero { position:relative;min-height:330px;border-radius:18px 18px 0 0;background-size:cover;background-position:center;overflow:hidden;color:#fff;box-shadow:0 15px 34px rgba(26,52,86,.10); }
.preview-brand { position:absolute;left:26px;top:24px;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.92); }
.preview-brand img { width:112px;height:auto;display:block; }
.preview-hero-content { position:absolute;left:34px;right:34px;bottom:31px; }
.preview-kicker { display:inline-flex;margin-bottom:9px;padding:5px 8px;border:1px solid rgba(255,255,255,.30);border-radius:7px;background:rgba(8,30,58,.28);font-size:9px;font-weight:800;letter-spacing:.12em; }
.preview-hero h1 { margin:0 0 8px;color:#fff;font-size:38px;font-weight:800;letter-spacing:-.04em;text-shadow:0 2px 12px rgba(0,0,0,.25); }
.preview-hero p { margin:0 0 14px;color:rgba(255,255,255,.92);font-size:13px;font-weight:550; }
.preview-hero-content > div { display:flex;flex-wrap:wrap;gap:9px; }
.preview-hero-content > div > span { display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;background:rgba(7,27,53,.34);backdrop-filter:blur(7px);font-size:10.5px;font-weight:650; }
.preview-hero-content svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8; }
.preview-tabs { display:flex;align-items:center;gap:3px;padding:0 22px;border:1px solid #e0e7f0;border-top:0;background:#fff;overflow:auto; }
.preview-tabs button { min-width:max-content;height:58px;padding:0 17px;border:0;border-bottom:2px solid transparent;background:#fff;color:#61768f;font:inherit;font-size:12.5px;font-weight:650;cursor:pointer; }
.preview-tabs button.active { color:#176cf5;border-bottom-color:#176cf5; }
.preview-tabs button span { margin-left:5px;padding:3px 6px;border-radius:999px;background:#eef3f8;color:#75869a;font-size:9px; }
.preview-tabs button span.unread-tab { background:#ffedf1;color:#d94f63; }
.preview-content-wrap { border:1px solid #e0e7f0;border-top:0;border-radius:0 0 18px 18px;background:#fff;box-shadow:0 16px 36px rgba(30,55,87,.06);overflow:hidden; }
.preview-panel { display:none;padding:28px; }
.preview-panel.active { display:block; }
.preview-panel[data-preview-panel="itinerary"] { grid-template-columns:270px minmax(0,1fr);gap:24px;background:#f9fbfd; }
.preview-panel[data-preview-panel="itinerary"].active { display:grid; }
.preview-summary-card { position:sticky;top:82px;align-self:start;padding:18px;border:1px solid #dfe7f0;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(31,59,94,.04); }
.preview-contact-card { display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #edf1f5; }
.preview-avatar { width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#eaf2ff,#efe7ff);color:#4d6688;font-size:11px;font-weight:800; }
.preview-avatar.large { width:54px;height:54px;flex-basis:54px;font-size:13px; }
.preview-contact-card > div { display:grid;gap:2px; }
.preview-contact-card small { color:#8291a4;font-size:9.5px; }
.preview-contact-card strong { color:#17304d;font-size:13px; }
.preview-contact-card span { color:#74869c;font-size:10px; }
.preview-summary-grid { display:grid;gap:11px;padding:15px 0; }
.preview-summary-grid div { display:grid;gap:3px; }
.preview-summary-grid span { color:#7b8da3;font-size:9.5px; }
.preview-summary-grid strong { color:#314965;font-size:11.5px; }
.preview-summary-card > button { width:100%;height:38px;border:0;border-radius:9px;background:#edf5ff;color:#176cf5;font:inherit;font-size:10.5px;font-weight:750;cursor:pointer; }
.preview-days { display:grid;gap:12px; }
.preview-day { border:1px solid #dde5ee;border-radius:13px;background:#fff;overflow:hidden; }
.preview-day-head { width:100%;min-height:82px;display:grid;grid-template-columns:50px 1fr 20px;align-items:center;gap:12px;padding:12px 15px;border:0;background:#fff;text-align:left;cursor:pointer; }
.preview-day-head:hover { background:#fbfdff; }
.preview-day-date { width:45px;height:54px;display:grid;align-content:center;justify-items:center;border-radius:9px;background:#eef5ff;color:#176cf5; }
.preview-day-date small { font-size:8.5px;font-weight:800; }
.preview-day-date strong { font-size:18px; }
.preview-day-head > span:nth-child(2) { min-width:0;display:grid;gap:3px; }
.preview-day-head > span:nth-child(2) small { color:#7c8ea3;font-size:9px;font-weight:800; }
.preview-day-head > span:nth-child(2) strong { color:#132c49;font-size:15px; }
.preview-day-head > span:nth-child(2) em { overflow:hidden;color:#6e8198;font-size:10.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap; }
.preview-day-head > svg { width:17px;height:17px;fill:none;stroke:#7a8ba0;stroke-width:1.8;transition:transform .2s; }
.preview-day.open .preview-day-head > svg { transform:rotate(180deg); }
.preview-day-body { display:none;padding:0 17px 16px 77px;border-top:1px solid #edf1f5; }
.preview-day.open .preview-day-body { display:block; }
.preview-event { display:grid;grid-template-columns:34px 1fr;gap:11px;padding:16px 0;border-bottom:1px solid #edf1f5; }
.preview-event:last-child { border-bottom:0; }
.preview-event > div { min-width:0; }
.preview-event small { color:#7a8da4;font-size:9px;font-weight:750;letter-spacing:.05em; }
.preview-event h3 { margin:4px 0 6px;color:#193350;font-size:13.5px; }
.preview-event p { margin:0;color:#4e657f;font-size:11.5px;line-height:1.6; }
.preview-event-meta { display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;color:#71849a;font-size:10px; }
.preview-event-meta a { color:#176cf5;text-decoration:none;font-weight:650; }
.preview-section-head { margin-bottom:20px; }
.preview-section-head span { color:#7e8fa4;font-size:9.5px;font-weight:800;letter-spacing:.12em; }
.preview-section-head h2 { margin:5px 0 5px;color:#112a47;font-size:24px;font-weight:800; }
.preview-section-head p { margin:0;color:#667b93;font-size:12.5px; }
.document-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.document-grid article { min-height:78px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #dfe7f0;border-radius:11px; }
.doc-icon { width:42px;height:48px;display:grid;place-items:center;border-radius:8px;font-size:9px;font-weight:800; }.doc-icon.blue{background:#eaf3ff;color:#2479e9}.doc-icon.orange{background:#fff1df;color:#d98a17}.doc-icon.violet{background:#f2ebff;color:#8c4bd3}.doc-icon.green{background:#e9f8f2;color:#1c9d72}
.document-grid article > div { min-width:0;display:grid;gap:4px; }
.document-grid strong { overflow:hidden;color:#273f5c;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.document-grid small { color:#778aa1;font-size:10px; }
.document-grid button { height:34px;padding:0 9px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#176cf5;font:inherit;font-size:10px;font-weight:700;cursor:pointer; }
.preview-chat-card { border:1px solid #dfe7f0;border-radius:13px;overflow:hidden; }
.preview-chat-thread { min-height:370px;display:flex;flex-direction:column;gap:12px;padding:20px;background:#fbfcfe; }
.preview-chat-compose { display:flex;gap:8px;padding:12px;border-top:1px solid #e2e8f0;background:#fff; }
.preview-chat-compose input { flex:1;height:42px;padding:0 12px;border:1px solid #dce5ef;border-radius:9px;outline:0;font:inherit;font-size:12px; }
.preview-chat-compose button { height:42px;padding:0 16px;border:0;border-radius:9px;background:#267bee;color:#fff;font:inherit;font-size:11.5px;font-weight:700; }
.traveller-notes-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.traveller-notes-grid article { display:grid;grid-template-columns:34px 1fr;gap:11px;padding:16px;border:1px solid #dfe7f0;border-radius:11px; }
.traveller-notes-grid article > span { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eef5ff;color:#176cf5;font-size:10px;font-weight:800; }
.traveller-notes-grid h3 { margin:0 0 5px;color:#203956;font-size:13px; }
.traveller-notes-grid p { margin:0;color:#5d738c;font-size:11.5px;line-height:1.6; }
.preview-contact-details { max-width:650px;padding:20px;border:1px solid #dfe7f0;border-radius:13px; }
.preview-contact-large { display:flex;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #edf1f5; }
.preview-contact-large h3 { margin:0 0 3px;color:#193350;font-size:16px; }
.preview-contact-large p { margin:0;color:#78899e;font-size:11px; }
.preview-contact-details dl { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 0; }
.preview-contact-details dl div { display:grid;gap:4px; }
.preview-contact-details dt { color:#7b8da3;font-size:9.5px; }
.preview-contact-details dd { margin:0;color:#2f4763;font-size:12px;font-weight:650; }

@media (max-width: 1180px) {
  .editor-workspace { grid-template-columns: 230px minmax(520px,1fr) 300px; width:100%; }
  .trip-cover { width:100%; }
}
@media (max-width: 980px) {
  .editor-sidepanel { display:none; }
  .editor-workspace { grid-template-columns:230px minmax(0,1fr); }
  .preview-panel[data-preview-panel="itinerary"].active { grid-template-columns:1fr; }
  .preview-summary-card { position:static; }
}
@media (max-width: 760px) {
  .inline-contact-grid { grid-template-columns:1fr; }
  .inline-contact-grid .full { grid-column:auto; }
  .modal-actions { padding:14px 20px 16px !important; }
  .new-trip-form, .ai-itinerary-form { padding-bottom:100px !important; }
  .editor-topbar { padding:0 12px; }
  .editor-top-link, .autosave-state, .editor-topbar-right .soft-action-btn { display:none; }
  .itinerary-editor-shell { grid-template-rows:150px minmax(0,1fr); }
  .trip-cover { height:150px; }
  .trip-cover-copy { left:18px;bottom:17px; }
  .trip-cover h1 { font-size:24px; }
  .trip-cover p { font-size:10.5px; }
  .change-cover-btn { right:14px;bottom:15px;width:40px;padding:0;justify-content:center;font-size:0; }
  .editor-workspace { grid-template-columns:1fr; }
  .day-sidebar { display:none; }
  .day-editor { border-right:0; }
  .day-editor-toolbar select { width:160px; }
  .pexels-grid { grid-template-columns:1fr 1fr; }
  .preview-toolbar { padding:0 12px; }
  .preview-mode-chip, .preview-toolbar button:first-child { display:none; }
  .trip-preview-page { width:100%;margin:0; }
  .preview-hero { min-height:285px;border-radius:0; }
  .preview-hero h1 { font-size:30px; }
  .preview-tabs { padding:0 8px; }
  .preview-panel { padding:18px 14px; }
  .document-grid, .traveller-notes-grid, .preview-contact-details dl { grid-template-columns:1fr; }
  .preview-day-body { padding-left:16px; }
}

/* Confirmation drawers follow the same bottom-action rule */
.confirm-card {
  position: relative;
  justify-content: flex-start !important;
  padding: 34px 30px 100px !important;
}
.confirm-card > div:last-child {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px 18px;
  border-top: 1px solid #e5ebf3;
  background: rgba(255,255,255,.985);
  box-shadow: 0 -12px 30px rgba(30,54,86,.055);
}

/* ===== SaaS foundation states / first-login setup ===== */
.login-error,.login-success{margin:0 0 18px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.45}.login-error{background:#fff1f2;border:1px solid #fecdd3;color:#b42318}.login-success{background:#ecfdf3;border:1px solid #bbf7d0;color:#027a48}.reset-link-btn{display:flex;text-decoration:none;justify-content:center;margin-top:18px}.state-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,#f8faff,#f3f6fc)}.state-card{width:min(520px,100%);background:#fff;border:1px solid #e0e7f2;border-radius:24px;padding:38px;text-align:center;box-shadow:0 24px 70px rgba(34,55,96,.12)}.state-card>img{height:42px;width:auto;margin-bottom:26px}.state-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 18px;background:#fff1f2;border:1px solid #fecdd3;color:#e11d48;font-size:26px;font-weight:800}.state-card h1{margin:0;color:#0d1838;font-size:30px;line-height:1.15}.state-card p{margin:13px auto 22px;max-width:430px;color:#56657f;line-height:1.65}.state-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;text-align:left;background:#f8faff;border:1px solid #e8edf6;border-radius:15px;padding:16px 18px;margin-bottom:22px}.state-meta span{color:#7b89a3;font-size:12px}.state-meta strong{color:#1e2d4f;font-size:13px;text-align:right}.state-button{text-decoration:none;display:flex;justify-content:center}.state-logout{display:inline-block;margin-top:17px;color:#63728d;font-size:13px;text-decoration:none}.state-logout:hover{color:#2f6df6}

.setup-body{margin:0;min-height:100vh;background:#f4f7fc;color:#17213c;font-family:"Roboto",Arial,sans-serif}.setup-shell{min-height:100vh;display:grid;grid-template-columns:minmax(310px,34%) minmax(0,1fr)}.setup-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:46px 52px;color:#fff;background:linear-gradient(155deg,#173f9b 0%,#2f6df6 50%,#7c3aed 120%)}.setup-aside:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-220px;bottom:-120px;background:rgba(255,255,255,.09)}.setup-aside>img{position:relative;z-index:1;width:165px;filter:brightness(0) invert(1)}.setup-aside>div{position:relative;z-index:1}.setup-kicker{display:block;font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.78;margin-bottom:13px}.setup-aside h1{font-size:42px;line-height:1.07;max-width:390px;margin:0 0 16px}.setup-aside p{font-size:15px;line-height:1.7;max-width:420px;margin:0;color:rgba(255,255,255,.82)}.setup-steps{position:relative;z-index:1;list-style:none;padding:0;margin:36px 0 0;display:grid;gap:12px}.setup-steps li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.68);font-size:13px;font-weight:600}.setup-steps b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:12px}.setup-steps li.done,.setup-steps li.active{color:#fff}.setup-steps li.active b{background:#fff;color:#2f6df6}.setup-panel{padding:44px clamp(28px,5vw,80px) 54px;background:#fff;overflow:auto}.setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid #e7ebf3}.setup-head span{font-size:11px;color:#657796;letter-spacing:.13em;font-weight:800}.setup-head h2{font-size:30px;line-height:1.18;color:#101a38;margin:6px 0 7px}.setup-head p{margin:0;color:#6b7892;font-size:14px}.setup-head>a{color:#586a87;text-decoration:none;font-size:13px;font-weight:600;padding:9px 12px;border:1px solid #dce3ef;border-radius:10px}.setup-alert{margin:22px 0 0;background:#fff1f2;border:1px solid #fecdd3;color:#b42318;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600}.setup-form{max-width:920px}.setup-form section{padding:30px 0;border-bottom:1px solid #edf0f6}.setup-section-title{display:grid;gap:5px;margin-bottom:18px}.setup-section-title b{font-size:17px;color:#16213f}.setup-section-title span{font-size:13px;color:#71809b}.setup-grid{display:grid;gap:18px}.setup-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-form label{display:flex;flex-direction:column;gap:8px;color:#344463;font-size:13px;font-weight:650}.setup-form label i{display:inline;color:#ef4444;font-style:normal;margin-left:3px}.setup-form input,.setup-form select{width:100%;min-height:48px;border:1px solid #d8e0ed;border-radius:12px;padding:0 13px;color:#1d2b49;background:#fff;font:inherit;font-weight:500;outline:none;transition:.18s ease}.setup-form input:focus,.setup-form select:focus{border-color:#6b8cff;box-shadow:0 0 0 3px rgba(47,109,246,.1)}.setup-form input[type=color]{padding:5px;height:48px}.setup-readonly{min-height:48px;border:1px solid #e2e8f2;background:#f8faff;border-radius:12px;padding:10px 13px;display:grid;gap:2px}.setup-readonly span,.setup-readonly small{font-size:11px;color:#7b88a0}.setup-readonly strong{font-size:13px;color:#24324f}.setup-footer{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 0;margin-top:0}.setup-footer>span{font-size:12px;color:#7a879e}.setup-footer .primary-btn{width:auto;min-width:190px;margin:0}
@media(max-width:980px){.setup-shell{grid-template-columns:1fr}.setup-aside{min-height:auto;padding:28px 30px;gap:28px}.setup-aside h1{font-size:32px}.setup-steps{grid-template-columns:repeat(4,1fr);gap:8px}.setup-steps li{gap:6px;font-size:11px}.setup-panel{padding:30px}}@media(max-width:640px){.setup-grid.two{grid-template-columns:1fr}.setup-steps span{display:none}.setup-steps{max-width:230px}.setup-head{align-items:center}.setup-head h2{font-size:25px}.setup-panel{padding:24px 18px 34px}.setup-footer{align-items:stretch;flex-direction:column}.setup-footer .primary-btn{width:100%}.state-card{padding:28px 22px}.state-meta{grid-template-columns:1fr}.state-meta strong{text-align:left}}

/* ===== Phase 2: live settings, currency, team and email delivery ===== */
.notification-empty{padding:18px;color:#6b7c96;font-size:13px;line-height:1.5}
.global-email-warning{position:relative;z-index:95;display:flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:8px 24px;background:#fff8e8;border-bottom:1px solid #f5dfaa;color:#5f4a19}
.global-email-warning>div{display:flex;align-items:center;gap:10px;min-width:0}.global-email-warning strong{font-size:13px;color:#493811}.global-email-warning span{font-size:12.5px;color:#745d28}.global-email-warning a{flex:0 0 auto;padding:7px 11px;border:1px solid #e1c771;border-radius:8px;background:#fff;color:#6a5116;font-size:12px;font-weight:700;text-decoration:none}
.settings-content .settings-field .field-label{display:inline-flex!important;flex-direction:row!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important}.settings-content .settings-field .field-label em{display:inline!important;position:static!important;margin:0!important;color:#e2475c!important;font-style:normal!important}
.settings-form textarea{width:100%;border:1px solid #d9e2ee;border-radius:11px;padding:12px 14px;color:#203651;background:#fff;font:inherit;font-size:14px;line-height:1.55;outline:0;resize:vertical}.settings-form textarea:focus{border-color:#6b8cff;box-shadow:0 0 0 3px rgba(47,109,246,.09)}
.inset-head{margin-top:8px;padding-top:24px;border-top:1px solid #edf1f6}.usage-caption{display:block;margin-top:9px;color:#71829a;font-size:12px}.billing-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;margin-top:22px}.billing-meta-grid div{padding:13px 14px;border:1px solid #e4eaf2;border-radius:11px;background:#f9fbfe;display:grid;gap:5px}.billing-meta-grid span{color:#73849b;font-size:11.5px}.billing-meta-grid strong{color:#182b48;font-size:14px}
.team-live-list{display:grid}.team-live-row{display:grid;grid-template-columns:minmax(260px,1fr) 170px 190px;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #edf1f5}.team-live-row:first-child{border-top:0}.team-person{display:flex;align-items:center;gap:11px;min-width:0}.team-person>div{display:grid;gap:4px;min-width:0}.team-person strong{color:#152844;font-size:14px}.team-person span{overflow:hidden;color:#6d7f97;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.team-role-block select{width:100%;height:38px;border:1px solid #dce4ee;border-radius:9px;padding:0 9px;background:#fff;color:#334a66;font:inherit;font-size:12.5px}.team-status-block{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.currency-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.currency-check{min-height:58px;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:10px 12px;border:1px solid #e0e7f0;border-radius:11px;background:#fff;cursor:pointer}.currency-check input{width:17px!important;min-height:17px!important;height:17px!important;flex:0 0 17px}.currency-check>span{display:grid;gap:2px}.currency-check strong{color:#233955;font-size:13px}.currency-check small{color:#77899f;font-size:11px;font-weight:500}.exchange-card{padding-bottom:24px}.exchange-hero{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:22px;border:1px solid #dce7f8;border-radius:14px;background:linear-gradient(135deg,#f7faff,#f5f1ff)}.exchange-hero>span{font-size:16px;font-weight:750;color:#324a68}.exchange-hero>strong{font-size:27px;color:#172a48}.exchange-hero>small{flex-basis:100%;color:#74869c;font-size:11.5px}.exchange-disclaimer{margin:13px 2px 0;color:#77889e;font-size:11.5px;line-height:1.55}.support-request-list{display:grid}.support-request-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #edf1f5}.support-request-row:first-child{border-top:0}.support-request-row>div{display:grid;gap:4px}.support-request-row strong{color:#1d314d;font-size:13.5px}.support-request-row span{color:#75879e;font-size:11.5px}.empty-settings-state{padding:24px;text-align:center;color:#7a8ba1;font-size:13px}
.settings-primary-btn:disabled,.new-trip-btn:disabled{opacity:.45;cursor:not-allowed}.soft-action-btn[href]{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:980px){.billing-meta-grid{grid-template-columns:1fr 1fr}.team-live-row{grid-template-columns:1fr 150px}.team-status-block{grid-column:1/-1;justify-content:flex-start}.currency-check-grid{grid-template-columns:1fr 1fr}.global-email-warning{justify-content:space-between}}
@media(max-width:640px){.billing-meta-grid,.currency-check-grid{grid-template-columns:1fr}.team-live-row{grid-template-columns:1fr}.team-role-block{width:100%}.global-email-warning{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 14px}.global-email-warning>div{align-items:flex-start;flex-direction:column;gap:2px}}

/* ===== Subscription / workspace alerts ===== */
.global-alert-stack{
  position:relative;
  z-index:35;
  display:grid;
  width:100%;
}
.global-workspace-alert{
  position:relative;
  z-index:1;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:8px 24px;
  border-bottom:1px solid transparent;
  font-size:13px;
}
.global-alert-copy{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
}
.global-alert-copy strong{
  flex:0 0 auto;
  color:#23314d;
  font-size:13.5px;
  font-weight:750;
}
.global-alert-copy span{
  color:#52647f;
  font-size:13px;
  line-height:1.45;
}
.global-alert-action{
  flex:0 0 auto;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid currentColor;
  border-radius:9px;
  background:#fff;
  font-size:12.5px;
  font-weight:750;
  text-decoration:none!important;
  white-space:nowrap;
}
.global-workspace-alert.global-email-warning{
  z-index:1;
  min-height:48px;
  background:#fff8e8;
  border-bottom-color:#f0d996;
  color:#6a5116;
}
.global-workspace-alert.global-email-warning .global-alert-copy strong{color:#493811}
.global-workspace-alert.global-email-warning .global-alert-copy span{color:#745d28}
.global-workspace-alert.global-email-warning .global-alert-action{color:#6a5116;border-color:#e1c771}
.trial-plan-alert{
  min-height:40px;
  gap:16px;
  padding:5px 20px;
  background:linear-gradient(90deg,#f3f7ff 0%,#f7f2ff 100%);
  border-bottom-color:#dcdaf8;
}
.trial-plan-alert .global-alert-copy{gap:7px}
.trial-plan-alert .global-alert-copy strong{color:#3152a0;font-size:12.5px}
.trial-plan-alert .global-alert-copy span{color:#53678c;font-size:12px;line-height:1.35}
.trial-plan-alert .global-alert-copy .subscription-date{color:#243c78;font-size:inherit;font-weight:800}
.trial-plan-alert .global-alert-action{min-height:30px;padding:0 11px;color:#315ce7;border-color:#a9bdf9;background:#fff;font-size:11.75px}
.subscription-expiry-alert{
  background:#fff4ed;
  border-bottom-color:#ffd7bd;
}
.subscription-expiry-alert .global-alert-copy strong{color:#a23a08}
.subscription-expiry-alert .global-alert-copy span{color:#805036}
.subscription-expiry-alert .global-alert-action{color:#b54708;border-color:#f3b786;background:#fff}
/* Header/dropdowns must always sit above any global alert banner. */
.app-header{z-index:180}
.app-header .dropdown-panel{z-index:240}

@media(max-width:980px){
  .global-workspace-alert{justify-content:space-between}
  .global-alert-copy{justify-content:flex-start}
}
@media(max-width:720px){
  .global-workspace-alert{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 14px}
  .global-alert-copy{align-items:flex-start;flex-direction:column;gap:2px}
  .global-alert-action{min-height:32px}
}

/* =====================================================================
   FINAL SETTINGS SUITE — consistent, professional, production-ready UI
   ===================================================================== */
.settings-body{background:#f5f7fb;color:#172844}
.settings-page{max-width:1540px;margin:0 auto;padding:34px 36px 74px}
.settings-page-hero{padding:10px 2px 28px}
.settings-page-hero h1{font-size:38px;line-height:1.12;color:#0d1d3a}
.settings-page-hero>div>p:last-child{max-width:780px;color:#526981;font-size:14.5px}
.settings-layout{grid-template-columns:270px minmax(0,1fr);gap:26px;align-items:start}
.settings-content{display:grid;gap:22px;min-width:0}
.settings-sidebar{top:116px;border-color:#dce4ef;border-radius:18px;box-shadow:0 10px 30px rgba(25,49,83,.055)}
.settings-sidebar-head{padding:20px 19px}
.settings-nav{padding:10px}
.settings-nav-link{min-height:46px;padding:0 12px;border-radius:10px;color:#3d526e;font-size:14px;font-weight:650}
.settings-nav-link.active{background:linear-gradient(100deg,#edf4ff,#f3ecff);color:#2d67ed}
.settings-card{border-color:#dce4ef;border-radius:18px;box-shadow:0 10px 30px rgba(25,49,83,.05);background:#fff}
.settings-card-head{min-height:82px;padding:21px 24px;border-bottom-color:#e8edf4}
.settings-card-head h2{font-size:19px;color:#0f223f;font-weight:780}
.settings-card-head p{font-size:13.5px;color:#60758e;line-height:1.55}
.settings-form-grid{padding:24px;gap:19px 18px}
.settings-form-grid.one-col{grid-template-columns:1fr}
.settings-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-field{gap:8px;color:#344b68;font-size:13.5px;font-weight:700}
.settings-field .field-label{display:inline-flex!important;flex-direction:row!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important;line-height:1.25}
.settings-field .field-label em,.setup-form .field-label em{display:inline!important;position:static!important;margin:0!important;color:#e5485d!important;font-style:normal!important;font-size:inherit!important;line-height:inherit!important}
.settings-field input,.settings-field select,.settings-field textarea{border-color:#d6e0ec;border-radius:11px;color:#1f3653;font-size:14px;background:#fff}
.settings-field input,.settings-field select{height:48px;padding:0 13px}
.settings-field textarea{min-height:112px;padding:12px 13px;line-height:1.6}
.settings-field input::placeholder,.settings-field textarea::placeholder{color:#8b99ab;opacity:1}
.settings-field small{font-size:11.5px;color:#74869d;font-weight:500}
.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:#6f96ff;box-shadow:0 0 0 3px rgba(47,109,246,.09)}
.settings-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:17px 24px 20px;border-top:1px solid #e8edf4;background:#fff;border-radius:0 0 18px 18px}
.settings-primary-btn{min-height:44px;padding:0 17px;border-radius:10px;font-size:13.5px;font-weight:750}
.soft-action-btn{border-color:#dce4ee;background:#fff;color:#405672}
.status-pill.neutral{background:#eef2f7;color:#50647d}
.status-pill.danger{background:#fff0f2;color:#c53b50}
.danger-soft{color:#c33f52!important;border-color:#f2c9d0!important;background:#fff8f9!important}
.text-danger-btn{min-height:34px;padding:0 10px;border:0;border-radius:8px;background:#fff1f3;color:#c93e53;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.text-danger-btn:hover{background:#ffe7eb}

.settings-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 24px;padding:22px 0 0;border-top:1px solid #e8edf4}
.settings-subsection-head h3{margin:0;color:#172b48;font-size:16px;font-weight:760}
.settings-subsection-head p{margin:5px 0 0;color:#6a7e96;font-size:12.5px;line-height:1.5}
.settings-form-grid.subsection-grid{padding-top:18px}
.settings-grid-two,.settings-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.settings-grid-two>.settings-card,.settings-split-grid>.settings-card{height:100%}

/* Company logo */
.company-logo-body{display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:22px;padding:24px}
.company-logo-preview{width:126px;height:96px;display:grid;place-items:center;overflow:hidden;border:1px solid #dce4ef;border-radius:14px;background:linear-gradient(135deg,#f7faff,#f4f1ff);color:#4565a4;font-size:28px;font-weight:800}
.company-logo-preview img{width:100%;height:100%;object-fit:contain;padding:12px;background:#fff}
.company-logo-copy{display:grid;gap:8px;align-content:center}
.company-logo-copy>strong{color:#132844;font-size:16px}
.company-logo-copy>p{max-width:620px;margin:0;color:#687b94;font-size:13px;line-height:1.55}
.company-logo-upload-form{display:flex;align-items:center;gap:10px;margin-top:4px}
.company-logo-copy>small{color:#8795a8;font-size:11.5px}

/* Profile */
.profile-overview-card{padding:24px}
.profile-editor-head{align-items:center}
.profile-editor-copy{display:grid;gap:4px}
.profile-editor-copy h2{font-size:21px;color:#10233f}
.profile-editor-copy p{margin:0;color:#5e738d;font-size:13.5px}
.profile-editor-copy>span{color:#7b8ba0;font-size:12.5px}

/* Security tables / activity */
.security-table-wrap{overflow:visible}
.security-table{display:grid}
.security-table-head,.security-table-row{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(120px,.65fr) minmax(175px,.85fr) 90px 72px;align-items:center;gap:14px;padding:13px 24px}
.security-table-head{min-height:44px;background:#f8fafd;border-bottom:1px solid #e8edf4;color:#667a92;font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.security-table-row{min-height:70px;border-bottom:1px solid #edf1f5;color:#405672;font-size:13px}
.security-table-row:last-child{border-bottom:0}
.security-device{display:flex;align-items:center;gap:11px;min-width:0}
.security-device-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:#eef4ff;color:#4775d9}
.security-device>div{display:grid;gap:3px;min-width:0}.security-device strong{color:#1c324f;font-size:13.5px}.security-device small{overflow:hidden;color:#77899f;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}
.security-empty,.empty-settings-state{padding:28px;text-align:center;color:#71849b;font-size:13px}
.activity-list{display:grid;padding:0 24px}
.activity-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:66px;padding:12px 0;border-bottom:1px solid #edf1f5}
.activity-row:last-child{border-bottom:0}
.activity-dot{width:9px;height:9px;border-radius:50%;background:#91a0b4}.activity-dot.success{background:#19b982}.activity-dot.danger{background:#ef5d6f}.activity-dot.warning{background:#f1a53b}.activity-dot.neutral{background:#8090a5}
.activity-main{display:grid;gap:3px;min-width:0}.activity-main strong{color:#1d334f;font-size:13.5px}.activity-main span{overflow:hidden;color:#6b7f97;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.activity-row time{color:#71839a;font-size:12px;white-space:nowrap}

/* Team */
.team-license-body{padding:19px 24px 22px}.usage-bar.large{height:8px;border-radius:999px}.team-license-stats{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.team-license-stats strong{color:#223955;font-size:13px}.team-license-stats span{color:#72849b;font-size:12px}
.team-table-wrap{overflow:visible}.team-settings-table{display:grid}.team-settings-head,.team-settings-row{display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(155px,.75fr) minmax(175px,.9fr) 100px 88px;align-items:center;gap:15px;padding:0 24px}
.team-settings-head{min-height:46px;background:#f8fafd;border-bottom:1px solid #e8edf4;color:#667a92;font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.team-settings-row{min-height:78px;border-bottom:1px solid #edf1f5;color:#3f5571;font-size:13px}.team-settings-row:last-child{border-bottom:0}
.team-role-select{width:100%;height:40px;border:1px solid #d8e1ec;border-radius:9px;background:#fff;padding:0 9px;color:#314964;font:inherit;font-size:12.5px}
.team-login-copy{display:grid;gap:3px}.team-login-copy strong{color:#334b67;font-size:12.5px;font-weight:650}.team-login-copy small{color:#8190a4;font-size:11px}
.team-row-actions{position:relative;display:flex;justify-content:flex-end}.team-protected-label{color:#8b98a9;font-size:11.5px}
.team-actions-menu{position:relative}.team-actions-menu>summary{list-style:none;width:38px;height:36px;display:grid;place-items:center;border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#5d7390;font-size:16px;font-weight:800;cursor:pointer}.team-actions-menu>summary::-webkit-details-marker{display:none}.team-actions-menu[open]>summary{border-color:#abc3f7;background:#f5f8ff;color:#2f6df6}
.team-actions-menu>div{position:absolute;z-index:80;right:0;top:44px;width:215px;padding:7px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(20,42,75,.16)}
.team-actions-menu button{width:100%;min-height:39px;border:0;border-radius:8px;background:#fff;padding:0 10px;color:#344b67;text-align:left;font:inherit;font-size:12.5px;font-weight:650;cursor:pointer}.team-actions-menu button:hover{background:#f6f8fc;color:#2368ed}.team-actions-menu button.danger-option{color:#c64053}.team-actions-menu button.danger-option:hover{background:#fff1f3;color:#b92f43}
.workspace-activity-list{max-height:520px;overflow:auto}

/* Professional team invite drawer */
.settings-drawer-card{width:min(620px,calc(100vw - 24px))!important}
.settings-drawer-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.settings-drawer-body{flex:1 1 auto;min-height:0;overflow:auto;padding:22px 28px 30px;scrollbar-width:thin;scrollbar-color:#c9d4e4 transparent}
.settings-drawer-grid{display:grid;gap:18px 16px}.settings-drawer-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-drawer-grid .full{grid-column:1/-1}
.drawer-info-strip{display:grid;gap:3px;margin-bottom:20px;padding:13px 14px;border:1px solid #dce7f8;border-radius:11px;background:#f7faff}.drawer-info-strip strong{color:#284b82;font-size:13px}.drawer-info-strip span{color:#71849d;font-size:11.5px}
.settings-drawer-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:16px 28px 18px;border-top:1px solid #e8edf4;background:#fff;box-shadow:0 -8px 22px rgba(31,55,88,.035)}
.role-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.role-help-grid>div{padding:11px;border:1px solid #e3e9f2;border-radius:10px;background:#fafbfe}.role-help-grid strong{display:block;color:#2d435f;font-size:12px}.role-help-grid span{display:block;margin-top:4px;color:#7a8ba0;font-size:10.5px;line-height:1.45}

/* Currency */
.currency-toolbar{display:grid;grid-template-columns:minmax(260px,360px) minmax(300px,1fr);align-items:end;gap:16px;padding:22px 24px 14px}.currency-base-field{margin:0}.currency-search{height:48px;display:flex;align-items:center;gap:9px;border:1px solid #d6e0ec;border-radius:11px;background:#fff;padding:0 13px}.currency-search:focus-within{border-color:#6f96ff;box-shadow:0 0 0 3px rgba(47,109,246,.09)}.currency-search svg{width:18px;height:18px;fill:none;stroke:#7890aa;stroke-width:1.8}.currency-search input{flex:1;min-width:0;border:0;outline:0;color:#203753;font:inherit;font-size:13.5px}.currency-search input::placeholder{color:#8b99ab}
.enabled-currency-summary{display:flex;align-items:center;gap:13px;padding:0 24px 14px}.enabled-currency-summary>span{color:#6c7f97;font-size:12px;font-weight:650}.enabled-currency-summary>div{display:flex;flex-wrap:wrap;gap:6px}.enabled-currency-summary b{padding:4px 8px;border-radius:999px;background:#eef4ff;color:#3c68bd;font-size:10.5px}.enabled-currency-summary div>span{color:#8a98aa;font-size:11.5px}
.currency-check-scroll{max-height:400px;overflow:auto;margin:0 24px 20px;padding:2px 6px 2px 2px;scrollbar-width:thin;scrollbar-color:#ccd7e5 transparent}.compact-currency-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.compact-currency-grid .currency-check{min-height:54px;padding:9px 10px}.currency-check[hidden]{display:none!important}
.exchange-card-body{padding:20px 24px 23px}.compact-exchange-card .exchange-hero{padding:19px 20px}.compact-exchange-card .exchange-hero>strong{font-size:24px}.compact-exchange-card .exchange-hero>small{font-size:11.5px}

/* Email */
.email-status-body{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;padding:20px 24px}.email-status-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eef4ff;color:#356fe5;font-size:17px}.email-status-body strong{color:#1c3451;font-size:14px}.email-status-body p{margin:4px 0 0;color:#6a7e96;font-size:12.5px;line-height:1.5}
.technical-details{margin:0 24px 22px;border:1px solid #e1e7f0;border-radius:11px;background:#fafbfe}.technical-details summary{min-height:42px;display:flex;align-items:center;padding:0 13px;color:#405672;font-size:12.5px;font-weight:700;cursor:pointer}.technical-details>div{padding:0 13px 13px;border-top:1px solid #e8edf4}.technical-details p{margin:12px 0 5px;color:#657991;font-size:12px;line-height:1.55;word-break:break-word}.technical-details small{color:#8795a7;font-size:11px}.saved-inline{margin-left:6px;padding:2px 6px;border-radius:999px;background:#e9f8f2;color:#16865f!important;font-size:9.5px!important;font-weight:750!important}
.polished-inline-form{padding:20px 24px 23px;gap:14px}.polished-inline-form .settings-field{margin:0}

/* Billing / support */
.plan-title-line{display:flex;align-items:center;gap:10px;margin:6px 0}.plan-title-line h2{margin:0!important}.polished-plan-card .plan-card-main{padding:27px}.subscription-seat-grid .usage-card{min-height:138px}
.settings-callout{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:20px 24px}.settings-callout-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef4ff;color:#3471e9;font-weight:800}.settings-callout strong{color:#223955;font-size:13.5px}.settings-callout p{margin:4px 0 0;color:#6c7f97;font-size:12.5px}.settings-callout a{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid #dbe4ef;border-radius:9px;color:#2f68dc;background:#fff;text-decoration:none;font-size:12px;font-weight:700}
.support-settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.support-contact-body{display:grid}.support-contact-body>div{display:grid;gap:5px;padding:18px 22px;border-bottom:1px solid #edf1f5}.support-contact-body>div:last-child{border-bottom:0}.support-contact-body span{color:#74869c;font-size:11.5px}.support-contact-body strong,.support-contact-body a{color:#263e5b;font-size:13.5px;font-weight:700;text-decoration:none}.support-contact-body a{color:#2769e8}

/* Setup: required marks always inline and no tenant brand-colour control */
.setup-form .field-label{display:inline-flex!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important}
.setup-form .setup-grid.two>label:last-child:nth-child(odd){grid-column:auto}

@media(max-width:1240px){
  .settings-page{padding-left:24px;padding-right:24px}.settings-layout{grid-template-columns:244px minmax(0,1fr)}
  .team-settings-head,.team-settings-row{grid-template-columns:minmax(230px,1.3fr) minmax(145px,.75fr) minmax(155px,.85fr) 90px 75px;gap:11px;padding-left:18px;padding-right:18px}
  .compact-currency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .security-table-head,.security-table-row{grid-template-columns:minmax(220px,1.35fr) 115px minmax(150px,.8fr) 80px 65px;padding-left:18px;padding-right:18px}
}
@media(max-width:980px){
  .settings-page{padding:28px 18px 52px}.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-grid-two,.settings-split-grid,.support-settings-grid{grid-template-columns:1fr}.currency-toolbar{grid-template-columns:1fr}.compact-currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-settings-head{display:none}.team-settings-row{grid-template-columns:1fr 1fr;gap:12px;padding:18px}.team-settings-row>.team-person{grid-column:1/-1}.team-row-actions{justify-content:flex-start}.team-actions-menu>div{left:0;right:auto}
  .security-table-head{display:none}.security-table-row{grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px}.security-table-row>.security-device{grid-column:1/-1}.activity-row{grid-template-columns:10px 1fr}.activity-row time{grid-column:2;justify-self:start}
}
@media(max-width:680px){
  .settings-page{padding:24px 14px 44px}.settings-page-hero h1{font-size:31px}.settings-card-head{padding:18px;min-height:auto}.settings-form-grid.two-col,.settings-drawer-grid.two-col{grid-template-columns:1fr}.settings-form-grid,.settings-drawer-body{padding:18px}.settings-form-actions{padding:14px 18px 17px}.settings-subsection-head{margin:0 18px}.company-logo-body{grid-template-columns:1fr;padding:18px}.company-logo-preview{width:150px;height:108px}.company-logo-upload-form{flex-wrap:wrap}.compact-currency-grid{grid-template-columns:1fr}.currency-toolbar,.enabled-currency-summary{padding-left:18px;padding-right:18px}.currency-check-scroll{margin-left:18px;margin-right:18px}.role-help-grid{grid-template-columns:1fr}.settings-drawer-footer{padding:14px 18px 16px}.team-settings-row{grid-template-columns:1fr}.team-login-copy{grid-column:1/-1}.security-table-row{grid-template-columns:1fr}.security-table-row>.security-device{grid-column:auto}.settings-callout{grid-template-columns:38px 1fr}.settings-callout a{grid-column:2;width:fit-content}.activity-list{padding:0 18px}.enabled-currency-summary{align-items:flex-start;flex-direction:column;gap:7px}
}


/* =========================================================
   ItineraryFox Builder — Global Roboto + Form Readability Standard
   Permanent application-wide rule: placeholders must never
   look like entered values.
   ========================================================= */
html,
body,
button,
input,
select,
textarea,
optgroup,
option,
table,
.ui-datepicker,
.setup-body {
  font-family: "Roboto", Arial, sans-serif !important;
}

/* Real form values stay clearly readable even when the parent label is bold. */
input:not([type="button"]):not([type="submit"]):not([type="reset"]),
textarea,
select {
  color: #243853;
  font-weight: 500 !important;
  letter-spacing: 0;
}

/* Placeholder text is intentionally lighter and never bold. */
input::placeholder,
textarea::placeholder {
  color: #9aa8ba !important;
  font-weight: 400 !important;
  opacity: 1 !important;
  letter-spacing: 0 !important;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #9aa8ba !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #9aa8ba !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #9aa8ba !important;
  font-weight: 400 !important;
}

/* Search / drawer / login / editor controls inherit the same distinction. */
.search-box input,
.currency-search input,
.side-search input,
.pexels-search input,
.trip-chat-compose input,
.preview-chat-compose input,
.contact-search-input input,
.input-shell input,
.modal-field input,
.modal-field textarea,
.settings-field input,
.settings-field textarea,
.help-search input,
.setup-form input {
  font-weight: 500 !important;
}
.search-box input::placeholder,
.currency-search input::placeholder,
.side-search input::placeholder,
.pexels-search input::placeholder,
.trip-chat-compose input::placeholder,
.preview-chat-compose input::placeholder,
.contact-search-input input::placeholder,
.input-shell input::placeholder,
.modal-field input::placeholder,
.modal-field textarea::placeholder,
.settings-field input::placeholder,
.settings-field textarea::placeholder,
.help-search input::placeholder,
.setup-form input::placeholder {
  color: #9aa8ba !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

/* Keep readonly/disabled values differentiated without looking like placeholders. */
input[readonly],
textarea[readonly],
select:disabled,
input:disabled,
textarea:disabled {
  color: #65758c !important;
  font-weight: 500 !important;
}

/* =========================================================
   CONTACTS — live SaaS CRM phase
   ========================================================= */
.contact-loading,
.contact-load-error {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #60748d;
  font-size: 14px;
  font-weight: 500;
}
.contact-load-error { flex-direction: column; text-align: center; }
.contact-load-error strong { color: #162c48; font-size: 15px; }
.contact-load-error span { max-width: 520px; color: #6f8198; font-size: 13px; }
.mini-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #dbe6f4;
  border-top-color: #2d75ef;
  border-radius: 50%;
  animation: tbSpin .75s linear infinite;
}
@keyframes tbSpin { to { transform: rotate(360deg); } }
.contact-form-hint {
  padding: 12px 14px;
  border: 1px solid #e2eaf4;
  border-radius: 11px;
  background: #f8fbff;
  color: #6a7e97;
  font-size: 12.5px;
  line-height: 1.5;
}
.contact-detail-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 24px 28px 108px;
}
.contact-detail-actions {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 12;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 76px;
  padding: 16px 28px 18px;
  border-top: 1px solid #e5ebf3;
  background: rgba(255,255,255,.985);
  box-shadow: 0 -12px 30px rgba(30,54,86,.055);
}
.contact-detail-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8edf4;
}
.contact-detail-hero .contact-avatar { width: 52px; height: 52px; flex: 0 0 52px; font-size: 15px; }
.contact-detail-hero h3 { margin: 0 0 4px; color: #10233f; font-size: 20px; font-weight: 800; }
.contact-detail-hero p { margin: 0; color: #687c95; font-size: 13px; }
.contact-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
}
.contact-detail-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid #e1e8f2;
  border-radius: 12px;
  background: #fbfdff;
}
.contact-detail-grid span { color: #7a8ca3; font-size: 11.5px; font-weight: 600; }
.contact-detail-grid strong { overflow-wrap: anywhere; color: #263e5b; font-size: 13.5px; font-weight: 700; }
.contact-detail-section { margin-top: 22px; }
.contact-detail-section h4 { margin: 0 0 10px; color: #1b3350; font-size: 14px; font-weight: 800; }
.contact-detail-section p { margin: 0; color: #566d88; font-size: 13.5px; line-height: 1.65; white-space: pre-wrap; }
.contact-detail-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.contact-detail-tags span { padding: 6px 9px; border-radius: 999px; background: #edf4ff; color: #2869d8; font-size: 11.5px; font-weight: 700; }
.contact-detail-trips { display: grid; gap: 8px; }
.contact-detail-trip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  border: 1px solid #e1e8f2;
  border-radius: 11px;
  background: #fff;
  text-decoration: none;
}
.contact-detail-trip:hover { border-color: #bfd3f4; background: #f8fbff; text-decoration: none; }
.contact-detail-trip > span { min-width: 0; display: grid; gap: 3px; }
.contact-detail-trip strong { overflow: hidden; color: #203a58; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.contact-detail-trip small { color: #7b8da4; font-size: 11.5px; }
.contact-detail-trip em { flex: 0 0 auto; color: #52708f; font-size: 10.5px; font-style: normal; font-weight: 700; text-transform: capitalize; }
.contact-detail-empty { padding: 14px; border: 1px dashed #d6e1ee; border-radius: 11px; color: #7b8ca1; font-size: 12.5px; text-align: center; }
.contact-type-badge.contact { color: #176fd4; background: #edf4ff; }
.contacts-table .row-menu { min-width: 210px; }
.contacts-table-card .pagination button { cursor: pointer; }
.contacts-table-card .pagination button:disabled { cursor: default; opacity: .45; }
.contacts-table-card .pagination button.active { border-color: #2c72ef; color: #1e63df; background: #f2f7ff; }
.confirm-icon.danger {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #fff0f2;
  color: #d94559;
  font-size: 21px;
  font-weight: 800;
}
.confirm-card h3 { margin: 16px 0 7px; color: #142a46; font-size: 22px; }
.confirm-card p { margin: 0; color: #667b94; font-size: 13.5px; line-height: 1.6; }
.confirm-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }

@media (max-width: 720px) {
  .contact-detail-grid { grid-template-columns: 1fr; }
  .contact-detail-body { padding: 20px 18px 104px; }
  .contact-detail-actions { padding-inline: 18px; }
}

/* Contacts CSV import/export tools */
.contact-tools-wrap{position:relative}
.contact-tools-toggle{gap:8px}
.contact-tools-toggle .contact-tools-chevron{width:15px;height:15px;margin-left:1px;transition:transform .18s ease}
.contact-tools-toggle[aria-expanded="true"] .contact-tools-chevron{transform:rotate(180deg)}
.contact-tools-menu{top:calc(100% + 8px);left:0;right:auto;width:290px;padding:7px;z-index:170}
.contact-tools-menu>a,.contact-tools-menu>button{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#304865;text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.contact-tools-menu>a:hover,.contact-tools-menu>button:hover{background:#f4f7fc;color:#175fd1}
.contact-tools-menu>a>svg,.contact-tools-menu>button>svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-tools-menu>a>span,.contact-tools-menu>button>span{min-width:0;display:grid;gap:2px}
.contact-tools-menu strong{font-size:13px;font-weight:700;color:inherit}
.contact-tools-menu small{color:#8190a4;font-size:11.5px;font-weight:400}
.contact-tools-menu>button:disabled{opacity:.55;cursor:wait}
.contact-import-notice{max-width:1376px;margin:-3px auto 14px;padding:11px 13px;display:flex;align-items:flex-start;gap:10px;border:1px solid #cfe7d9;border-radius:11px;background:#f2fbf6;color:#285842;font-size:12.5px;line-height:1.5}
.contact-import-notice[hidden]{display:none!important}
.contact-import-notice.warning{border-color:#f0dfb6;background:#fffaf0;color:#72571a}
.contact-import-notice.error{border-color:#f3c9ce;background:#fff5f6;color:#8b3340}
.contact-import-notice-icon{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:#dff6e9;color:#16945b;font-weight:800}
.contact-import-notice.warning .contact-import-notice-icon{background:#fff0c9;color:#a97700}
.contact-import-notice.error .contact-import-notice-icon{background:#ffe0e4;color:#d13c52}
.contact-import-notice>div{min-width:0;flex:1;display:grid;gap:4px}
.contact-import-notice strong{color:inherit;font-size:12.8px;font-weight:700}
.contact-import-notice button{border:0;background:transparent;color:currentColor;font:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.7}
.contact-import-notice details{margin-top:2px}
.contact-import-notice summary{width:fit-content;cursor:pointer;font-weight:650}
.contact-import-notice ul{margin:7px 0 0;padding-left:18px}
.contact-import-notice li{margin:2px 0}
@media(max-width:760px){.contact-tools-menu{left:0;right:auto;width:min(290px,calc(100vw - 28px))}.contact-import-notice{margin-left:14px;margin-right:14px}}

/* ======================================================================
   LIVE LIBRARY + GLOBAL MEDIA PICKER
   ====================================================================== */
body.modal-open{overflow:hidden}
.library-live-page{padding-bottom:72px}
.library-category-strip{display:flex;gap:10px;margin:0 auto 20px;padding:6px;max-width:1376px;overflow-x:auto;scrollbar-width:none}.library-category-strip::-webkit-scrollbar{display:none}
.library-category-tab{min-width:max-content;border:1px solid #dfe6f2;background:#fff;border-radius:13px;min-height:48px;padding:0 14px;display:flex;align-items:center;gap:9px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:600;color:#40506a;cursor:pointer;transition:.18s ease}.library-category-tab:hover{border-color:#b8c8ee;color:#243b85;background:#f8faff}.library-category-tab.active{border-color:#8da7ef;background:#eef3ff;color:#253c91;box-shadow:0 6px 18px rgba(51,76,158,.08)}.library-category-tab b{font-size:11px;font-weight:700;min-width:22px;height:22px;border-radius:999px;background:#edf1f7;color:#64728a;display:inline-flex;align-items:center;justify-content:center}.library-category-tab.active b{background:#fff;color:#3149a0}.library-cat-icon{width:26px;height:26px;border-radius:8px;background:#f3f5fa;display:inline-flex;align-items:center;justify-content:center;font-size:14px;color:#51617d}.library-category-tab.active .library-cat-icon{background:#dfe7ff;color:#283f97}
.library-list-shell{max-width:1376px;margin:0 auto;background:#fff;border:1px solid #e1e7f0;border-radius:18px;box-shadow:0 7px 30px rgba(24,41,74,.045);overflow:visible}.library-list-head{padding:18px 20px;border-bottom:1px solid #edf1f6;display:flex;align-items:center;justify-content:space-between;gap:20px}.library-list-head>div{display:flex;flex-direction:column;gap:3px}.library-list-head strong{font-size:16px;color:#14213d;font-weight:700}.library-list-head span{font-size:13px;color:#718096}.library-page-size{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#718096}.library-page-size select{height:36px;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#27364d;font:500 13px Roboto,Arial,sans-serif;padding:0 28px 0 10px}
.library-live-list{display:flex;flex-direction:column}.library-live-row{display:grid;grid-template-columns:178px minmax(0,1fr) 46px;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf1f6;position:relative;transition:.16s ease}.library-live-row:last-child{border-bottom:0}.library-live-row:hover{background:#fbfcff}.library-row-media{height:112px;border-radius:13px;overflow:hidden;background:#f2f5fa;position:relative;border:1px solid #e5eaf2}.library-row-media img{width:100%;height:100%;object-fit:cover;display:block}.library-row-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:#50617e;background:linear-gradient(145deg,#f4f7fb,#e8edf5)}.library-row-placeholder.activity{background:linear-gradient(145deg,#fff4e9,#ffe5c6);color:#c97722}.library-row-placeholder.lodging{background:linear-gradient(145deg,#edf2ff,#dce6ff);color:#3654ad}.library-row-placeholder.flight{background:linear-gradient(145deg,#eaf9ff,#d4f2ff);color:#217ca4}.library-row-placeholder.transportation{background:linear-gradient(145deg,#f0edff,#e1dcff);color:#6552bf}.library-row-placeholder.cruise{background:linear-gradient(145deg,#e9fbf7,#d4f3eb);color:#25836e}.library-row-placeholder.info{background:linear-gradient(145deg,#f5f6f8,#e9ebef);color:#59667a}.library-row-category{position:absolute;left:8px;bottom:8px;border-radius:999px;background:rgba(17,31,58,.78);backdrop-filter:blur(5px);padding:4px 8px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em}.library-row-main{min-width:0}.library-row-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.library-row-title-line>div{min-width:0;display:flex;flex-direction:column;gap:4px}.library-row-title-line strong{font-size:16px;line-height:1.35;color:#101c36;font-weight:700}.library-row-title-line span{font-size:12.5px;color:#6c7b91;font-weight:500}.library-row-main>p{margin:8px 0 10px;color:#4f5f75;font-size:13.5px;line-height:1.55;max-width:880px}.library-row-meta{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:12px;color:#8a97a8}.library-row-meta b{font-weight:600;color:#59697e}.library-price{flex:none;border:1px solid #dfe6f0;background:#f8faff;border-radius:9px;padding:7px 9px;color:#253b82!important;font-size:12px!important;font-weight:700!important}.library-live-row .row-actions{align-self:start;padding-top:3px}.library-live-row .row-menu{z-index:520}.library-loading-state,.library-load-error{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:#718096}.library-load-error strong{color:#17233d;font-size:16px}.library-load-error span{font-size:13px;color:#7b8799}.library-empty-state{padding:64px 20px;text-align:center}.library-empty-icon{margin:0 auto 14px;width:58px;height:58px;border-radius:17px;background:#edf2ff;color:#30499e;display:flex;align-items:center;justify-content:center;font-size:25px}.library-empty-state h3{margin:0 0 7px;color:#14213d;font-size:18px}.library-empty-state p{margin:0 auto 18px;color:#6f7d91;max-width:480px;font-size:13.5px}.library-pagination{padding:14px 18px;border-top:1px solid #edf1f6}.library-page .filter-wrap{z-index:80}.library-page .filters-panel{z-index:530}

/* centered Add/Edit Library modal */
.library-center-modal{position:fixed;inset:0;background:rgba(15,24,44,.42);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:900}.library-center-modal[hidden]{display:none!important}.library-center-dialog{width:min(1120px,calc(100vw - 44px));height:min(870px,calc(100vh - 44px));background:#fff;border-radius:20px;box-shadow:0 28px 90px rgba(17,28,51,.28);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.8)}.library-modal-head{flex:none;padding:20px 24px 16px;border-bottom:1px solid #e7ebf2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff}.tbz-modal-kicker{display:block;margin-bottom:5px;color:#566fb6;font-size:10.5px;font-weight:800;letter-spacing:.11em}.library-modal-head h2,.tbz-media-head h2{margin:0;color:#111d37;font-size:23px;line-height:1.2;font-weight:750}.library-modal-head p,.tbz-media-head p{margin:5px 0 0;color:#748197;font-size:13px;line-height:1.45}.tbz-icon-close{width:38px;height:38px;border:1px solid #e0e5ed;border-radius:10px;background:#fff;color:#65748a;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.tbz-icon-close:hover{background:#f5f7fb;color:#23334d}.tbz-icon-close svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.library-modal-tabs{flex:none;display:flex;gap:2px;padding:0 20px;border-bottom:1px solid #e8edf4;background:#fbfcfe;overflow-x:auto}.library-modal-tabs button{height:52px;border:0;border-bottom:2px solid transparent;background:transparent;padding:0 14px;color:#66748b;font:600 13px Roboto,Arial,sans-serif;display:flex;gap:7px;align-items:center;cursor:pointer;white-space:nowrap}.library-modal-tabs button span{font-size:15px}.library-modal-tabs button:hover{color:#2d438f}.library-modal-tabs button.active{color:#293f91;border-bottom-color:#3654bc;background:#fff}.library-modal-form{display:flex;flex-direction:column;min-height:0;flex:1}.library-modal-scroll{padding:20px 24px 34px;overflow:auto;min-height:0;flex:1;background:#f9fafc}.library-subtype-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.library-subtype-row button{height:38px;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#617087;padding:0 14px;font:600 12.5px Roboto,Arial,sans-serif;cursor:pointer}.library-subtype-row button.active{background:#263d91;border-color:#263d91;color:#fff;box-shadow:0 5px 15px rgba(38,61,145,.16)}
.library-form-section{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:18px;margin-bottom:14px}.library-form-section:last-child{margin-bottom:0}.library-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.library-section-title>div{display:flex;align-items:flex-start;gap:11px}.library-section-title>div>span{width:28px;height:28px;border-radius:8px;background:#edf2ff;color:#30499c;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex:none}.library-section-title>div>div{display:flex;flex-direction:column;gap:2px}.library-section-title strong{font-size:14px;color:#15213b;font-weight:700}.library-section-title small{font-size:11.5px;line-height:1.45;color:#8290a3;font-weight:400}.library-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px}.library-form-grid .modal-field.full{grid-column:1/-1}.library-form-grid .modal-field{margin:0;display:flex;flex-direction:column;gap:7px;color:#34435a;font-size:12.5px;font-weight:600}.library-form-grid .modal-field>small{font-size:10.5px;color:#8a96a8;font-weight:400}.library-form-grid input,.library-form-grid select{width:100%;height:44px;border:1px solid #d8e0ea;border-radius:10px;background:#fff;color:#1f2d44;font:500 13.5px Roboto,Arial,sans-serif;padding:0 12px;outline:0;transition:.16s}.library-form-grid input:focus,.library-form-grid select:focus{border-color:#7691df;box-shadow:0 0 0 3px rgba(82,111,193,.1)}.library-form-grid [hidden]{display:none!important}.input-icon-wrap{position:relative}.input-icon-wrap input{padding-right:38px}.input-icon-wrap>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;color:#6f7e93;pointer-events:none}.duration-fields{height:44px;border:1px solid #d8e0ea;border-radius:10px;display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;overflow:hidden;background:#fff}.duration-fields input{border:0!important;border-radius:0!important;height:42px!important;box-shadow:none!important;min-width:0}.duration-fields span{font-size:11px;color:#8490a1;padding-right:9px}.price-grid{max-width:520px}.field-label{display:inline-flex!important;align-items:center!important;gap:3px!important}.field-label em{display:inline!important;color:#e44b55!important;font-style:normal!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important}
.rich-editor-shell{border:1px solid #d8e0ea;border-radius:12px;background:#fff;overflow:hidden}.rich-editor-toolbar{min-height:42px;padding:5px 7px;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:#f9fafc}.rich-editor-toolbar button{height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:#56657b;font:500 11.5px Roboto,Arial,sans-serif;padding:0 9px;cursor:pointer}.rich-editor-toolbar button:hover{border-color:#d9e1ed;background:#fff;color:#283d89}.rich-editor{min-height:150px;max-height:310px;overflow:auto;padding:13px 14px;color:#233149;font:400 13.5px/1.65 Roboto,Arial,sans-serif;outline:0}.rich-editor:empty:before{content:attr(data-placeholder);color:#a1abb9;font-weight:400;pointer-events:none}.rich-editor p{margin:0 0 8px}.rich-editor ul,.rich-editor ol{padding-left:22px}.rich-editor blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid #9aaee4;background:#f7f9ff;color:#4b5d76}
.library-modal-actions{flex:none;min-height:72px;border-top:1px solid #e1e6ee;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 20px;box-shadow:0 -8px 24px rgba(31,46,76,.04)}.library-modal-actions>div:last-child{display:flex;gap:9px}.library-modal-status{font-size:12px;color:#d34850;line-height:1.4;max-width:60%}.secondary-btn.compact,.primary-btn.compact{height:36px;padding:0 12px;font-size:12px}.file-button{cursor:pointer}.file-button.is-disabled{pointer-events:none;opacity:.55}
.library-media-selected{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.library-selected-photo{position:relative;height:128px;border-radius:11px;border:1px solid #dfe5ee;overflow:hidden;background:#f2f4f8}.library-selected-photo img{width:100%;height:100%;object-fit:cover}.library-selected-photo>span{position:absolute;left:7px;bottom:7px;right:7px;display:flex;align-items:end;justify-content:space-between;gap:5px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}.library-selected-photo b{background:#263e92;border-radius:999px;padding:3px 7px;font-size:9px}.library-selected-photo small{font-size:9px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-selected-photo>button{position:absolute;right:6px;top:6px;width:26px;height:26px;border:0;border-radius:8px;background:rgba(12,22,40,.72);color:#fff;cursor:pointer;font-size:18px}.library-inline-empty{grid-column:1/-1;border:1px dashed #d8e0eb;border-radius:11px;min-height:74px;display:flex;align-items:center;justify-content:center;color:#929dae;font-size:12px;background:#fbfcfd}.library-attachment-list{display:flex;flex-direction:column;gap:8px}.library-attachment-row{min-height:50px;border:1px solid #e0e6ee;border-radius:10px;padding:7px 9px;display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:9px;align-items:center}.attachment-file-icon{width:30px;height:30px;border-radius:8px;background:#eef2fb;color:#3b54a0;display:flex;align-items:center;justify-content:center}.library-attachment-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.library-attachment-row strong{font-size:12px;color:#25324a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-attachment-row small{font-size:10px;color:#8995a6}.library-attachment-row a{font-size:11px;font-weight:600;color:#3553a5;text-decoration:none}.library-attachment-row>button{border:0;background:transparent;color:#9aa5b4;font-size:18px;cursor:pointer}.library-delete-confirm{z-index:980}

/* Global Media Picker */
.tbz-media-modal{position:fixed;inset:0;background:rgba(13,23,42,.46);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:1100}.tbz-media-modal[hidden]{display:none!important}.tbz-media-dialog{width:min(1100px,calc(100vw - 44px));height:min(820px,calc(100vh - 44px));background:#fff;border-radius:20px;box-shadow:0 30px 95px rgba(15,26,49,.3);overflow:hidden;display:flex;flex-direction:column}.tbz-media-head{flex:none;padding:19px 22px 15px;border-bottom:1px solid #e5eaf2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.tbz-media-head p{max-width:760px}.tbz-media-tabs{flex:none;display:flex;padding:0 20px;border-bottom:1px solid #e7ecf3;background:#fafbfd}.tbz-media-tabs button{height:50px;border:0;border-bottom:2px solid transparent;background:transparent;color:#67758a;font:600 13px Roboto,Arial,sans-serif;padding:0 14px;display:flex;align-items:center;gap:8px;cursor:pointer}.tbz-media-tabs button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}.tbz-media-tabs button.active{color:#2b438f;border-bottom-color:#3656b7;background:#fff}.tbz-media-body{flex:1;min-height:0;background:#f8fafc}.tbz-media-pane{display:none;height:100%;overflow:auto;padding:18px 20px 28px}.tbz-media-pane.active{display:block}.tbz-media-searchbar{display:grid;grid-template-columns:1fr auto;gap:9px}.tbz-media-searchbox{height:44px;border:1px solid #d7dfe9;border-radius:11px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px}.tbz-media-searchbox svg{width:18px;fill:none;stroke:#78869a;stroke-width:1.7}.tbz-media-searchbox input{flex:1;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;height:40px!important;font:400 13.5px Roboto,Arial,sans-serif!important;color:#213049!important}.tbz-media-search-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 2px 13px;color:#8591a3;font-size:11px}.tbz-media-search-meta a{color:#5168ab;text-decoration:none;font-weight:600}.tbz-pexels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tbz-pexels-card,.tbz-recent-media-card{border:1px solid #e0e6ef;border-radius:12px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;position:relative;font-family:Roboto,Arial,sans-serif;transition:.16s ease}.tbz-pexels-card:hover,.tbz-recent-media-card:hover{border-color:#9db0e7;transform:translateY(-1px);box-shadow:0 8px 20px rgba(46,68,125,.08)}.tbz-pexels-card.selected,.tbz-recent-media-card.selected{border-color:#4562bd;box-shadow:0 0 0 2px rgba(69,98,189,.15)}.tbz-pexels-image{height:128px;display:block;position:relative;background:#eef1f6}.tbz-pexels-image img{width:100%;height:100%;object-fit:cover;display:block}.tbz-pexels-image i,.tbz-recent-media-card>i{position:absolute;right:7px;top:7px;width:24px;height:24px;border-radius:999px;background:#fff;color:transparent;border:1px solid rgba(51,67,96,.18);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:700}.tbz-pexels-card.selected .tbz-pexels-image i,.tbz-recent-media-card.selected>i{background:#3552ad;border-color:#3552ad;color:#fff}.tbz-pexels-credit{display:flex;flex-direction:column;gap:2px;padding:8px 9px}.tbz-pexels-credit strong{font-size:10.5px;color:#2d3b52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.tbz-pexels-credit small{font-size:9.5px;color:#8b96a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbz-media-empty,.tbz-media-loading{grid-column:1/-1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8b96a7;gap:7px}.tbz-media-empty>span{font-size:35px;color:#a2afc3}.tbz-media-empty strong{font-size:15px;color:#36445b}.tbz-media-empty p{margin:0;max-width:430px;font-size:12px;line-height:1.5}.tbz-media-empty.error strong{color:#bf454c}.tbz-media-loadmore-wrap{display:flex;justify-content:center;padding-top:14px}.tbz-upload-drop{min-height:220px;border:1.5px dashed #cbd5e4;border-radius:15px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;cursor:pointer;transition:.16s}.tbz-upload-drop:hover,.tbz-upload-drop.dragging{border-color:#6f89d7;background:#f7f9ff}.tbz-upload-icon{width:48px;height:48px;border-radius:14px;background:#edf2ff;color:#3553a7;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.tbz-upload-icon svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.7}.tbz-upload-drop strong{font-size:14px;color:#223149}.tbz-upload-drop p{margin:5px 0 2px;color:#79869a;font-size:11.5px}.tbz-upload-drop small{color:#9aa5b4;font-size:10.5px}.tbz-media-recent-head{margin:19px 0 10px;display:flex;align-items:end;justify-content:space-between;gap:15px}.tbz-media-recent-head>div{display:flex;flex-direction:column;gap:2px}.tbz-media-recent-head strong{font-size:13px;color:#253249}.tbz-media-recent-head span{font-size:10.5px;color:#8a96a7}.tbz-recent-media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.tbz-recent-media-card{height:150px}.tbz-recent-media-card>img{width:100%;height:103px;object-fit:cover;display:block}.tbz-recent-media-card>span{padding:6px 7px;display:flex;flex-direction:column;gap:1px}.tbz-recent-media-card strong{font-size:9.5px;color:#304058;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbz-recent-media-card small{font-size:8.5px;color:#8b96a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbz-media-foot{flex:none;min-height:72px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.tbz-media-selected-copy{display:flex;flex-direction:column;gap:2px}.tbz-media-selected-copy strong{font-size:12px;color:#26344b}.tbz-media-selected-copy span{font-size:10.5px;color:#8995a6}.tbz-media-foot-actions{display:flex;gap:8px}

/* jQuery UI datepicker lives above centered Library modal */
.ui-datepicker{z-index:1250!important;font-family:Roboto,Arial,sans-serif!important}

@media(max-width:900px){.library-live-row{grid-template-columns:136px minmax(0,1fr) 40px;gap:12px}.library-row-media{height:100px}.library-media-selected{grid-template-columns:repeat(3,1fr)}.tbz-pexels-grid{grid-template-columns:repeat(3,1fr)}.tbz-recent-media-grid{grid-template-columns:repeat(4,1fr)}.library-center-dialog,.tbz-media-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.library-center-modal,.tbz-media-modal{padding:12px}}
@media(max-width:680px){.library-category-strip{padding-left:14px;padding-right:14px}.library-list-shell{border-radius:0;border-left:0;border-right:0}.library-list-head{padding:14px}.library-live-row{grid-template-columns:96px minmax(0,1fr) 34px;padding:12px;gap:10px}.library-row-media{height:92px}.library-row-title-line{display:block}.library-price{display:inline-flex;margin-top:7px}.library-row-main>p{display:none}.library-row-meta{margin-top:8px;gap:6px 10px}.library-row-meta span:nth-child(n+3){display:none}.library-modal-head,.tbz-media-head{padding:15px 16px 12px}.library-modal-head h2,.tbz-media-head h2{font-size:20px}.library-modal-tabs{padding:0 8px}.library-modal-tabs button{padding:0 10px;height:48px}.library-modal-scroll{padding:13px 12px 24px}.library-form-section{padding:14px 12px}.library-form-grid{grid-template-columns:1fr}.library-form-grid .modal-field.full{grid-column:auto}.library-section-title{display:block}.library-section-title>.secondary-btn{margin-top:10px}.library-media-selected{grid-template-columns:repeat(2,1fr)}.library-selected-photo{height:112px}.library-modal-actions{padding:10px 12px}.library-modal-status{display:none}.tbz-media-pane{padding:13px 12px 22px}.tbz-media-searchbar{grid-template-columns:1fr}.tbz-pexels-grid{grid-template-columns:repeat(2,1fr)}.tbz-pexels-image{height:118px}.tbz-recent-media-grid{grid-template-columns:repeat(3,1fr)}.tbz-media-foot{padding:10px 12px}.tbz-media-selected-copy span{display:none}.tbz-media-search-meta{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:440px){.library-live-row{grid-template-columns:78px minmax(0,1fr) 30px}.library-row-media{height:80px;border-radius:10px}.library-row-category{display:none}.library-row-title-line strong{font-size:14px}.library-row-title-line span{font-size:11px}.library-row-meta{font-size:10px}.library-media-selected{grid-template-columns:1fr 1fr}.tbz-pexels-grid{grid-template-columns:1fr 1fr}.tbz-recent-media-grid{grid-template-columns:1fr 1fr}.tbz-media-head p{display:none}.library-modal-head p{font-size:11px}.tbz-media-foot-actions .secondary-btn{display:none}}

/* ======================================================================
   LIBRARY FINAL UI POLISH + SHARED LIBRARY/MEDIA ACTION SYSTEM
   ====================================================================== */
.library-live-page,
.library-center-dialog,
.tbz-media-dialog{
  --tbz-lib-action-height:44px;
  --tbz-lib-action-radius:11px;
  --tbz-lib-action-font:13.5px;
  --tbz-lib-content-gap:18px;
}

/* Keep every major Library block on one exact workspace grid. */
.library-live-page .workspace-hero,
.library-live-page .workspace-toolbar,
.library-live-page .library-category-strip,
.library-live-page .library-list-shell,
.library-live-page .library-import-notice{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
.library-live-page .library-category-strip{
  padding:0;
  margin-top:0;
  margin-bottom:20px;
  gap:9px;
}
.library-live-page .library-list-shell{overflow:visible}
.library-live-page .library-import-notice{margin-top:-4px;margin-bottom:16px}

/* One action-control size across Library main UI. */
.library-live-page .library-action-button,
.library-live-page .toolbar-primary-actions>.new-trip-btn,
.library-live-page .toolbar-primary-actions>.filter-wrap>.soft-action-btn,
.library-live-page .toolbar-right>.filter-wrap>.filter-btn,
.library-live-page .library-empty-state>.new-trip-btn{
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
  border-radius:var(--tbz-lib-action-radius)!important;
  padding:0 16px!important;
  font-size:var(--tbz-lib-action-font)!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
}
.library-live-page .library-toolbar .search-box{
  height:var(--tbz-lib-action-height);
  min-height:var(--tbz-lib-action-height);
  border-radius:var(--tbz-lib-action-radius);
}
.library-live-page .toolbar-primary-actions{gap:10px;align-items:center}
.library-live-page .contact-tools-wrap{flex:none}
.library-live-page .library-tools-toggle svg:first-child{width:18px;height:18px}
.library-live-page .library-tools-menu{top:calc(100% + 8px);z-index:620}
.library-live-page .library-page-size{font-size:12.5px;color:#64748b}
.library-live-page .library-page-size select{
  height:40px;
  min-height:40px;
  border-radius:10px;
  padding-left:11px;
  font-size:13px;
}
.library-live-page .library-list-head{padding:18px 20px;min-height:76px}
.library-live-page .library-empty-state{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 22px}
.library-live-page .library-empty-state[hidden]{display:none!important}
.library-live-page .library-empty-state .new-trip-btn{margin-top:14px}
.library-live-page .library-category-tab{
  min-height:44px;
  height:44px;
  border-radius:11px;
  padding:0 13px;
  font-size:13.5px;
}
.library-live-page .library-cat-icon{width:25px;height:25px;border-radius:7px}

/* Center modal section/actions: identical sizing, balanced spacing. */
.library-center-dialog .primary-btn,
.library-center-dialog .secondary-btn,
.tbz-media-dialog .primary-btn,
.tbz-media-dialog .secondary-btn{
  width:auto!important;
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
  padding:0 16px!important;
  border-radius:var(--tbz-lib-action-radius)!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:var(--tbz-lib-action-font)!important;
  font-weight:700!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  white-space:nowrap;
  margin:0!important;
}
.library-center-dialog .library-section-action{
  flex:none;
  min-width:126px;
}
.library-center-dialog .file-button{user-select:none}
.library-center-dialog .library-section-title{
  align-items:center;
  margin-bottom:16px;
}
.library-center-dialog .library-section-title>div{min-width:0;flex:1}
.library-center-dialog .library-form-section{padding:19px 20px;margin-bottom:15px}
.library-center-dialog .library-modal-scroll{padding:20px 24px 30px}
.library-center-dialog .library-modal-actions{
  min-height:70px;
  padding:12px 20px;
  align-items:center;
}
.library-center-dialog .library-modal-actions>div:last-child{align-items:center;gap:9px}
.library-center-dialog .library-modal-action{min-width:112px}
.library-center-dialog #librarySaveButton{min-width:148px}
.library-center-dialog .library-inline-empty{min-height:74px;display:flex;align-items:center;justify-content:center}
.library-center-dialog .rich-editor-toolbar{min-height:42px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.library-center-dialog .rich-editor-toolbar button{min-height:32px;display:inline-flex;align-items:center;justify-content:center}

/* Media picker: Search input/button and footer buttons must match exactly. */
.tbz-media-dialog .tbz-media-searchbar{
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:stretch;
}
.tbz-media-dialog .tbz-media-searchbox{
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
  border-radius:var(--tbz-lib-action-radius)!important;
  box-sizing:border-box;
}
.tbz-media-dialog .tbz-media-searchbox input{height:calc(var(--tbz-lib-action-height) - 4px)!important}
.tbz-media-dialog .tbz-media-searchbar>.primary-btn{
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
  min-width:92px;
  align-self:stretch;
}
.tbz-media-dialog .tbz-media-foot{
  min-height:70px;
  padding:12px 18px;
  align-items:center;
}
.tbz-media-dialog .tbz-media-foot-actions{display:flex;align-items:center;gap:9px}
.tbz-media-dialog .tbz-media-foot-actions>.secondary-btn,
.tbz-media-dialog .tbz-media-foot-actions>.primary-btn{
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
}
.tbz-media-dialog #mediaUseSelected{min-width:118px}
.tbz-media-dialog .tbz-media-loadmore-wrap .secondary-btn{min-width:112px}

/* Keep action dropdowns visually attached to their controls. */
.library-live-page .library-live-row .row-actions{position:relative}
.library-live-page .library-live-row .row-menu{right:0;left:auto;top:42px;min-width:180px}

@media(max-width:760px){
  .library-live-page .workspace-toolbar{gap:12px}
  .library-live-page .toolbar-primary-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .library-live-page .toolbar-primary-actions>*{width:100%!important}
  .library-live-page .contact-tools-wrap{width:100%}
  .library-live-page .library-tools-toggle{width:100%!important}
  .library-live-page .library-tools-menu{width:min(290px,calc(100vw - 32px))}
  .library-live-page .library-category-strip{padding:0;margin-left:0;margin-right:0}
  .library-live-page .library-list-shell{border-left:1px solid #e1e7f0;border-right:1px solid #e1e7f0;border-radius:16px}
  .library-center-dialog .library-section-title{align-items:flex-start;gap:12px}
  .library-center-dialog .library-section-title>.library-section-action{width:auto;min-width:126px}
  .tbz-media-dialog .tbz-media-searchbar{grid-template-columns:1fr}
  .tbz-media-dialog .tbz-media-searchbar>.primary-btn{width:100%!important}
}
@media(max-width:520px){
  .library-live-page .toolbar-primary-actions{grid-template-columns:1fr}
  .library-center-dialog .library-section-title{flex-direction:column;align-items:stretch}
  .library-center-dialog .library-section-title>.library-section-action{width:100%!important}
  .library-center-dialog .library-modal-actions{align-items:stretch;flex-direction:column;gap:8px}
  .library-center-dialog .library-modal-actions>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .library-center-dialog .library-modal-action{width:100%!important;min-width:0}
  .tbz-media-dialog .tbz-media-foot{align-items:stretch;flex-direction:column;gap:8px}
  .tbz-media-dialog .tbz-media-foot-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .tbz-media-dialog .tbz-media-foot-actions>.secondary-btn,
  .tbz-media-dialog .tbz-media-foot-actions>.primary-btn{display:inline-flex!important;width:100%!important;min-width:0}
}
.library-live-page .library-filters-panel .primary-btn,
.library-live-page .library-load-error .secondary-btn{
  height:var(--tbz-lib-action-height)!important;
  min-height:var(--tbz-lib-action-height)!important;
  border-radius:var(--tbz-lib-action-radius)!important;
  font-size:var(--tbz-lib-action-font)!important;
  line-height:1!important;
}
.library-live-page .library-filters-panel .primary-btn{width:100%!important}

/* ======================================================================
   TRIPS LIVE WORKSPACE — consistent controls and drawer polish
   ====================================================================== */
.trips-page,
#newTripModal,
#aiItineraryModal,
#deleteConfirm{
  --tbz-trip-action-height:44px;
  --tbz-trip-action-radius:11px;
  --tbz-trip-action-font:13.5px;
}
.trips-page .new-trip-btn,
.trips-page .ai-itinerary-btn,
.trips-page .filter-btn,
.trips-page .apply-filters{
  height:var(--tbz-trip-action-height)!important;
  min-height:var(--tbz-trip-action-height)!important;
  border-radius:var(--tbz-trip-action-radius)!important;
  padding:0 16px!important;
  font-size:var(--tbz-trip-action-font)!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  white-space:nowrap;
}
.trips-page .search-box{
  height:var(--tbz-trip-action-height)!important;
  min-height:var(--tbz-trip-action-height)!important;
  border-radius:var(--tbz-trip-action-radius)!important;
  box-sizing:border-box;
}
.trips-page .trip-toolbar{align-items:center;gap:18px}
.trips-page .toolbar-primary-actions,.trips-page .toolbar-right{align-items:center}
.trips-page .trips-table-card{width:100%;box-sizing:border-box}
.trips-page .trips-table-scroll{min-height:112px}
.trips-page .trips-loading-row td{
  height:112px;
  text-align:center;
  color:#6f8199;
  font-size:13.5px;
  font-weight:500;
}
.trips-page .trips-loading-row.error td{color:#c84655}
.table-loading-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#397cf0;box-shadow:0 0 0 5px rgba(57,124,240,.10);vertical-align:1px}
.trip-live-thumb.tone-1{background:linear-gradient(145deg,#54b6ee,#5a87d8)}
.trip-live-thumb.tone-2{background:linear-gradient(145deg,#9d6a4f,#eea05d)}
.trip-live-thumb.tone-3{background:linear-gradient(145deg,#e1775c,#4da586)}
.trip-live-thumb.tone-4{background:linear-gradient(145deg,#66b8c7,#6fa26d)}
.trip-live-thumb.tone-5{background:linear-gradient(145deg,#ee8792,#b74f8a)}
.trip-live-thumb.tone-6{background:linear-gradient(145deg,#44b7ce,#477fb7)}
.trip-contact-line{display:block!important;margin-top:3px;color:#7b8ca2!important;font-size:11.5px!important;line-height:1.25}
.status-badge.archived{background:#eef1f5;color:#657286}
.activity-dot.gray{background:#8996a8}
.trips-page .table-footer{min-height:60px;padding:0 18px;font-size:12.5px;color:#64768d}
.trips-page .table-footer select{height:36px;min-height:36px;border-radius:9px;font-size:12.5px;padding:0 9px}
.trips-page .pagination{display:flex;align-items:center;gap:6px}
.trips-page .pagination button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfe6ef;border-radius:9px;background:#fff;color:#526780;font:inherit;font-size:13px;cursor:pointer}
.trips-page .pagination button.active{border-color:#3477f4;color:#1e64ed;background:#f5f8ff}
.trips-page .pagination button:disabled{opacity:.38;cursor:not-allowed}
.trips-page .row-menu{min-width:218px}
.trips-page .row-menu a{min-height:38px;font-size:13px}
.trips-page .row-menu svg{width:17px;height:17px}
#newTripModal .secondary-btn,
#newTripModal .create-trip-submit,
#aiItineraryModal .secondary-btn,
#aiItineraryModal .create-trip-submit,
#deleteConfirm .secondary-btn,
#deleteConfirm .danger-btn{
  height:var(--tbz-trip-action-height)!important;
  min-height:var(--tbz-trip-action-height)!important;
  border-radius:var(--tbz-trip-action-radius)!important;
  padding:0 17px!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:var(--tbz-trip-action-font)!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  margin:0!important;
}
#newTripModal .modal-actions,#aiItineraryModal .modal-actions{align-items:center;gap:10px}
#newTripModal .contact-suggest-panel{max-height:330px;overflow:auto;padding:8px}
#newTripModal #tripContactResultList{display:grid;gap:4px}
#newTripModal .contact-search-state{padding:12px;color:#7a8ca2;font-size:12.5px;text-align:center}
#newTripModal .contact-search-state[hidden]{display:none!important}
#newTripModal .contact-suggestion,#newTripModal .contact-create-suggestion{width:100%;min-height:58px;border-radius:10px}
#newTripModal .inline-new-contact{margin-top:0}
#newTripModal .inline-contact-grid{gap:14px}
#newTripModal .modal-field input,#newTripModal .modal-field select,#newTripModal .modal-field textarea{font-weight:500}
#newTripModal .modal-field input::placeholder,#newTripModal .modal-field textarea::placeholder{font-weight:400;color:#9aa8b8}
#newTripModal .create-trip-submit:disabled,#deleteConfirm button:disabled{opacity:.62;cursor:wait}
@media(max-width:760px){
  .trips-page .toolbar-primary-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .trips-page .toolbar-primary-actions>*{width:100%!important}
  .trips-page .toolbar-right{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .trips-page .table-footer{grid-template-columns:1fr;gap:10px;padding:12px 14px;justify-items:center}
  .trips-page .table-footer label{justify-self:center}
}
@media(max-width:520px){
  .trips-page .toolbar-primary-actions{grid-template-columns:1fr}
  .trips-page .toolbar-right{grid-template-columns:1fr}
  .trips-page .filter-wrap,.trips-page .filter-btn{width:100%}
  #newTripModal .modal-actions,#aiItineraryModal .modal-actions{display:grid!important;grid-template-columns:1fr 1fr}
  #newTripModal .modal-actions>* ,#aiItineraryModal .modal-actions>*{width:100%!important}
}

/* =========================================================
   Phase 5.1 — Trip contact creation + AI draft polish
   ========================================================= */
#newTripModal .field-help {
  display: block;
  margin-top: -1px;
  color: #7e8fa5;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.45;
}
#newTripModal .inline-new-contact {
  scroll-margin-top: 14px;
}
#newTripModal .inline-contact-grid .modal-field {
  min-width: 0;
}
#newTripModal .inline-contact-grid input {
  width: 100%;
}

.ai-draft-preview {
  grid-column: 1 / -1;
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid #dce5f3;
  border-radius: 15px;
  background: linear-gradient(145deg,#fbfdff,#faf8ff);
}
.ai-draft-preview[hidden] { display: none !important; }
.ai-draft-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.ai-draft-head > div { min-width: 0; }
.ai-draft-head span:first-child {
  display: block;
  margin-bottom: 4px;
  color: #6c58cf;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}
.ai-draft-head h3 {
  margin: 0;
  color: #102342;
  font-size: 17px;
  font-weight: 800;
}
.ai-draft-head p {
  margin: 5px 0 0;
  color: #64778f;
  font-size: 12.5px;
  line-height: 1.5;
}
.ai-draft-model {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid #e0d9ff;
  border-radius: 999px;
  background: #f6f2ff;
  color: #684bd0 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.ai-draft-days {
  display: grid;
  gap: 9px;
  max-height: 330px;
  overflow: auto;
  padding-right: 3px;
}
.ai-draft-day {
  padding: 12px 13px;
  border: 1px solid #e4eaf3;
  border-radius: 12px;
  background: #fff;
}
.ai-draft-day > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 9px;
}
.ai-draft-day > div:first-child > span {
  color: #4e75d9;
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
}
.ai-draft-day > div:first-child > strong {
  color: #19304e;
  font-size: 13.5px;
}
.ai-draft-day > p {
  margin: 5px 0 8px;
  color: #72849a;
  font-size: 11.5px;
  line-height: 1.45;
}
.ai-draft-day ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ai-draft-day li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 9px;
  align-items: start;
  color: #526780;
  font-size: 11.5px;
}
.ai-draft-day li > span {
  color: #7185a0;
  font-size: 10.5px;
  font-weight: 700;
}
.ai-draft-day li div { display: grid; gap: 1px; }
.ai-draft-day li strong { color: #2a405e; font-size: 12px; }
.ai-draft-day li small { color: #8292a6; font-size: 10.5px; }
.ai-use-draft {
  justify-self: end;
  min-height: 44px;
  height: 44px;
  padding: 0 16px;
}
.ai-use-draft svg { width: 17px; height: 17px; }
@media (max-width: 640px) {
  .ai-draft-head { display: grid; }
  .ai-draft-model { width: fit-content; }
  .ai-draft-day li { grid-template-columns: 40px 1fr; }
  .ai-use-draft { width: 100%; justify-content: center; }
}

/* ======================================================================
   PHASE 6 — LIVE TRIP EDITOR + REAL PREVIEW / SECURE SHARE
   ====================================================================== */
.live-trip-editor,
.live-trip-preview{font-family:Roboto,Arial,sans-serif;color:#182b48}
.live-trip-editor{--tbz-editor-btn-h:44px;--tbz-editor-radius:11px}
.live-trip-editor .editor-topbar{height:64px;z-index:1200}
.live-trip-editor .editor-topbar button,
.live-trip-editor .editor-topbar a{font-family:Roboto,Arial,sans-serif}
.live-trip-editor .editor-topbar-right .soft-action-btn,
.live-trip-editor .editor-preview-link{height:40px;min-height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px}
.live-trip-editor .itinerary-editor-shell{inset:64px 0 0;grid-template-rows:184px minmax(0,1fr)}
.live-trip-editor .trip-cover{background-size:cover;background-position:center;transition:background-image .2s ease}
.live-trip-editor .editor-workspace{grid-template-columns:292px minmax(430px,1fr) 330px}
.live-trip-editor .day-sidebar,.live-trip-editor .day-editor,.live-trip-editor .editor-sidepanel{min-width:0}
.live-trip-editor .day-list{overflow:auto;min-height:0}
.live-trip-editor .day-nav-item{min-height:76px}
.live-trip-editor .day-sidebar-actions{gap:9px}
.live-trip-editor .add-day-btn,
.live-trip-editor .new-event-btn,
.live-trip-editor .change-cover-btn,
.live-trip-editor .secondary-btn,
.live-trip-editor .create-trip-submit,
.live-trip-editor .soft-action-btn,
.live-trip-editor .preview-advisor-button{
  min-height:var(--tbz-editor-btn-h)!important;height:var(--tbz-editor-btn-h)!important;
  border-radius:var(--tbz-editor-radius)!important;font:600 13.5px/1 Roboto,Arial,sans-serif!important;
  padding:0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-sizing:border-box!important
}
.live-trip-editor .day-more,.live-trip-editor .compact-icon-btn{width:44px;height:44px;min-height:44px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}
.live-trip-editor .day-content-scroll{padding-bottom:40px}
.live-trip-editor .editor-loading,.live-trip-editor .editor-empty-mini{padding:22px 18px;text-align:center;color:#8090a5;font-size:12.5px;display:grid;gap:5px}
.live-trip-editor .editor-empty-mini strong{color:#2a3d59;font-size:13px}.live-trip-editor .editor-empty-mini span{line-height:1.45}
.live-trip-editor .editor-empty-state{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8090a5;padding:30px}
.live-trip-editor .editor-empty-state.compact{min-height:230px}.live-trip-editor .editor-empty-state>span{width:52px;height:52px;border-radius:15px;background:#eef3ff;color:#385fd2;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:10px}.live-trip-editor .editor-empty-state h3{margin:0;color:#1c2f4b;font-size:17px}.live-trip-editor .editor-empty-state p{margin:6px 0 0;font-size:12.5px;max-width:420px;line-height:1.5}
.live-trip-editor .itinerary-event{position:relative}.live-trip-editor .event-action-wrap{position:relative;flex:none}.live-trip-editor .event-more-button{width:34px;height:34px;border:0;background:transparent;color:#71839b;border-radius:8px;cursor:pointer;font-weight:700}.live-trip-editor .event-more-button:hover{background:#f2f5fa;color:#2f4b72}.live-trip-editor .event-action-menu{position:absolute;right:0;top:38px;width:132px;padding:6px;border:1px solid #e0e6ef;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(26,43,76,.16);z-index:45}.live-trip-editor .event-action-menu[hidden]{display:none!important}.live-trip-editor .event-action-menu button{width:100%;height:34px;border:0;border-radius:7px;background:transparent;text-align:left;padding:0 10px;color:#405470;font:500 12px Roboto,Arial,sans-serif;cursor:pointer}.live-trip-editor .event-action-menu button:hover{background:#f5f7fb}.live-trip-editor .event-action-menu .danger{color:#d44655}.live-trip-editor .event-media-strip{display:flex;gap:8px;margin:12px 0 4px;overflow:auto}.live-trip-editor .event-media-strip img{width:94px;height:66px;object-fit:cover;border-radius:9px;border:1px solid #e2e8f0;flex:none}
.live-trip-editor .library-quick-filters{display:flex;gap:6px;overflow:auto}.live-trip-editor .library-quick-filters button{height:32px;min-width:max-content;padding:0 10px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:#61748d;font:600 11.5px Roboto,Arial,sans-serif;cursor:pointer}.live-trip-editor .library-quick-filters button.active{background:#eef3ff;border-color:#cbd8ff;color:#315dda}.live-trip-editor .editor-library-list article>button{width:34px;height:34px;border-radius:9px;font-size:18px;line-height:1}
.live-trip-editor .editor-note-compose{padding:12px;display:grid;gap:9px;border-bottom:1px solid #e9edf4}.live-trip-editor .editor-note-compose textarea{width:100%;min-height:92px;border:1px solid #dbe3ed;border-radius:10px;padding:10px 11px;resize:vertical;font:400 12.5px/1.5 Roboto,Arial,sans-serif;color:#263b57}.live-trip-editor .editor-note-compose textarea::placeholder{color:#9aa8b9;font-weight:400}.live-trip-editor .editor-note-compose label{display:flex;align-items:center;gap:7px;color:#6d7f95;font-size:11.5px}.live-trip-editor .editor-note-compose .secondary-btn{justify-self:end;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:12px!important}.live-trip-editor .note-log article{position:relative}.live-trip-editor .note-log article>button{margin-left:auto;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#9a6670;cursor:pointer}.live-trip-editor .note-log article>button:hover{background:#fff1f3;color:#d44a58}
.live-trip-editor .trip-chat-thread{overflow:auto}.live-trip-editor .trip-chat-compose input::placeholder{font-weight:400;color:#9aa8b9}
.live-trip-editor .autosave-state.saving{color:#65758d}.live-trip-editor .autosave-state.saving i{background:#f0a43a;box-shadow:0 0 0 4px rgba(240,164,58,.10)}

/* Live editor drawers/forms use one compact, predictable form rhythm. */
.live-trip-editor .modal-backdrop{z-index:1450}
.live-trip-editor .live-event-modal{width:min(620px,100vw)!important}
.live-trip-editor .live-trip-info-modal{width:min(680px,100vw)!important}
.live-trip-editor .live-editor-modal{width:min(540px,100vw)!important}
.live-trip-editor .event-live-form{overflow:auto;padding-bottom:92px!important}
.live-trip-editor .event-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 14px}.live-trip-editor .event-form-grid .full{grid-column:1/-1}.live-trip-editor .modal-field input,.live-trip-editor .modal-field select,.live-trip-editor .modal-field textarea{font-family:Roboto,Arial,sans-serif;font-weight:500;color:#2a3f5d}.live-trip-editor .modal-field input::placeholder,.live-trip-editor .modal-field textarea::placeholder{font-weight:400;color:#9aa8b8}.live-trip-editor .modal-actions{min-height:68px;align-items:center!important;gap:9px!important}.live-trip-editor .modal-actions-spacer{flex:1}.live-trip-editor .danger-soft{color:#d64653!important;border-color:#f0cfd4!important;background:#fff!important}.live-trip-editor .danger-soft:hover{background:#fff4f5!important}
.live-trip-editor .live-trip-info-body{padding:18px 20px 90px;overflow:auto;display:grid;gap:20px}.live-trip-editor .trip-info-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.live-trip-editor .trip-info-summary-grid>div{padding:13px;border:1px solid #e1e7f0;border-radius:11px;background:#fafcff;display:grid;gap:4px}.live-trip-editor .trip-info-summary-grid span{font-size:10.5px;color:#8290a3;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.live-trip-editor .trip-info-summary-grid strong{font-size:13.5px;color:#213650}.live-trip-editor .trip-info-summary-grid small{font-size:11px;color:#75869c}.live-trip-editor .trip-documents-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.live-trip-editor .trip-documents-head h3{margin:0;color:#162a46;font-size:17px}.live-trip-editor .trip-documents-head p{margin:4px 0 0;color:#77889e;font-size:11.5px}.live-trip-editor .trip-documents-list{display:grid;gap:8px}.live-trip-editor .trip-documents-list article{min-height:66px;border:1px solid #e1e7f0;border-radius:11px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px}.live-trip-editor .trip-documents-list article>div{min-width:0;display:grid;gap:3px}.live-trip-editor .trip-documents-list strong{font-size:12.5px;color:#263a55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-trip-editor .trip-documents-list small{font-size:10.5px;color:#8391a4}.live-trip-editor .trip-documents-list .secondary-btn{height:36px!important;min-height:36px!important;padding:0 11px!important;font-size:11.5px!important;text-decoration:none}.live-trip-editor .doc-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.live-trip-editor .doc-icon.orange{background:#fff0e5;color:#da6f24}.live-trip-editor .doc-icon.blue{background:#edf3ff;color:#3b68d5}.live-trip-editor .icon-danger-button{width:32px;height:32px;border:0;border-radius:8px;background:#fff4f5;color:#ce4855;cursor:pointer}
.live-trip-editor .share-modal-body{padding:18px 20px 86px;display:grid;gap:14px;overflow:auto}.live-trip-editor .share-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.live-trip-editor .share-link-box[hidden]{display:none!important}.live-trip-editor .share-link-box input{height:44px;border:1px solid #dbe3ed;border-radius:11px;padding:0 11px;color:#43566e;background:#f8fafc;font:400 12px Roboto,Arial,sans-serif}.live-trip-editor .share-help{margin:0;color:#78899e;font-size:11.5px;line-height:1.5}

/* Real preview/share */
.live-trip-preview{background:#f3f6fa}.live-trip-preview .preview-shell{width:min(1120px,calc(100% - 36px));margin:18px auto 50px}.live-trip-preview .preview-hero{min-height:310px;background-size:cover;background-position:center;border-radius:20px 20px 0 0;position:relative;overflow:hidden;padding:34px 34px 30px;display:flex;align-items:flex-end}.live-trip-preview .preview-brand-logo{position:absolute;left:24px;top:22px;width:124px;max-height:52px;object-fit:contain;background:#fff;padding:9px 12px;border-radius:10px}.live-trip-preview .preview-hero>div{position:relative;color:#fff}.live-trip-preview .preview-hero h1{font:700 34px/1.15 Roboto,Arial,sans-serif;margin:10px 0}.live-trip-preview .preview-hero p{font-size:13px;font-weight:600}.live-trip-preview .preview-kicker{display:inline-flex;padding:6px 9px;border-radius:7px;border:1px solid rgba(255,255,255,.38);background:rgba(12,35,66,.35);font-size:9.5px;font-weight:800;letter-spacing:.08em}.live-trip-preview .preview-hero-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.live-trip-preview .preview-hero-chips span{padding:7px 10px;border-radius:8px;background:rgba(18,42,72,.72);border:1px solid rgba(255,255,255,.16);font-size:10.5px;font-weight:600}.live-trip-preview .preview-tabs{background:#fff}.live-trip-preview .preview-content{background:#f8fafc;border-radius:0 0 20px 20px;min-height:520px}.live-trip-preview .preview-panel[data-preview-panel="itinerary"].active{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.live-trip-preview .preview-summary-card{position:sticky;top:76px}.live-trip-preview .preview-days{min-width:0}.live-trip-preview .preview-day{background:#fff}.live-trip-preview .preview-event{gap:14px}.live-trip-preview .preview-event-media{display:flex;gap:8px;margin:9px 0 4px;overflow:auto}.live-trip-preview .preview-event-media img{width:112px;height:74px;object-fit:cover;border-radius:9px;border:1px solid #e3e9f1}.live-trip-preview .preview-event-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;color:#61758f;font-size:10.5px}.live-trip-preview .preview-loading,.live-trip-preview .preview-empty{min-height:260px;border:1px dashed #dbe3ee;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:#7e8fa4}.live-trip-preview .preview-empty strong{font-size:15px;color:#30435d}.live-trip-preview .preview-empty p{margin:5px 0 0;font-size:12px}.live-trip-preview .preview-empty-inline{padding:25px;text-align:center;color:#8391a5;font-size:12px}.live-trip-preview .preview-advisor-button{width:100%;height:38px;margin-top:14px;border:0;border-radius:9px;background:#edf3ff;color:#2d61de;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700}.live-trip-preview .document-grid article a{height:36px;border:1px solid #dbe3ee;border-radius:9px;padding:0 12px;display:inline-flex;align-items:center;text-decoration:none;color:#3b5f9f;font-size:11.5px;font-weight:600}.live-trip-preview .preview-contact-details a{color:#2c63de;text-decoration:none}.live-trip-preview .preview-chat-readonly{border-top:1px solid #e5eaf2;padding:12px 16px;color:#7b8ca1;font-size:11.5px;text-align:center}.live-trip-preview .preview-chat-compose input::placeholder{font-weight:400;color:#9aa8b8}.public-preview-topbar .public-preview-brand{display:flex;align-items:center;gap:10px}.public-preview-topbar .public-preview-brand img{width:108px;height:34px;object-fit:contain}.public-preview-topbar .public-preview-brand span{font-size:11px;font-weight:700;color:#73859b}.share-unavailable{margin:0;background:#f5f7fb;font-family:Roboto,Arial,sans-serif;color:#1e304a;min-height:100vh;display:grid;place-items:center}.share-unavailable main{width:min(520px,calc(100% - 30px));padding:36px;border:1px solid #e1e7ef;border-radius:18px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(23,42,73,.08)}.share-unavailable img{width:150px}.share-unavailable h1{font-size:24px;margin:24px 0 8px}.share-unavailable p{margin:0;color:#73849a;line-height:1.6;font-size:13px}

@media(max-width:1180px){.live-trip-editor .editor-workspace{grid-template-columns:250px minmax(400px,1fr) 300px}.live-trip-preview .preview-shell{width:calc(100% - 22px)}}
@media(max-width:980px){.live-trip-editor .editor-workspace{grid-template-columns:220px minmax(0,1fr)}.live-trip-editor .editor-sidepanel{display:none}.live-trip-preview .preview-panel[data-preview-panel="itinerary"].active{grid-template-columns:1fr}.live-trip-preview .preview-summary-card{position:static}.live-trip-preview .preview-summary-card{display:grid;grid-template-columns:1fr 1fr;gap:15px}.live-trip-preview .preview-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.live-trip-editor .editor-topbar-left .editor-top-link,.live-trip-editor .autosave-state{display:none}.live-trip-editor .itinerary-editor-shell{grid-template-rows:150px minmax(0,1fr)}.live-trip-editor .editor-workspace{grid-template-columns:1fr}.live-trip-editor .day-sidebar{display:none}.live-trip-editor .trip-cover{padding:18px}.live-trip-editor .trip-cover-copy h1{font-size:24px}.live-trip-editor .event-form-grid,.live-trip-editor .trip-info-summary-grid{grid-template-columns:1fr}.live-trip-editor .event-form-grid .full{grid-column:auto}.live-trip-editor .trip-documents-head{align-items:stretch;flex-direction:column}.live-trip-editor .trip-documents-list article{grid-template-columns:auto minmax(0,1fr) auto}.live-trip-editor .trip-documents-list .icon-danger-button{grid-column:3}.live-trip-preview .preview-shell{width:100%;margin:0}.live-trip-preview .preview-hero{border-radius:0;min-height:270px;padding:28px 20px 24px}.live-trip-preview .preview-brand-logo{left:18px;top:18px;width:110px}.live-trip-preview .preview-hero h1{font-size:28px}.live-trip-preview .preview-content{border-radius:0}.live-trip-preview .preview-tabs{overflow:auto;justify-content:flex-start}.live-trip-preview .preview-panel{padding:16px!important}.live-trip-preview .preview-summary-card{grid-template-columns:1fr}.preview-topbar{padding:0 12px}.preview-topbar>div{gap:6px}.preview-topbar button{padding:0 10px}.public-preview-topbar .public-preview-brand span{display:none}}
@media print{.preview-topbar,.preview-tabs [data-preview-tab="chat"],.preview-tabs [data-preview-tab="contact"],.preview-chat-compose{display:none!important}.live-trip-preview{background:#fff}.live-trip-preview .preview-shell{width:100%;margin:0}.live-trip-preview .preview-summary-card{position:static}.live-trip-preview .preview-day{break-inside:avoid}.live-trip-preview .preview-panel[data-preview-panel="itinerary"]{display:grid!important}.live-trip-preview .preview-content{background:#fff}}
.live-trip-editor .event-media-field{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 10px;padding:12px 0;border-top:1px solid #edf1f6}.live-trip-editor .event-media-field>div{display:grid;gap:3px}.live-trip-editor .event-media-field small{color:#8391a4;font-size:10.5px}.live-trip-editor .event-selected-media{min-height:62px;border:1px dashed #d7e0ec;border-radius:11px;padding:9px;display:flex;align-items:center;gap:8px;overflow:auto;color:#94a0b0;font-size:11.5px}.live-trip-editor .event-selected-media figure{width:72px;height:50px;margin:0;position:relative;flex:none}.live-trip-editor .event-selected-media img{width:100%;height:100%;object-fit:cover;border-radius:8px}.live-trip-editor .event-selected-media figure button{position:absolute;right:-5px;top:-5px;width:20px;height:20px;border-radius:999px;border:1px solid #dfe5ed;background:#fff;color:#bf4a56;cursor:pointer;font-size:13px;line-height:1}.live-trip-editor .event-selected-media>span{margin:auto}
.live-trip-editor .event-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid #e4eaf2;border-radius:11px;background:#fafcff}.live-trip-editor .event-detail-fields:has(label:not([hidden])){margin-top:2px}.live-trip-editor .event-detail-fields label{display:grid;gap:6px;color:#3e526d;font-size:11.5px;font-weight:600}.live-trip-editor .event-detail-fields label[hidden]{display:none!important}.live-trip-editor .event-detail-fields input{height:42px;border:1px solid #dbe3ed;border-radius:10px;padding:0 11px;background:#fff;color:#2b405c;font:500 12.5px Roboto,Arial,sans-serif}.live-trip-editor .event-detail-fields input::placeholder{color:#9ba8b8;font-weight:400}@media(max-width:620px){.live-trip-editor .event-detail-fields{grid-template-columns:1fr}}
.live-trip-editor .day-nav-item.dragging,.live-trip-editor .itinerary-event.dragging{opacity:.48;outline:2px dashed #6e88d8;outline-offset:-3px}.live-trip-editor .day-nav-item[draggable="true"],.live-trip-editor .itinerary-event[draggable="true"]{cursor:grab}.live-trip-editor .day-nav-item[draggable="true"]:active,.live-trip-editor .itinerary-event[draggable="true"]:active{cursor:grabbing}

/* ======================================================================
   PHASE 7 — TRIP EDITOR QA + PDF / EMAIL SHARE POLISH
   ====================================================================== */
.live-trip-editor{--tbz-editor-btn-h:44px;--tbz-editor-radius:11px}
.live-trip-editor .editor-topbar-right .soft-action-btn,
.live-trip-editor .editor-preview-link,
.live-trip-editor .change-cover-btn,
.live-trip-editor .add-day-btn,
.live-trip-editor .new-event-btn,
.live-trip-editor .secondary-btn,
.live-trip-editor .create-trip-submit,
.live-trip-editor .share-itinerary-modal .modal-actions>button{
  height:44px!important;min-height:44px!important;border-radius:11px!important;
  padding:0 16px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;gap:7px!important;box-sizing:border-box!important;
  font:600 13px/1 Roboto,Arial,sans-serif!important
}
.live-trip-editor .editor-topbar-right .editor-preview-link{height:40px!important;min-height:40px!important;padding:0 12px!important}
.live-trip-editor .share-itinerary-modal{width:min(680px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.live-trip-editor .share-itinerary-modal .share-modal-body{padding:0;overflow:auto;background:#fbfcff}
.live-trip-editor .share-mode-tabs{height:50px;display:flex;gap:3px;padding:6px 18px 0;border-bottom:1px solid #e5eaf2;background:#fff;position:sticky;top:0;z-index:2}
.live-trip-editor .share-mode-tabs button{height:43px;border:0;border-bottom:2px solid transparent;background:transparent;padding:0 14px;color:#6a7c94;font:600 12.5px/1 Roboto,Arial,sans-serif;cursor:pointer}
.live-trip-editor .share-mode-tabs button.active{color:#315fdd;border-bottom-color:#315fdd}
.live-trip-editor .share-mode-panel{display:none;padding:18px 20px 22px}.live-trip-editor .share-mode-panel.active{display:block}
.live-trip-editor .share-email-grid{display:grid;gap:14px}.live-trip-editor .share-email-grid .modal-field{margin:0}
.live-trip-editor .share-email-grid input,.live-trip-editor .share-email-grid select,.live-trip-editor .share-email-grid textarea,
.live-trip-editor .share-mode-panel>label select{width:100%;border:1px solid #d9e2ee;border-radius:11px;background:#fff;color:#2b405c;font:500 13px Roboto,Arial,sans-serif;box-sizing:border-box}
.live-trip-editor .share-email-grid input,.live-trip-editor .share-email-grid select,.live-trip-editor .share-mode-panel>label select{height:44px;padding:0 12px}
.live-trip-editor .share-email-grid textarea{min-height:112px;padding:11px 12px;resize:vertical;line-height:1.5}
.live-trip-editor .share-email-options{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;padding:13px 14px;border:1px solid #e2e8f2;border-radius:12px;background:#fff}
.live-trip-editor .share-email-options>label:first-child{display:flex;align-items:center;gap:8px;color:#445a76;font-size:12.5px;font-weight:500}.live-trip-editor .share-email-options>label:first-child input{width:16px;height:16px;margin:0}
.live-trip-editor .share-email-options>label:last-child{display:grid;gap:6px}.live-trip-editor .share-email-options>label:last-child>span{color:#61748e;font-size:10.5px;font-weight:700}.live-trip-editor .share-email-options select{height:38px!important}
.live-trip-editor .share-email-warning{padding:11px 13px;border:1px solid #f4d485;border-radius:10px;background:#fff9e9;color:#8b6514;font-size:11.5px;line-height:1.5}.live-trip-editor .share-email-warning a{color:#3c64d8;font-weight:700;text-decoration:none}
.live-trip-editor .share-email-history{display:grid;gap:7px}.live-trip-editor .share-history-title{margin-top:2px;color:#6c7d94;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.live-trip-editor .share-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e6ebf2;border-radius:10px;background:#fff}.live-trip-editor .share-history-row>span{min-width:0;display:grid;gap:2px}.live-trip-editor .share-history-row strong{color:#30445f;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-trip-editor .share-history-row small{color:#8492a5;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-trip-editor .share-history-row em{flex:none;padding:4px 7px;border-radius:999px;font-style:normal;font-size:9.5px;font-weight:800;text-transform:capitalize}.live-trip-editor .share-history-row em.sent{background:#e9f8f1;color:#16875e}.live-trip-editor .share-history-row em.failed{background:#fff0f1;color:#cb4453}
.live-trip-editor .share-link-box{margin-top:12px}.live-trip-editor .share-help{margin-top:10px}
.live-trip-editor .share-itinerary-modal .modal-actions{min-height:72px;padding:13px 18px!important;gap:10px;background:#fff;border-top:1px solid #e3e8f0;box-sizing:border-box}
.live-trip-editor .share-itinerary-modal .modal-actions button[hidden]{display:none!important}
.live-trip-editor .share-itinerary-modal #revokeShareButton{margin-right:auto}.live-trip-editor .share-itinerary-modal .modal-actions-spacer{display:none}
.live-trip-preview .preview-topbar button,.live-trip-preview .preview-topbar a{height:40px;min-height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;font:600 12.5px/1 Roboto,Arial,sans-serif}
.live-trip-preview .preview-topbar button svg,.live-trip-preview .preview-topbar a svg{width:16px;height:16px}
@media(max-width:640px){.live-trip-editor .share-itinerary-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0}.live-trip-editor .share-email-options{grid-template-columns:1fr}.live-trip-editor .share-itinerary-modal .modal-actions{display:grid!important;grid-template-columns:1fr 1fr}.live-trip-editor .share-itinerary-modal .modal-actions>button{width:100%}.live-trip-editor .share-itinerary-modal #revokeShareButton{grid-column:1/-1}.live-trip-editor .share-mode-panel{padding:16px}.live-trip-editor .share-mode-tabs{padding-left:10px}}

/* ===== Phase 8: Costing + Proposal ===== */
.event-pricing-block{border:1px solid #e2e8f4;border-radius:14px;background:#f8faff;padding:16px 18px;margin-top:4px}.event-pricing-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.event-pricing-head>div{display:grid;gap:3px}.event-pricing-head small{font-size:12px;color:#7a879f;font-weight:400}.pricing-private-badge{font-size:10px;font-weight:700;letter-spacing:.08em;color:#5a6680;background:#e9eef8;border-radius:999px;padding:5px 8px}.event-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.event-pricing-check{min-height:48px;border:1px solid #dfe6f2;background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px}.event-pricing-check input{width:17px;height:17px;flex:0 0 auto}.event-pricing-check span{display:grid;gap:2px}.event-pricing-check strong{font-size:13px;color:#18243e}.event-pricing-check small{font-size:11.5px;color:#76839a;font-weight:400}.costing-proposal-modal{width:min(1120px,calc(100vw - 48px));max-height:min(900px,calc(100vh - 42px));display:flex;flex-direction:column}.costing-modal-body{padding:22px 24px 0;overflow:auto}.costing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.costing-summary-grid article{border:1px solid #e1e7f2;background:#fff;border-radius:14px;padding:17px 18px;display:grid;gap:6px;box-shadow:0 5px 16px rgba(25,39,77,.04)}.costing-summary-grid article>span{font-size:12px;color:#6c7890;font-weight:600}.costing-summary-grid article>strong{font-size:22px;line-height:1.15;color:#15213d}.costing-summary-grid article>small{font-size:11.5px;color:#8490a5;font-weight:400}.costing-summary-grid .costing-final-card{background:linear-gradient(145deg,#f5f7ff,#eef3ff);border-color:#cfd8f9}.costing-form{display:grid;gap:18px;padding-bottom:24px}.costing-section{border:1px solid #e2e8f3;border-radius:15px;background:#fff;overflow:hidden}.costing-section-head{min-height:66px;padding:14px 18px;border-bottom:1px solid #e8edf5;background:#fbfcff;display:flex;align-items:center;justify-content:space-between;gap:14px}.costing-section-head>div{display:flex;align-items:center;gap:12px}.costing-section-head>div>span{width:30px;height:30px;border-radius:9px;background:#edf2ff;color:#3857bf;font-size:12px;font-weight:700;display:grid;place-items:center}.costing-section-head h3{font-size:15px;color:#17223d;margin:0 0 3px}.costing-section-head p{font-size:12px;color:#77849a;margin:0}.costing-fields{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.costing-toggle{grid-column:span 3;min-height:52px;border:1px solid #dfe6f1;border-radius:11px;padding:11px 13px;display:flex;align-items:center;gap:11px}.costing-toggle input{width:18px;height:18px}.costing-toggle span{display:grid;gap:2px}.costing-toggle strong{font-size:13px;color:#17233e}.costing-toggle small{font-size:11.5px;color:#7b879c}.costing-table-wrap{overflow:auto}.costing-table{width:100%;border-collapse:collapse;min-width:820px}.costing-table th{padding:12px 14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#718097;background:#f8faff;border-bottom:1px solid #e5ebf4}.costing-table td{padding:13px 14px;border-bottom:1px solid #edf1f6;font-size:13px;color:#26334e;vertical-align:middle}.costing-table tbody tr{cursor:pointer}.costing-table tbody tr:hover{background:#fafbff}.costing-table td:first-child{display:grid;gap:3px;min-width:250px}.costing-table td:first-child>span{font-size:10.5px;color:#7b879b;text-transform:uppercase}.costing-table td:first-child>strong{font-size:13.5px;color:#17233e}.costing-table td:first-child>em{font-style:normal;font-size:10px;color:#9b6408;background:#fff4d7;border-radius:999px;padding:3px 7px;width:max-content}.proposal-visible,.proposal-hidden{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:700}.proposal-visible{background:#eaf8ef;color:#287648}.proposal-hidden{background:#f1f3f7;color:#69758a}.costing-empty{padding:26px;text-align:center;color:#7a879c}.costing-copy-grid{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.costing-copy-grid .full:last-child{grid-column:1/-1}.proposal-status-strip{min-height:58px;border:1px solid #dfe6f1;border-radius:13px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f8faff}.proposal-status-strip>div:first-child{display:grid;gap:2px}.proposal-status-strip span{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#718097}.proposal-status-strip strong{font-size:14px;color:#1a2742}.proposal-status-strip p{margin:3px 0 0;color:#59677f;font-size:12px}.proposal-status-strip>div:last-child{font-size:12px;color:#6c7890;text-align:right}.proposal-status-strip.status-accepted{background:#f0fbf4;border-color:#ccebd8}.proposal-status-strip.status-changes_requested{background:#fff9eb;border-color:#f3dfad}.proposal-status-strip.status-sent{background:#f2f6ff;border-color:#d3def8}
.preview-tabs [data-preview-tab="proposal"]{display:inline-flex;align-items:center;gap:6px}.preview-proposal-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:22px;align-items:start}.proposal-main-card,.proposal-side-card{border:1px solid #e2e7f0;background:#fff;border-radius:16px;padding:22px}.proposal-price-hero{border-radius:15px;background:linear-gradient(145deg,#182b55,#304e8c);padding:22px;color:#fff;margin-bottom:18px}.proposal-price-hero>span{font-size:11px;letter-spacing:.08em;font-weight:700;opacity:.78}.proposal-price-hero>strong{display:block;font-size:34px;line-height:1.1;margin:8px 0}.proposal-price-hero>small{font-size:12px;opacity:.82}.proposal-service-list{display:grid;gap:10px}.proposal-service-row{border:1px solid #e7ebf2;border-radius:11px;padding:12px 13px;display:grid;grid-template-columns:1fr auto;gap:10px}.proposal-service-row>div{display:grid;gap:3px}.proposal-service-row span{font-size:10.5px;color:#77849a;text-transform:uppercase}.proposal-service-row strong{font-size:13px;color:#1d2943}.proposal-service-row>strong{font-size:13px;color:#1a2743;align-self:center}.proposal-optional-title{margin:18px 0 8px;font-size:12px;color:#6e7c94;text-transform:uppercase;letter-spacing:.04em}.proposal-copy-section{margin-top:18px}.proposal-copy-section h3{font-size:14px;color:#17233d;margin:0 0 9px}.proposal-copy-section ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#4d5b73;font-size:13px}.proposal-terms{white-space:pre-line;color:#4d5b73;font-size:13px;line-height:1.6}.proposal-status-card{display:grid;gap:8px;margin-bottom:16px}.proposal-status-card span{font-size:10.5px;color:#7b879b;text-transform:uppercase}.proposal-status-card strong{font-size:18px;color:#17233d;text-transform:capitalize}.proposal-response-actions{display:grid;gap:10px}.proposal-response-actions button{height:44px;border-radius:10px;font-size:13px;font-weight:700}.proposal-accept-btn{border:0;background:#3857d6;color:#fff}.proposal-change-btn{border:1px solid #d6deeb;background:#fff;color:#26334e}.proposal-change-form{display:grid;gap:10px;margin-top:10px}.proposal-change-form textarea{min-height:110px;resize:vertical;border:1px solid #d8e0ec;border-radius:10px;padding:11px 12px;font:400 13px/1.5 Roboto,Arial,sans-serif;color:#22304a}.proposal-response-note{font-size:12px;color:#69778f;line-height:1.55}.proposal-response-confirmed{border-radius:12px;padding:14px;background:#effaf3;color:#2d7049;font-size:13px}.proposal-response-pending{border-radius:12px;padding:14px;background:#fff7e7;color:#855d15;font-size:13px}
@media(max-width:900px){.event-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.costing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.costing-fields{grid-template-columns:1fr 1fr}.costing-toggle{grid-column:span 2}.preview-proposal-shell{grid-template-columns:1fr}}
@media(max-width:620px){.costing-proposal-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0}.costing-modal-body{padding:16px 14px 0}.costing-summary-grid,.event-pricing-grid,.costing-fields,.costing-copy-grid{grid-template-columns:1fr}.costing-toggle{grid-column:auto}.costing-copy-grid .full:last-child{grid-column:auto}.costing-section-head{align-items:flex-start;flex-direction:column}.proposal-status-strip{align-items:flex-start;flex-direction:column}.proposal-status-strip>div:last-child{text-align:left}}
.costing-fx-warning{margin:-6px 0 18px;border:1px solid #f0d7a0;background:#fff8e8;color:#805c18;border-radius:11px;padding:11px 13px;font-size:12.5px;line-height:1.45}

/* Phase 9: live notifications, activity history and AI editor assist */
.notification-empty{padding:28px 22px;text-align:center;display:grid;gap:5px;color:#7c8a9e}.notification-empty strong{color:#263a56;font-size:13px}.notification-empty span{font-size:12px;line-height:1.5}.notification-menu .mark-read:disabled{opacity:.45;cursor:default}.notification-icon.purple{background:#f0edff;color:#6654c7}.editor-notification-wrap{position:relative;z-index:920}.editor-notification-wrap .icon-btn{width:42px;height:42px;border:1px solid #dfe6f0;background:#fff}.editor-notification-wrap .notification-menu{right:0;top:calc(100% + 9px);width:min(390px,calc(100vw - 24px));z-index:1600}.editor-notification-wrap .notification-count{position:absolute;top:-4px;right:-5px}
.editor-side-tabs-four{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-side-tabs-four button{min-width:0;padding-left:7px;padding-right:7px;font-size:12px}.trip-activity-list{padding:12px 14px 20px;display:grid;gap:2px;overflow:auto}.trip-activity-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px 6px;border-bottom:1px solid #edf1f6}.trip-activity-item:last-child{border-bottom:0}.activity-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#edf3ff;color:#315ec5;font-size:10px;font-weight:800}.trip-activity-item.contact .activity-avatar{background:#ecf9f3;color:#298461}.trip-activity-item.ai .activity-avatar{background:#f3efff;color:#6b4fc7}.trip-activity-item>div{min-width:0;display:grid;gap:3px}.trip-activity-item strong{font-size:12.5px;color:#203650}.trip-activity-item p{margin:0;color:#5f7088;font-size:11.5px;line-height:1.45}.trip-activity-item small{color:#94a0b0;font-size:10.5px}
.ai-editor-btn{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d7def0;border-radius:9px;padding:0 13px;background:#f7f5ff;color:#5f49bd;font:600 12.5px/1 Roboto,sans-serif;cursor:pointer}.ai-editor-btn:hover{background:#f0ecff;border-color:#cfc5f5}.ai-editor-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ai-editor-modal{width:min(760px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));display:flex;flex-direction:column}.ai-editor-body{padding:18px 22px 22px;overflow:auto;display:grid;gap:16px}.ai-editor-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}.ai-editor-controls .create-trip-submit{height:44px;white-space:nowrap}.ai-editor-context{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #e1e7f0;border-radius:10px;background:#f8faff}.ai-editor-context strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#65758b}.ai-editor-context span{font-size:12.5px;font-weight:600;color:#233955;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-editor-preview{min-height:180px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;padding:14px}.ai-editor-result>span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#6c58c7;margin-bottom:8px}.ai-editor-result>h3{margin:0 0 8px;font-size:17px;color:#182d48}.ai-editor-result>p{margin:0;color:#53657c;font-size:13px;line-height:1.6}.ai-result-summary{padding:10px 12px;border-radius:9px;background:#f7f8fc;margin-bottom:12px!important}.ai-editor-suggestion-list{display:grid;gap:9px}.ai-editor-suggestion-list article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px;border:1px solid #edf0f5;border-radius:10px;background:#fbfcfe}.ai-editor-suggestion-list article>b{width:26px;height:26px;border-radius:8px;background:#eef2ff;color:#4e61b8;display:flex;align-items:center;justify-content:center;font-size:11px}.ai-editor-suggestion-list article>div{display:grid;gap:3px}.ai-editor-suggestion-list strong{font-size:13px;color:#223a57}.ai-editor-suggestion-list small{font-size:10.5px;color:#8290a4}.ai-editor-suggestion-list p{margin:3px 0 0;color:#5d6e84;font-size:12px;line-height:1.5}.ai-editor-modal>.modal-actions{min-height:66px;align-items:center}.ai-editor-modal>.modal-actions .secondary-btn,.ai-editor-modal>.modal-actions .create-trip-submit{height:44px}
.event-action-menu [data-event-ai]{color:#5e49bb}.event-action-menu [data-event-ai]::before{content:'✦';margin-right:6px;font-size:10px}
@media(max-width:760px){.ai-editor-controls{grid-template-columns:1fr}.ai-editor-controls .create-trip-submit{width:100%}.editor-side-tabs-four button{font-size:11px}.day-editor-toolbar>div{flex-wrap:wrap}.ai-editor-btn{order:3;width:100%}.editor-notification-wrap .notification-menu{position:fixed;right:12px;top:64px}}
.live-trip-editor .ai-editor-btn{height:44px!important;min-height:44px!important;border-radius:11px!important;padding:0 14px!important;font:600 13px/1 Roboto,Arial,sans-serif!important;box-sizing:border-box!important}
.live-trip-editor .editor-notification-wrap .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:10px}

/* Phase 10 — proposal delivery, documents/vouchers and Trips operational polish */
.trip-smart-summary{display:grid;grid-template-columns:repeat(9,minmax(118px,1fr));gap:10px;margin:0 auto 18px;max-width:1376px;overflow-x:auto;padding:2px 1px 6px;scrollbar-width:thin}.trip-summary-card{appearance:none;border:1px solid #e2e8f3;background:#fff;border-radius:14px;min-height:92px;padding:14px 15px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;cursor:pointer;font-family:Roboto,Arial,sans-serif;color:#1b2b4b;transition:border-color .18s,box-shadow .18s,transform .18s;white-space:nowrap}.trip-summary-card:hover{border-color:#cbd6f2;box-shadow:0 8px 22px rgba(38,55,120,.08);transform:translateY(-1px)}.trip-summary-card.active{border-color:#7585ee;background:linear-gradient(180deg,#f8f9ff,#f3f5ff);box-shadow:0 0 0 2px rgba(92,105,222,.08)}.trip-summary-card span{font-size:12px;font-weight:600;color:#63718a}.trip-summary-card strong{font-size:23px;line-height:1.05;font-weight:700;color:#17264b}.trip-summary-card small{font-size:11px;font-weight:400;color:#8a96aa}.trip-summary-card.active span,.trip-summary-card.active strong{color:#4253c7}

.trip-document-modal{max-width:720px}.trip-document-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 24px 0}.trip-document-form .full{grid-column:1/-1}.trip-document-form .modal-actions{grid-column:1/-1;margin:4px -24px 0;padding:16px 24px;position:sticky;bottom:0;background:#fff;border-top:1px solid #e8edf5;z-index:2}.trip-document-form .modal-actions .secondary-btn,.trip-document-form .modal-actions .create-trip-submit{height:44px;min-height:44px;padding:0 18px;border-radius:10px;font-size:14px;line-height:1;font-weight:600}.document-visibility-field select{font-weight:500}.trip-document-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 0;border-bottom:1px solid #edf1f6}.trip-document-row:last-child{border-bottom:0}.trip-document-copy{min-width:0}.trip-document-copy>div:first-child{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}.trip-document-copy>strong{display:block;font-size:14px;color:#17233f;margin-bottom:4px}.trip-document-copy>small{display:block;font-size:12px;color:#7c899e}.trip-document-copy>p{font-size:12px;color:#56657d;line-height:1.5;margin:7px 0 0;white-space:pre-line}.document-category-badge,.document-visibility-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:600}.document-category-badge{background:#f1f4ff;color:#4f5fcb}.document-visibility-badge.visible{background:#eef9f2;color:#2c7b4e}.document-visibility-badge.internal{background:#f3f5f8;color:#657187}.trip-document-actions{display:flex;align-items:center;gap:7px}.trip-document-actions .secondary-btn{height:36px;min-height:36px;padding:0 12px;font-size:12px;border-radius:9px}.trip-document-actions .icon-danger-button{width:36px;height:36px;min-width:36px;border:1px solid #f1d9dc;background:#fff7f8;color:#b84a55;border-radius:9px;font-size:20px;line-height:1;cursor:pointer}.trip-document-actions .icon-danger-button:hover{background:#fff0f1}

.share-mode-tabs-three{grid-template-columns:repeat(3,1fr)}.share-document-picker{border:1px solid #e4e9f2;border-radius:13px;background:#fbfcff;padding:14px}.share-document-picker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px}.share-document-picker-head strong{display:block;font-size:13px;color:#1e2d4b}.share-document-picker-head span{display:block;font-size:11.5px;color:#78859a;margin-top:3px;line-height:1.45}.share-document-checklist{display:grid;gap:8px;max-height:230px;overflow:auto;padding-right:3px}.share-document-checklist>label{display:flex;align-items:center;gap:10px;border:1px solid #e7ebf3;background:#fff;border-radius:10px;padding:10px 11px;cursor:pointer}.share-document-checklist>label:hover{border-color:#ccd4ee}.share-document-checklist input{width:17px;height:17px;accent-color:#5263d5}.share-document-checklist label span{min-width:0}.share-document-checklist label strong{display:block;font-size:12.5px;color:#23314c;font-weight:600}.share-document-checklist label small{display:block;font-size:11px;color:#8792a5;margin-top:2px}.share-itinerary-modal .modal-actions>.secondary-btn,.share-itinerary-modal .modal-actions>.create-trip-submit{height:44px;min-height:44px;border-radius:10px;padding:0 18px;font-size:14px;line-height:1;font-weight:600}.share-history-row>div{display:flex;align-items:center;gap:8px}.retry-email-btn{font-size:11.5px!important;white-space:nowrap}.share-email-history{max-height:210px;overflow:auto;padding-right:3px}

.proposal-version-timeline{margin-top:16px;border:1px solid #e3e8f2;border-radius:14px;background:#fafbfe;overflow:hidden}.proposal-version-head{padding:14px 16px;border-bottom:1px solid #e8edf5;background:#fff}.proposal-version-head strong{display:block;font-size:13px;color:#1b2b4b}.proposal-version-head span{display:block;font-size:11.5px;color:#7f8ba0;margin-top:3px}.proposal-version-list{display:grid}.proposal-version-item{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;padding:12px 16px;border-bottom:1px solid #e9edf4}.proposal-version-item:last-child{border-bottom:0}.proposal-version-item>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:28px;border-radius:8px;background:#edf1ff;color:#4f5fc3;font-size:11px;font-weight:700}.proposal-version-item>div strong{display:block;font-size:12.5px;color:#283650;text-transform:capitalize}.proposal-version-item>div small{display:block;font-size:11px;color:#8591a4;margin-top:2px}.proposal-version-item>div p{margin:5px 0 0;font-size:11.5px;color:#5d6a7d;line-height:1.45}.proposal-version-item.status-accepted>span{background:#eaf8ef;color:#26764a}.proposal-version-item.status-changes_requested>span{background:#fff3e7;color:#a75c18}.proposal-version-item.status-superseded>span{background:#f1f2f5;color:#7a8493}.proposal-version-empty{padding:15px 16px;font-size:12px;color:#7c8799}

.preview-document-card{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;align-items:start!important;gap:14px!important}.preview-document-card>div{min-width:0}.preview-document-card>div>strong{display:block}.preview-document-card>div>p{font-size:12px;line-height:1.5;color:#5d6b80;margin:7px 0 0;white-space:pre-line}.preview-document-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:5px}.preview-document-meta span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#eef1ff;color:#5060c8;font-size:10.5px;font-weight:600}.preview-document-meta em{font-style:normal;font-size:10.5px;color:#8b96a8}.proposal-status-card small{display:block;margin-top:6px;color:#78869b;font-size:10.5px;line-height:1.45;font-weight:400}

@media (max-width:1200px){.trip-smart-summary{grid-template-columns:repeat(9,138px)}}
@media (max-width:760px){.trip-smart-summary{margin-bottom:14px;grid-template-columns:repeat(9,128px);gap:8px}.trip-summary-card{min-height:82px;padding:12px}.trip-summary-card strong{font-size:21px}.trip-document-form{grid-template-columns:1fr;padding:18px 16px 0}.trip-document-form .full{grid-column:1}.trip-document-form .modal-actions{margin:4px -16px 0;padding:14px 16px}.trip-document-row{grid-template-columns:42px minmax(0,1fr)}.trip-document-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.share-mode-tabs-three{grid-template-columns:1fr}.share-document-picker-head{align-items:center}.preview-document-card{grid-template-columns:42px minmax(0,1fr)!important}.preview-document-card>a{grid-column:2;width:max-content}.proposal-version-item{padding:11px 13px}.share-itinerary-modal .modal-actions{flex-wrap:wrap}.share-itinerary-modal .modal-actions .modal-actions-spacer{display:none;width:0}.share-itinerary-modal .modal-actions>.secondary-btn,.share-itinerary-modal .modal-actions>.create-trip-submit{flex:1 1 calc(50% - 6px)}}

/* Phase 11 — client preview, proposal journey and production UI polish */
.live-trip-preview .live-preview-shell{box-shadow:0 24px 70px rgba(29,48,84,.10);border-radius:20px}.live-trip-preview .preview-tabs{position:sticky;top:60px;z-index:12;border-left:1px solid #e6ebf2;border-right:1px solid #e6ebf2;box-shadow:0 8px 22px rgba(30,49,84,.04)}.live-trip-preview .preview-content{border:1px solid #e6ebf2;border-top:0}.live-trip-preview .preview-panel{min-width:0}.live-trip-preview .preview-section-head{margin-bottom:20px}.live-trip-preview .preview-section-head h2{font:700 24px/1.25 Roboto,Arial,sans-serif;color:#172947}.live-trip-preview .preview-section-head p{max-width:680px;line-height:1.6;color:#708097}.live-trip-preview .preview-status-chip{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.34)!important}.live-trip-preview .preview-status-chip.proposal{background:rgba(82,100,218,.78)!important}.preview-secure-expiry{margin-top:12px;border:1px solid #e6ebf2;background:#f8faff;border-radius:9px;padding:9px 10px;color:#75839a;font-size:10.5px;line-height:1.4}.public-preview-topbar .public-preview-brand img{background:#fff;border-radius:8px;padding:5px 7px;box-sizing:border-box}.public-preview-topbar .public-preview-brand span{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-trip-preview .preview-day{border:1px solid #e4eaf2;border-radius:15px;overflow:hidden;box-shadow:0 5px 16px rgba(31,51,86,.035)}.live-trip-preview .preview-day+.preview-day{margin-top:14px}.live-trip-preview .preview-day.open{border-color:#d8e1ee;box-shadow:0 8px 24px rgba(31,51,86,.055)}.live-trip-preview .preview-day-head{min-height:82px}.live-trip-preview .preview-day-body{background:#fff}.live-trip-preview .preview-event{padding-top:18px;padding-bottom:18px}.live-trip-preview .preview-event h3{font-size:15px;color:#1e3150}.live-trip-preview .preview-event p{color:#596b82;line-height:1.65}.live-trip-preview .preview-event-meta span{background:#f7f9fc;border:1px solid #e8edf4;border-radius:999px;padding:5px 8px}.live-trip-preview .preview-event-media img{width:136px;height:88px;border-radius:11px}.live-trip-preview .preview-summary-card{border-color:#e0e7f0;box-shadow:0 8px 24px rgba(31,51,86,.045)}
.live-trip-preview .document-grid{display:grid;grid-template-columns:1fr;gap:11px}.live-trip-preview .preview-document-card{border:1px solid #e2e8f0!important;border-radius:13px!important;background:#fff!important;padding:15px!important;box-shadow:0 5px 14px rgba(32,52,87,.035)}.live-trip-preview .preview-document-card>a{height:44px;min-height:44px;border-radius:10px;padding:0 16px;font:600 12.5px/1 Roboto,Arial,sans-serif}.live-trip-preview .preview-chat-card{border-radius:15px;overflow:hidden;border:1px solid #e1e7ef;background:#fff;box-shadow:0 8px 22px rgba(31,51,86,.04)}.live-trip-preview .preview-chat-thread{min-height:330px;max-height:520px}.live-trip-preview .preview-chat-compose{padding:14px;gap:10px}.live-trip-preview .preview-chat-compose input,.live-trip-preview .preview-chat-compose button{height:44px;min-height:44px;box-sizing:border-box;border-radius:10px;font-family:Roboto,Arial,sans-serif}.live-trip-preview .preview-chat-compose button{padding:0 18px;font-size:13px}.live-trip-preview .preview-chat-readonly{min-height:44px;display:flex;align-items:center;justify-content:center}
.client-proposal-timeline{border:1px solid #e2e8f1;border-radius:13px;background:#fbfcff;padding:14px;margin:0 0 16px}.client-proposal-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.client-proposal-timeline-head strong{font-size:12.5px;color:#263852}.client-proposal-timeline-head span{font-size:10.5px;font-weight:600;color:#71829a;background:#eef2f8;border-radius:999px;padding:5px 8px}.client-proposal-milestones{display:grid;gap:0}.client-proposal-milestone{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;position:relative;padding:0 0 15px}.client-proposal-milestone:last-child{padding-bottom:0}.client-proposal-milestone:not(:last-child)::after{content:"";position:absolute;left:10px;top:21px;bottom:2px;width:2px;background:#dce4ef}.client-proposal-milestone i{width:22px;height:22px;border-radius:50%;background:#edf1f6;border:2px solid #d9e1ec;color:#fff;display:grid;place-items:center;font-style:normal;font-size:10px;line-height:1;position:relative;z-index:1}.client-proposal-milestone>div{display:grid;gap:2px;padding-top:2px}.client-proposal-milestone strong{font-size:11.5px;color:#44536a}.client-proposal-milestone span{font-size:10.5px;color:#8794a6}.client-proposal-milestone.current i,.client-proposal-milestone.accepted i{background:#3f62d8;border-color:#3f62d8}.client-proposal-milestone.accepted.current i{background:#2f8a58;border-color:#2f8a58}.client-proposal-milestone.changes.current i{background:#c57b2b;border-color:#c57b2b}.client-proposal-milestone.current strong{color:#1d3151}.preview-proposal-shell .proposal-main-card,.preview-proposal-shell .proposal-side-card{box-shadow:0 8px 24px rgba(31,51,86,.04)}.preview-proposal-shell .proposal-side-card{position:sticky;top:132px}.proposal-response-actions .proposal-accept-btn,.proposal-response-actions .proposal-change-btn,.proposal-change-form .proposal-change-btn{height:44px!important;min-height:44px!important;box-sizing:border-box!important;border-radius:10px!important;font:700 13px/1 Roboto,Arial,sans-serif!important;padding:0 16px!important}
.preview-contact-details{max-width:none!important;padding:0!important;border:0!important}.preview-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:920px}.preview-person-card{border:1px solid #e1e7ef;border-radius:15px;background:#fff;padding:20px;box-shadow:0 8px 22px rgba(31,51,86,.04);min-width:0}.preview-person-card-head{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid #edf1f6}.preview-person-card-head>img{width:56px;height:56px;object-fit:contain;border:1px solid #e2e8f0;border-radius:12px;padding:7px;background:#fff;box-sizing:border-box}.preview-person-card-head>div{min-width:0}.preview-person-card-head span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#8090a5}.preview-person-card-head h3{margin:4px 0 0;font:700 17px/1.25 Roboto,Arial,sans-serif;color:#1f3150}.preview-person-card-head p{margin:3px 0 0;font-size:11.5px;color:#74849b}.preview-person-card dl{display:grid;gap:0;margin:8px 0 0!important;grid-template-columns:1fr!important}.preview-person-card dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid #edf1f6}.preview-person-card dl>div:last-child{border-bottom:0}.preview-person-card dt{font-size:10.5px;color:#8190a4}.preview-person-card dd{font-size:12.5px;color:#2a3c59;font-weight:500;overflow-wrap:anywhere}.preview-contact-cta{height:44px;min-height:44px;margin-top:14px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#edf3ff;color:#315fd0!important;text-decoration:none;font:700 12.5px/1 Roboto,Arial,sans-serif}
@media(max-width:900px){.preview-proposal-shell .proposal-side-card{position:static}.preview-contact-grid{grid-template-columns:1fr}.live-trip-preview .preview-tabs{top:58px}}
@media(max-width:720px){.live-trip-preview .live-preview-shell{box-shadow:none;border-radius:0}.live-trip-preview .preview-tabs{top:58px}.live-trip-preview .preview-panel[data-preview-panel="itinerary"].active{grid-template-columns:1fr!important;gap:14px}.live-trip-preview .preview-summary-card{position:static!important}.live-trip-preview .preview-section-head h2{font-size:21px}.live-trip-preview .preview-day-head{min-height:76px}.live-trip-preview .preview-event{grid-template-columns:34px minmax(0,1fr);gap:10px}.live-trip-preview .preview-event-media img{width:116px;height:76px}.live-trip-preview .preview-document-card{grid-template-columns:42px minmax(0,1fr)!important}.live-trip-preview .preview-document-card>a{grid-column:2;width:100%;justify-content:center}.live-trip-preview .preview-chat-compose{flex-direction:column}.live-trip-preview .preview-chat-compose input,.live-trip-preview .preview-chat-compose button{width:100%}.preview-contact-grid{gap:12px}.preview-person-card{padding:16px}.preview-person-card dl>div{grid-template-columns:1fr;gap:4px}.preview-proposal-shell{gap:14px}.proposal-main-card,.proposal-side-card{padding:16px}.proposal-price-hero{padding:18px}.proposal-price-hero>strong{font-size:29px}.proposal-service-row{grid-template-columns:1fr}.proposal-service-row>strong{justify-self:start}.client-proposal-timeline-head{align-items:flex-start}.public-preview-topbar .public-preview-brand img{width:92px}.preview-topbar>div button,.preview-topbar>a{height:40px;min-height:40px}}

/* ======================================================================
   PHASE 12 — WORKSPACE STATUSES / AI DESTINATIONS / EDITOR QA
   ====================================================================== */

/* Keep every small numeric badge optically centered across Builder. */
.filter-count,
.notification-count,
.library-filter-count,
.contact-filter-count,
[data-count-badge],
.count-badge{
  width:19px!important;
  min-width:19px!important;
  height:19px!important;
  min-height:19px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:19px!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.notification-count{line-height:19px!important}
.filters-btn .filter-count{position:static!important;transform:none!important;flex:0 0 19px!important}
.icon-btn .notification-count,.notification-toggle .notification-count{line-height:19px!important}

/* Status cards always fill the available Trips workspace from left to right. */
.trip-smart-summary{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:1376px!important;
  margin:0 auto 18px!important;
  padding:2px 0 4px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.trip-smart-summary .trip-summary-card{
  flex:1 1 132px!important;
  min-width:124px!important;
  max-width:none!important;
  min-height:92px!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.trip-smart-summary .trip-summary-card span,
.trip-smart-summary .trip-summary-card small{white-space:normal!important;line-height:1.25!important}
.trip-title-link{color:#14233f!important;text-decoration:none!important;font-weight:700!important;transition:color .16s ease}
.trip-title-link:hover,.trip-title-link:focus-visible{color:#2f61df!important;text-decoration:underline!important;text-underline-offset:3px}

/* AI destination multi-select. */
.ai-destination-field{position:relative;z-index:4}
.ai-destination-combobox{position:relative;width:100%}
.ai-destination-input-wrap{
  min-height:46px;
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:6px 11px;
  border:1px solid #d6dfec;
  border-radius:11px;
  background:#fff;
  box-sizing:border-box;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.ai-destination-combobox:focus-within .ai-destination-input-wrap{border-color:#6c85f2;box-shadow:0 0 0 3px rgba(84,107,230,.10)}
.ai-destination-input-wrap>svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#7390c6;stroke-width:1.8}
.ai-destination-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ai-destination-chip{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 8px 0 10px;border:1px solid #d7defa;border-radius:8px;background:#f3f5ff;color:#334a9d;font:600 11.5px/1 Roboto,Arial,sans-serif;box-sizing:border-box}
.ai-destination-chip button{width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#e1e6fb;color:#6676b9;display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 Roboto,Arial,sans-serif;cursor:pointer}
.ai-destination-chip button:hover{background:#d4dcfb;color:#344b9f}
.ai-destination-input-wrap input{flex:1 1 190px!important;min-width:150px!important;height:32px!important;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#243754!important;font:500 13px/1 Roboto,Arial,sans-serif!important}
.ai-destination-input-wrap input::placeholder{color:#9aa8bc!important;font-weight:400!important}
.ai-destination-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:1300;max-height:280px;overflow:auto;border:1px solid #dce4ef;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(34,49,79,.15);padding:5px}
.ai-destination-option{width:100%;min-height:48px;border:0;border-radius:9px;background:#fff;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font-family:Roboto,Arial,sans-serif;color:#263a59}
.ai-destination-option:hover,.ai-destination-option.active{background:#f3f6ff}
.ai-destination-option>span{min-width:0;display:grid;gap:2px}.ai-destination-option strong{font-size:12.5px;line-height:1.25}.ai-destination-option small{font-size:10.5px;color:#8290a4;line-height:1.3}
.ai-destination-option>em{flex:none;font-style:normal;font-size:9.5px;font-weight:700;color:#6074bc;background:#edf1ff;padding:4px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.ai-destination-option.add-custom{justify-content:flex-start;color:#315fd2;font-weight:700;background:#fbfcff}.ai-destination-option.add-custom strong{color:#315fd2}
.ai-destination-empty{padding:17px 12px;text-align:center;color:#8492a6;font-size:12px}
.ai-destination-field .field-help{display:block;margin-top:7px;color:#8693a7;font-size:10.5px;line-height:1.45;font-weight:400}

/* Real AI generation progress dialog. */
.ai-progress-backdrop{z-index:3100!important;background:rgba(16,27,51,.42)!important;backdrop-filter:blur(4px)}
.ai-progress-card{
  width:min(430px,calc(100vw - 32px));
  border:1px solid rgba(221,228,242,.92);
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 70px rgba(24,37,69,.24);
  padding:26px 26px 22px;
  display:grid;
  justify-items:center;
  text-align:center;
  box-sizing:border-box;
}
.ai-progress-orbit{width:66px;height:66px;position:relative;display:grid;place-items:center;margin-bottom:15px}
.ai-progress-orbit::before{content:"";position:absolute;inset:2px;border:2px solid #e6eaff;border-top-color:#4a6cf0;border-right-color:#9b4de3;border-radius:50%;animation:tbzAiOrbit 1s linear infinite}
.ai-progress-orbit span{position:absolute;inset:11px;border-radius:50%;background:linear-gradient(145deg,#edf3ff,#f7ecff);box-shadow:inset 0 0 0 1px rgba(98,105,222,.08)}
.ai-progress-orbit i{position:relative;z-index:1;color:#704ed6;font-style:normal;font-size:23px;line-height:1}
@keyframes tbzAiOrbit{to{transform:rotate(360deg)}}
.ai-progress-copy{display:grid;justify-items:center;gap:5px}.ai-progress-copy .modal-kicker{color:#6475b8}.ai-progress-copy h2{margin:0;color:#15213d;font:700 21px/1.22 Roboto,Arial,sans-serif}.ai-progress-copy p{margin:0;min-height:38px;color:#687991;font:400 12.5px/1.5 Roboto,Arial,sans-serif}
.ai-progress-track{width:100%;height:7px;margin:18px 0 8px;border-radius:999px;background:#edf1f8;overflow:hidden}.ai-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3679ef,#9a42df);transition:width .35s ease}
.ai-progress-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.ai-progress-meta strong{font-size:12px;color:#3d5fc9}.ai-progress-meta span{font-size:10.5px;color:#8591a4;font-weight:600}
.ai-progress-steps{width:100%;list-style:none;margin:0;padding:0;display:grid;gap:0;text-align:left;border:1px solid #e7ecf4;border-radius:12px;overflow:hidden;background:#fbfcff}
.ai-progress-steps li{position:relative;min-height:35px;display:flex;align-items:center;padding:0 12px 0 37px;border-bottom:1px solid #edf1f6;color:#8995a7;font:500 11px/1.35 Roboto,Arial,sans-serif;box-sizing:border-box}.ai-progress-steps li:last-child{border-bottom:0}.ai-progress-steps li::before{content:"";position:absolute;left:13px;width:13px;height:13px;border:2px solid #d4dce8;border-radius:50%;background:#fff;box-sizing:border-box}.ai-progress-steps li.active{color:#30476e;background:#f5f7ff;font-weight:700}.ai-progress-steps li.active::before{border-color:#5f75e6;border-top-color:transparent;animation:tbzAiOrbit .75s linear infinite}.ai-progress-steps li.done{color:#567062}.ai-progress-steps li.done::before{content:'✓';border-color:#46a274;background:#46a274;color:#fff;display:grid;place-items:center;font:700 8px/1 Roboto,Arial,sans-serif}
.ai-progress-card>small{margin-top:13px;color:#9aa5b5;font-size:10.5px;line-height:1.4}

/* Settings > Trip Statuses. */
.trip-status-settings-card{overflow:visible}.trip-status-settings-list{display:grid;gap:8px;padding:18px}.trip-status-setting-row{min-height:64px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 10px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.trip-status-setting-row:hover{border-color:#cfd8eb}.trip-status-setting-row.dragging{opacity:.48;box-shadow:0 10px 24px rgba(36,52,88,.11)}
.trip-status-drag{width:34px;height:40px;border:0;background:transparent;color:#8998ad;display:grid;place-items:center;cursor:grab;font-size:18px;letter-spacing:-2px}.trip-status-drag:active{cursor:grabbing}.trip-status-setting-copy{min-width:0;display:grid;gap:3px}.trip-status-setting-copy strong{color:#263954;font-size:13px}.trip-status-setting-copy span,.trip-status-setting-copy small{color:#8390a4;font-size:11px;white-space:normal}.trip-status-type{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64738c;background:#f0f3f8;border-radius:999px;padding:5px 8px;white-space:nowrap}.trip-status-type.custom{color:#6651b5;background:#f2efff}.trip-status-usage{min-width:70px;text-align:right;display:grid;gap:1px}.trip-status-usage strong{font-size:13px;color:#243652}.trip-status-usage span{font-size:9.5px;color:#8794a7}.trip-status-setting-actions{display:flex;align-items:center;gap:6px}.trip-status-setting-actions button{height:34px;min-width:34px;border:1px solid #dfe6f0;border-radius:9px;background:#fff;color:#526781;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;font:600 11px/1 Roboto,Arial,sans-serif;cursor:pointer}.trip-status-setting-actions button:hover{background:#f5f7fb}.trip-status-setting-actions button.danger,.trip-status-setting-actions .danger-soft{color:#c64d5a}.trip-status-setting-actions button:disabled{opacity:.4;cursor:not-allowed}.trip-status-settings-foot{min-height:54px;border-top:1px solid #e8edf4;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8491a4;font-size:10.5px;line-height:1.5}.trip-status-settings-foot strong{color:#5670c7;font-size:10.5px;white-space:nowrap}.trip-status-modal{width:min(520px,calc(100vw - 32px))}.trip-status-form{padding:18px 20px 0}.trip-status-form .modal-actions{margin:4px -20px 0;padding:14px 20px}.trip-status-settings-list .settings-loading-row{padding:26px;text-align:center;color:#8b98aa;font-size:12px}

/* Editor cleanup, reliable day switching and sharper 1600px covers. */
.live-trip-editor .day-sidebar-actions{grid-template-columns:1fr!important;gap:0!important}
.live-trip-editor .day-nav-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 0;align-items:stretch;background:#fff;border-bottom:1px solid #edf1f6}
.live-trip-editor .day-nav-row .day-nav-item{min-height:76px!important;border-bottom:0!important;grid-column:1/-1;padding-right:28px!important;position:relative;z-index:1}
.live-trip-editor .day-nav-row .day-drag-handle{position:absolute;z-index:3;right:5px;top:50%;transform:translateY(-50%);width:22px;height:42px;border:0;background:transparent;color:#9aa8ba;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:.58;font-size:16px;line-height:1;touch-action:none}
.live-trip-editor .day-nav-row .day-drag-handle:hover{opacity:1;color:#65758c}.live-trip-editor .day-nav-row .day-drag-handle:active{cursor:grabbing}.live-trip-editor .day-nav-row.dragging{opacity:.5;outline:2px dashed #7188dc;outline-offset:-2px}.live-trip-editor .day-nav-item[draggable="true"]{cursor:pointer!important}
.live-trip-editor .editor-main-toolbar{column-gap:9px}.live-trip-editor .editor-toolbar-actions{gap:9px!important}
.live-trip-editor .trip-cover-price{margin-top:10px;width:max-content;max-width:100%;min-height:31px;padding:0 10px;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:rgba(11,26,48,.42);backdrop-filter:blur(6px);color:#fff;display:inline-flex;align-items:center;gap:7px;font:700 12px/1 Roboto,Arial,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.live-trip-editor .trip-cover-price[hidden]{display:none!important}.live-trip-editor .trip-cover-price small{font-size:9.5px;font-weight:600;color:rgba(255,255,255,.76)}

@media(max-width:1100px){
  .trip-smart-summary .trip-summary-card{flex-basis:150px!important}
}
@media(max-width:760px){
  .trip-smart-summary{gap:8px!important;margin-bottom:14px!important}
  .trip-smart-summary .trip-summary-card{flex:1 1 calc(50% - 4px)!important;min-width:calc(50% - 4px)!important;min-height:82px!important;padding:12px!important}
  .trip-status-setting-row{grid-template-columns:28px minmax(0,1fr) auto;padding:8px}.trip-status-setting-copy small{display:block}.trip-status-usage{min-width:52px}.trip-status-setting-actions{grid-column:2/-1;justify-content:flex-end}.trip-status-settings-foot{align-items:flex-start;flex-direction:column}
  .ai-progress-card{padding:22px 18px 18px}.ai-progress-copy h2{font-size:19px}.ai-destination-input-wrap input{flex-basis:140px!important;min-width:120px!important}
  .live-trip-editor .trip-cover-price{font-size:11px}
}
@media(max-width:440px){
  .trip-smart-summary .trip-summary-card{flex-basis:100%!important;min-width:100%!important}
}

/* Phase 12.1 — Trips/status/day-navigation corrections. */
.trips-page .trip-smart-summary{
  width:calc(100% - 4px)!important;
  max-width:none!important;
  margin:0 2px 18px!important;
}
.trip-status-settings-card[data-trip-status-settings="1"] .trip-status-drag{
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
}
.trip-status-settings-card[data-trip-status-settings="1"][data-can-manage="1"] .trip-status-setting-row{
  cursor:default;
}
.trip-status-settings-card[data-trip-status-settings="1"][data-can-manage="1"] .trip-status-setting-actions{
  opacity:1;
  visibility:visible;
}
.live-trip-editor .day-nav-item{cursor:pointer!important;}
.live-trip-editor .day-nav-item:focus-visible{outline:2px solid #5d73e8!important;outline-offset:-3px!important;}
.live-trip-editor .day-nav-row[draggable="false"] .day-drag-handle{cursor:grab;}
@media(max-width:760px){
  .trips-page .trip-smart-summary{width:100%!important;margin-left:0!important;margin-right:0!important;}
}


/* ===== Phase 12.2: day navigation, Status modal, support list and Service modal QA ===== */
/* Keep the reusable media picker above the Trip Editor Service modal. */
.live-trip-editor .tbz-media-modal{z-index:1750!important}

/* Status editor: compact, predictable form instead of inheriting the tall Trip drawer grid. */
.trip-status-modal{width:min(560px,calc(100vw - 32px))!important;max-height:min(520px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden}
.trip-status-modal .modal-head{flex:none}
.trip-status-form{display:flex!important;flex-direction:column!important;gap:18px!important;min-height:0!important;padding:20px 22px 0!important;background:#fff!important}
.trip-status-form .modal-field{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important;min-height:0!important}
.trip-status-form .modal-field input{height:46px!important;min-height:46px!important}
.trip-status-form .modal-actions{position:static!important;flex:none!important;min-height:72px!important;margin:2px -22px 0!important;padding:13px 22px!important;border-top:1px solid #e4e9f1!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;box-shadow:0 -8px 22px rgba(31,46,76,.035)!important}
.trip-status-form .modal-actions .secondary-btn,.trip-status-form .modal-actions .create-trip-submit{height:44px!important;min-height:44px!important;margin:0!important}

/* Help & Support Recent Requests: protect left padding/text and long IDs. */
.support-request-list{display:grid!important;padding:0 20px 10px!important;min-width:0!important}
.support-request-row{min-width:0!important;padding:14px 0!important;gap:16px!important;overflow:hidden!important}
.support-request-copy{min-width:0!important;display:grid!important;gap:4px!important;padding-left:0!important}
.support-request-copy strong{display:block!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.support-request-copy>span{display:block!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.support-request-status{flex:none!important;align-self:center!important}

/* Service Add/Edit modal follows the same centered, sectioned pattern as Library Add/Edit. */
.live-trip-editor .live-event-modal.service-center-dialog{width:min(1060px,calc(100vw - 44px))!important;height:min(850px,calc(100vh - 44px))!important;max-width:none!important;max-height:none!important;border-radius:20px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;background:#fff!important;box-shadow:0 28px 90px rgba(17,28,51,.28)!important}
.service-modal-head{flex:none!important;padding:20px 24px 16px!important}
.service-modal-form{display:flex!important;flex:1!important;min-height:0!important;flex-direction:column!important;background:#fff!important}
.service-modal-scroll{flex:1!important;min-height:0!important;overflow:auto!important;padding:20px 24px 30px!important;background:#f9fafc!important}
.service-form-section{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:19px 20px;margin-bottom:15px}
.service-form-section:last-child{margin-bottom:0}
.service-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.service-section-title>div{display:flex;align-items:flex-start;gap:11px;min-width:0;flex:1}
.service-section-title>div>span{width:28px;height:28px;border-radius:8px;background:#edf2ff;color:#30499c;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex:none}
.service-section-title>div>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.service-section-title strong{font-size:14px;color:#15213b;font-weight:700}
.service-section-title small{font-size:11.5px;line-height:1.45;color:#8290a3;font-weight:400}
.service-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px}
.service-form-grid .modal-field,.service-pricing-grid .modal-field{margin:0!important;display:flex!important;flex-direction:column!important;gap:7px!important;color:#34435a!important;font-size:12.5px!important;font-weight:600!important;min-width:0}
.service-form-grid .modal-field.full{grid-column:1/-1}
.service-form-grid input,.service-form-grid select,.service-pricing-grid input,.service-pricing-grid select{width:100%!important;height:44px!important;min-height:44px!important;border:1px solid #d8e0ea!important;border-radius:10px!important;background:#fff!important;color:#1f2d44!important;font:500 13.5px Roboto,Arial,sans-serif!important;padding:0 12px!important;outline:0!important;box-shadow:none!important}
.service-form-grid textarea{width:100%!important;min-height:116px!important;border:1px solid #d8e0ea!important;border-radius:10px!important;background:#fff!important;color:#1f2d44!important;font:500 13.5px/1.55 Roboto,Arial,sans-serif!important;padding:11px 12px!important;resize:vertical!important;outline:0!important}
.service-form-grid input:focus,.service-form-grid select:focus,.service-form-grid textarea:focus,.service-pricing-grid input:focus,.service-pricing-grid select:focus{border-color:#7691df!important;box-shadow:0 0 0 3px rgba(82,111,193,.1)!important}
.service-form-section .event-detail-fields{margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px 16px!important}
.service-form-section .event-detail-fields label{display:flex;flex-direction:column;gap:7px;color:#34435a;font-size:12.5px;font-weight:600;min-width:0}
.service-form-section .event-detail-fields label[hidden]{display:none!important}
.service-form-section .event-detail-fields label>span{font-size:12.5px!important;color:#34435a!important;font-weight:600!important}
.service-form-section .event-detail-fields input{height:44px!important;border:1px solid #d8e0ea!important;border-radius:10px!important;padding:0 12px!important;color:#1f2d44!important;background:#fff!important}
.service-pricing-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px 16px!important;padding:0!important;border:0!important;background:transparent!important}
.service-pricing-grid .event-pricing-check{min-height:58px!important;border:1px solid #e1e7ef!important;border-radius:11px!important;background:#fbfcff!important;padding:10px 12px!important;display:flex!important;align-items:center!important;gap:10px!important}
.service-photo-title{align-items:center!important;margin-bottom:14px!important}
.service-section-action{height:44px!important;min-height:44px!important;flex:none!important;white-space:nowrap!important}
.service-selected-media{margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;min-height:0!important}
.service-selected-media>span{grid-column:1/-1;min-height:90px;margin:0!important;width:100%;border:1px dashed #d7dfea;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#8b97a8;font-size:12px;background:#fbfcfe}
.service-selected-media figure{width:100%!important;height:112px!important;margin:0!important;position:relative!important;min-width:0!important}.service-selected-media figure img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:10px!important}.service-selected-media figure button{right:6px!important;top:6px!important;width:24px!important;height:24px!important}.service-selected-media .event-selected-media-item{min-width:0}
.service-modal-actions{flex:none!important;min-height:72px!important;border-top:1px solid #e1e6ee!important;background:#fff!important;display:flex!important;align-items:center!important;gap:9px!important;padding:13px 20px!important;box-shadow:0 -8px 24px rgba(31,46,76,.04)!important}
.service-modal-actions .secondary-btn,.service-modal-actions .create-trip-submit{height:44px!important;min-height:44px!important;margin:0!important}
.service-modal-actions .modal-actions-spacer{flex:1}

@media(max-width:900px){
  .live-trip-editor .live-event-modal.service-center-dialog{width:calc(100vw - 24px)!important;height:calc(100vh - 24px)!important}
  .service-modal-scroll{padding:16px 16px 26px!important}.service-modal-head{padding:17px 18px 14px!important}
  .service-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.service-selected-media{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .trip-status-modal{width:calc(100vw - 24px)!important}.trip-status-form{padding:16px 16px 0!important}.trip-status-form .modal-actions{margin:2px -16px 0!important;padding:11px 16px!important}
  .support-request-list{padding:0 14px 8px!important}.support-request-row{align-items:flex-start!important}.support-request-status{margin-top:1px!important}
  .service-form-grid,.service-form-section .event-detail-fields,.service-pricing-grid{grid-template-columns:1fr!important}.service-form-grid .modal-field.full{grid-column:auto!important}.service-selected-media{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-section-title{flex-direction:column!important;align-items:stretch!important}.service-section-action{width:100%!important}.service-modal-actions{padding:10px 12px!important}.service-modal-actions .danger-soft{margin-right:auto!important}
}

/* Phase 12.2 modal placement overrides: these two workflows are centered dialogs, not slide drawers. */
#tripStatusModal{display:grid!important;place-items:center!important;padding:24px!important;align-items:center!important;justify-content:center!important}
#tripStatusModal[hidden]{display:none!important}
#tripStatusModal .trip-status-modal{height:auto!important;max-height:min(440px,calc(100vh - 48px))!important;margin:0!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:18px!important;box-shadow:0 26px 80px rgba(12,35,72,.24)!important;animation:none!important}
#tripStatusModal .trip-status-modal .modal-head{position:static!important;padding:20px 22px 16px!important}
#tripStatusModal .trip-status-modal .modal-head h2{font-size:24px!important}

.live-trip-editor #eventModal{display:flex!important;align-items:center!important;justify-content:center!important;padding:22px!important}
.live-trip-editor #eventModal[hidden]{display:none!important}
.live-trip-editor #eventModal .service-center-dialog{margin:0!important;border:1px solid rgba(255,255,255,.9)!important;animation:none!important}

@media(max-width:680px){
  #tripStatusModal{padding:12px!important}
  #tripStatusModal .trip-status-modal{max-height:calc(100vh - 24px)!important}
  .live-trip-editor #eventModal{padding:12px!important}
}

/* ===== Phase 12.3A — Trip Editor critical behavior/UI fixes ===== */
/* Edit Trip is available directly inside the itinerary builder. */
.live-trip-editor .editor-trip-modal{
  width:min(690px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.live-trip-editor #editorTripModal{display:flex;align-items:center;justify-content:center;padding:16px}
.live-trip-editor #editorTripModal[hidden]{display:none!important}
.live-trip-editor .editor-trip-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px 14px;
  padding:20px 24px 94px;
  overflow:auto;
  min-height:0;
}
.live-trip-editor .editor-trip-form .full{grid-column:1/-1}
.live-trip-editor .editor-trip-form .modal-field{margin:0}
.live-trip-editor .editor-trip-form textarea{min-height:110px;height:auto;padding:11px 13px;resize:vertical}

/* Edit Day must be compact and content-height based, never stretched with giant gaps. */
.live-trip-editor #dayModal{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important}
.live-trip-editor #dayModal[hidden]{display:none!important}
.live-trip-editor #dayModal .day-edit-dialog{
  width:min(560px,calc(100vw - 36px))!important;
  height:auto!important;
  max-height:calc(100vh - 36px)!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.live-trip-editor #dayModal .day-edit-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:15px!important;
  padding:18px 22px 92px!important;
  overflow:auto!important;
  min-height:0!important;
}
.live-trip-editor #dayModal .day-edit-form .modal-field{margin:0!important;gap:7px!important}
.live-trip-editor #dayModal .day-edit-form textarea{min-height:112px!important;height:112px!important;padding:11px 12px!important;resize:vertical!important}
.live-trip-editor #dayModal .day-edit-form .modal-actions{padding:13px 22px 15px!important;min-height:70px!important}

/* Library-style service type tabs replace the old select. */
.live-trip-editor .service-type-tabs{
  flex:none;
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:13px 24px;
  border-bottom:1px solid #e6ebf2;
  background:#fff;
}
.live-trip-editor .service-type-tabs::-webkit-scrollbar{display:none}
.live-trip-editor .service-type-tabs button{
  height:38px;
  flex:0 0 auto;
  padding:0 14px;
  border:1px solid #dce4ef;
  border-radius:9px;
  background:#fff;
  color:#5e6f87;
  font:600 12px/1 Roboto,Arial,sans-serif;
  cursor:pointer;
  transition:.15s ease;
}
.live-trip-editor .service-type-tabs button:hover{border-color:#bfcdea;background:#f8faff;color:#3552af}
.live-trip-editor .service-type-tabs button.active{
  color:#fff;
  border-color:#344aa6;
  background:#344aa6;
  box-shadow:0 6px 14px rgba(52,74,166,.16);
}

/* Pricing options stay compact; never inherit full field/card checkbox dimensions. */
.live-trip-editor .service-pricing-grid .event-pricing-check{
  min-height:64px!important;
  height:auto!important;
  padding:10px 12px!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.live-trip-editor .service-pricing-grid .event-pricing-check>input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  border-radius:3px!important;
  flex:0 0 18px!important;
  box-shadow:none!important;
}
.live-trip-editor .service-pricing-grid .event-pricing-check>span{min-width:0!important;display:grid!important;gap:2px!important}
.live-trip-editor .service-pricing-grid .event-pricing-check strong{font-size:12.5px!important;line-height:1.25!important}
.live-trip-editor .service-pricing-grid .event-pricing-check small{font-size:11px!important;line-height:1.4!important}

/* Service photos grow naturally; only the modal body scrolls. */
.live-trip-editor .service-selected-media,
.live-trip-editor #eventSelectedMedia{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  max-height:none!important;
  height:auto!important;
  align-items:stretch!important;
}
.live-trip-editor .service-selected-media figure{overflow:visible!important}

/* Service drag/reorder affordance. */
.live-trip-editor .itinerary-event[data-event-id]{cursor:grab}
.live-trip-editor .itinerary-event[data-event-id]:active{cursor:grabbing}
.live-trip-editor .itinerary-event.dragging{opacity:.46!important;outline:2px dashed #6c84dc!important;outline-offset:-2px!important;background:#f8faff!important}
.live-trip-editor .event-action-wrap{cursor:default}

@media(max-width:720px){
  .live-trip-editor .editor-trip-form{grid-template-columns:1fr;padding:16px 16px 90px}
  .live-trip-editor .editor-trip-form .full{grid-column:auto}
  .live-trip-editor .service-type-tabs{padding:10px 14px}
  .live-trip-editor .service-type-tabs button{height:36px;padding:0 11px}
  .live-trip-editor #dayModal{padding:10px!important}
  .live-trip-editor #dayModal .day-edit-dialog{width:100%!important;max-height:calc(100vh - 20px)!important}
}

/* Phase 12.3A.1: make Add/Edit Service category navigation match Library modal. */
.live-trip-editor .service-main-tabs{
  flex:none;
  padding-left:20px;
  padding-right:20px;
}
.live-trip-editor .service-modal-scroll>.service-subtype-row{
  margin:0 0 16px;
}
.live-trip-editor .service-modal-scroll>.service-form-section:first-of-type{
  margin-top:0;
}
@media(max-width:680px){
  .live-trip-editor .service-main-tabs{padding-left:8px;padding-right:8px}
  .live-trip-editor .service-modal-scroll>.service-subtype-row{margin-bottom:12px}
}

/* ===== Phase 12.3B — global modal/drawer/toast/confirmation system ===== */
/* Toasts are a global system message and must always sit above every modal, drawer and media picker. */
.toast{
  z-index:2147483000!important;
  min-height:48px!important;
  max-width:min(620px,calc(100vw - 28px));
  padding:0 18px!important;
  gap:11px!important;
  border-radius:13px!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:600!important;
  box-shadow:0 18px 50px rgba(11,26,50,.30)!important;
}
.toast .toast-check{width:23px!important;height:23px!important;flex:0 0 23px!important;font-size:12px!important}
.toast[data-type="error"]{background:#7f2531!important}
.toast[data-type="error"] .toast-check{background:#f05d6b!important}
.toast[data-type="warning"]{background:#5d4515!important}
.toast[data-type="warning"] .toast-check{background:#edae2b!important;color:#fff!important}
.toast[data-type="success"]{background:#15243e!important}

/* One compact confirmation component replaces browser/system confirms across Builder. */
.tb-global-confirm-backdrop{
  position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:18px;
  background:rgba(10,22,43,.42);backdrop-filter:blur(4px)
}
.tb-global-confirm-backdrop[hidden]{display:none!important}
.tb-global-confirm-card{
  width:min(420px,calc(100vw - 32px));padding:26px 26px 22px;border:1px solid rgba(255,255,255,.9);
  border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(11,30,63,.28);text-align:center
}
.tb-global-confirm-icon{width:42px;height:42px;margin:0 auto 13px;border-radius:12px;display:grid;place-items:center;background:#fff0f2;color:#d84b5a;font-size:21px;font-weight:800}
.tb-global-confirm-backdrop[data-tone="primary"] .tb-global-confirm-icon{background:#edf4ff;color:#276fe5}
.tb-global-confirm-card h3{margin:0;color:#13243f;font:700 19px/1.25 Roboto,Arial,sans-serif}
.tb-global-confirm-card p{margin:8px 0 0;color:#65778f;font:400 13px/1.55 Roboto,Arial,sans-serif}
.tb-global-confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}
.tb-global-confirm-actions .secondary-btn,.tb-global-confirm-actions .danger-btn,.tb-global-confirm-actions .create-trip-submit{height:44px!important;min-height:44px!important;padding:0 18px!important;border-radius:10px!important;font:600 13.5px/1 Roboto,Arial,sans-serif!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.tb-global-confirm-actions .danger-btn{border:1px solid #efcbd0;background:#fff5f6;color:#d43e4d;cursor:pointer}
body.tb-confirm-open{overflow:hidden!important}

/* AI Editor is a centered review modal: header/footer stay visible and only the body scrolls. */
.live-trip-editor #aiEditorModal{display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;padding:18px!important}
.live-trip-editor #aiEditorModal[hidden]{display:none!important}
.live-trip-editor #aiEditorModal .ai-editor-modal{
  width:min(780px,calc(100vw - 36px))!important;
  height:min(850px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  margin:0!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.9)!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:none!important
}
.live-trip-editor #aiEditorModal .modal-head{position:static!important;flex:0 0 auto!important}
.live-trip-editor #aiEditorModal .ai-editor-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:18px 22px 24px!important}
.live-trip-editor #aiEditorModal .ai-editor-preview{min-height:0!important;overflow:visible!important}
.live-trip-editor #aiEditorModal .modal-actions{
  position:static!important;flex:0 0 auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  min-height:72px!important;padding:13px 20px!important;margin:0!important;background:#fff!important;
  border-top:1px solid #e4e9f1!important;box-shadow:0 -8px 24px rgba(27,43,73,.04)!important
}

/* Share & Send is a true viewport-height right drawer, with one scrolling body and a fixed footer. */
.live-trip-editor #shareModal{align-items:stretch!important;justify-content:flex-end!important;padding:0!important}
.live-trip-editor #shareModal .share-itinerary-modal{
  width:min(680px,calc(100vw - 24px))!important;height:100dvh!important;max-height:none!important;
  margin:0!important;border-radius:24px 0 0 24px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important
}
.live-trip-editor #shareModal .modal-head{position:static!important;flex:0 0 auto!important}
.live-trip-editor #shareModal .share-modal-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:0!important;background:#fbfcff!important}
.live-trip-editor #shareModal .share-mode-tabs{position:sticky;top:0;z-index:3;background:#fff}
.live-trip-editor #shareModal .share-mode-panel{padding-bottom:26px!important}
.live-trip-editor #shareModal .modal-actions{
  position:static!important;flex:0 0 auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  min-height:72px!important;margin:0!important;padding:13px 18px!important;background:#fff!important;border-top:1px solid #e3e8f0!important
}

/* Other right-slide editor drawers also use the full viewport height; their body is the only scrolling region. */
.live-trip-editor #tripInfoModal .modal-card,
.live-trip-editor #documentModal .modal-card,
.live-trip-editor #costingModal .modal-card{
  height:100dvh!important;max-height:none!important;margin:0!important;border-radius:24px 0 0 24px!important
}
.live-trip-editor #costingModal .costing-proposal-modal{display:flex!important;flex-direction:column!important}
.live-trip-editor #costingModal .costing-modal-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding-bottom:22px!important}
.live-trip-editor #costingModal .modal-actions,
.live-trip-editor #tripInfoModal .modal-actions{
  position:static!important;flex:0 0 auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0!important
}
.live-trip-editor #tripInfoModal .live-trip-info-body{flex:1 1 auto!important;min-height:0!important;padding-bottom:22px!important}

/* Drawer forms should never hide their last field behind the action bar. */
.modal-card>.new-trip-form,.modal-card>.ai-itinerary-form{min-height:0}

@media(max-width:680px){
  .toast{bottom:16px!important;font-size:13.5px!important;max-width:calc(100vw - 20px)}
  .tb-global-confirm-card{padding:22px 18px 18px}.tb-global-confirm-actions{display:grid;grid-template-columns:1fr 1fr}.tb-global-confirm-actions>*{width:100%}
  .live-trip-editor #aiEditorModal{padding:10px!important}.live-trip-editor #aiEditorModal .ai-editor-modal{width:calc(100vw - 20px)!important;height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px)!important}
  .live-trip-editor #shareModal .share-itinerary-modal,.live-trip-editor #tripInfoModal .modal-card,.live-trip-editor #documentModal .modal-card,.live-trip-editor #costingModal .modal-card{width:100vw!important;height:100dvh!important;border-radius:0!important}
}


/* ===== Phase 12.3C — AI richness, tenant branding and editor refinements ===== */
/* Day heading now carries the client-facing day description without crowding the services list. */
.live-trip-editor .day-title-row{
  flex:0 0 auto!important;
  min-height:96px;
  align-items:start!important;
  padding-top:15px!important;
  padding-bottom:15px!important;
}
.live-trip-editor .day-title-row>.day-title-date{align-self:start;margin-top:3px}
.live-trip-editor .day-title-row>.day-title-copy{display:grid;gap:3px;min-width:0}
.live-trip-editor .day-title-row>.day-title-copy>p{
  margin:3px 0 0;max-width:920px;color:#62748b;font-size:12.5px;line-height:1.55;font-weight:400;
  white-space:pre-line;overflow-wrap:anywhere
}
.live-trip-editor .day-title-row>button{align-self:start;margin-top:3px}

/* Trip Information stays a full-height drawer, but summary content no longer stretches into giant cards. */
.live-trip-editor #tripInfoModal .live-trip-info-body{
  align-content:start!important;grid-auto-rows:max-content!important;gap:16px!important;padding:16px 20px 20px!important
}
.live-trip-editor #tripInfoModal .trip-info-summary-grid{align-content:start!important;grid-auto-rows:max-content!important;gap:10px!important}
.live-trip-editor #tripInfoModal .trip-info-summary-grid>div{
  min-height:0!important;padding:11px 12px!important;gap:5px!important;align-content:start!important
}
.live-trip-editor #tripInfoModal .trip-info-summary-grid strong{line-height:1.35!important}
.live-trip-editor #tripInfoModal .trip-info-summary-grid small{line-height:1.45!important}
.live-trip-editor #tripInfoModal .trip-documents-head{margin-top:2px!important;align-items:center!important}
.live-trip-editor #tripInfoModal .trip-documents-list{align-content:start!important;min-height:0!important}

/* Edit Trip is intentionally the one form that opens as a right-side workspace drawer. */
.live-trip-editor #editorTripModal{
  display:flex!important;align-items:stretch!important;justify-content:flex-end!important;padding:0!important
}
.live-trip-editor #editorTripModal[hidden]{display:none!important}
.live-trip-editor #editorTripModal .editor-trip-drawer{
  width:min(680px,calc(100vw - 24px))!important;height:100dvh!important;max-height:none!important;margin:0!important;
  border-radius:24px 0 0 24px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:none!important
}
.live-trip-editor #editorTripModal .modal-head{position:static!important;flex:0 0 auto!important}
.live-trip-editor #editorTripModal .editor-trip-form{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:18px 22px 24px!important
}
.live-trip-editor #editorTripModal .modal-actions{
  position:static!important;flex:0 0 auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  min-height:72px!important;margin:0!important;padding:13px 20px!important;background:#fff!important;border-top:1px solid #e3e8f0!important;
  box-shadow:0 -8px 24px rgba(27,43,73,.04)!important
}

/* Pexels-backed AI Assist suggestion cards. */
.live-trip-editor .ai-editor-suggestion-list article.has-photo{grid-template-columns:104px 28px minmax(0,1fr);align-items:start}
.live-trip-editor .ai-suggestion-photo{width:104px;height:82px;object-fit:cover;border-radius:9px;border:1px solid #e5eaf2;background:#f2f5f9}
.live-trip-editor .ai-photo-credit{margin-top:3px;color:#8996a8;font-size:9.5px;font-style:normal;line-height:1.35}

/* Authenticated Builder brand: use tenant logo when present, otherwise a clean company-name wordmark. */
.app-brand-name{display:block;max-width:180px;color:#182d4a;font:700 18px/1.15 Roboto,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-brand.tenant-brand img{width:auto!important;max-width:148px!important;max-height:44px!important;object-fit:contain;object-position:left center}
.preview-brand-name{position:absolute;left:28px;top:24px;z-index:2;max-width:190px;color:#fff;font:700 18px/1.2 Roboto,Arial,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.24)}
.public-preview-topbar .public-preview-brand-name{display:block;max-width:190px;color:#203653;font:700 14px/1.15 Roboto,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:680px){
  .live-trip-editor #editorTripModal .editor-trip-drawer{width:100vw!important;height:100dvh!important;border-radius:0!important}
  .live-trip-editor #editorTripModal .editor-trip-form{padding:16px 16px 22px!important}
  .live-trip-editor #tripInfoModal .live-trip-info-body{padding:14px 14px 18px!important;gap:14px!important}
  .live-trip-editor #tripInfoModal .trip-documents-head{align-items:stretch!important}
  .live-trip-editor .day-title-row{min-height:92px;padding:12px 14px!important;grid-template-columns:46px minmax(0,1fr) 36px!important;gap:10px!important}
  .live-trip-editor .day-title-row>.day-title-copy>p{font-size:11.5px;line-height:1.45}
  .live-trip-editor .ai-editor-suggestion-list article.has-photo{grid-template-columns:78px 26px minmax(0,1fr);gap:8px}
  .live-trip-editor .ai-suggestion-photo{width:78px;height:68px}
  .app-brand-name{max-width:145px;font-size:16px}
  .app-brand.tenant-brand img{max-width:122px!important;max-height:38px!important}
  .preview-brand-name{left:18px;top:18px;max-width:150px;font-size:16px}
  .public-preview-topbar .public-preview-brand-name{max-width:138px;font-size:13px}
}

/* Phase 12.3C.1 — AI destination persistence, traveller mix and interest multi-select. */
.ai-destination-option.add-custom.is-loading{opacity:.65;cursor:wait;pointer-events:none}
.ai-traveller-field,.ai-interest-field{min-width:0}
.ai-traveller-field .field-help,.ai-interest-field .field-help{display:block;margin-top:7px;color:#8693a7;font-size:10.5px;line-height:1.45;font-weight:400}
.ai-traveller-picker{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px;border:1px solid #d9e2ed;border-radius:12px;background:#fbfcff;box-sizing:border-box}
.ai-traveller-row{min-width:0;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e3e8f1;border-radius:10px;background:#fff;box-sizing:border-box}
.ai-traveller-row>div:first-child{min-width:0;display:grid;gap:3px}.ai-traveller-row>div:first-child strong{color:#253a58;font-size:12.5px;font-weight:700}.ai-traveller-row>div:first-child small{color:#8896a9;font-size:10px;font-weight:400;white-space:nowrap}
.ai-stepper{flex:none;display:grid;grid-template-columns:30px 28px 30px;align-items:center;border:1px solid #dde5ef;border-radius:9px;overflow:hidden;background:#fff}
.ai-stepper button{width:30px;height:32px;border:0;background:#fff;color:#49617f;display:grid;place-items:center;font:700 18px/1 Roboto,Arial,sans-serif;cursor:pointer}.ai-stepper button:hover:not(:disabled){background:#f1f5ff;color:#315fd2}.ai-stepper button:disabled{opacity:.35;cursor:not-allowed}
.ai-stepper strong{height:32px;display:grid;place-items:center;border-left:1px solid #e5eaf2;border-right:1px solid #e5eaf2;color:#172d4d;font:700 12.5px/1 Roboto,Arial,sans-serif}
.ai-traveller-ages{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:1px}.ai-traveller-ages[hidden]{display:none!important}
.ai-age-field{min-width:0;display:grid;gap:6px}.ai-age-field span{color:#5f718a;font-size:10.5px;font-weight:600}.ai-age-field select{width:100%;height:40px!important;min-height:40px;border:1px solid #dce4ee!important;border-radius:9px!important;background:#fff;color:#2a3f5d;font:500 12px/1 Roboto,Arial,sans-serif;padding:0 10px!important;box-sizing:border-box}
.ai-interest-picker{width:100%;display:flex;flex-wrap:wrap;gap:8px;padding:11px;border:1px solid #d9e2ed;border-radius:12px;background:#fbfcff;box-sizing:border-box}
.ai-interest-picker label{position:relative;display:inline-flex;margin:0;cursor:pointer}.ai-interest-picker input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ai-interest-picker span{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid #dfe6ef;border-radius:999px;background:#fff;color:#536781;font:600 11.5px/1 Roboto,Arial,sans-serif;transition:.15s ease;box-sizing:border-box}
.ai-interest-picker label:hover span{border-color:#c8d5ec;background:#f7f9ff;color:#3856a6}.ai-interest-picker input:checked+span{border-color:#8398ec;background:#eef2ff;color:#334fa9;box-shadow:inset 0 0 0 1px rgba(75,99,205,.08)}
.ai-interest-picker input:focus-visible+span{outline:2px solid #6680e8;outline-offset:2px}
@media(max-width:760px){.ai-traveller-picker{grid-template-columns:1fr}.ai-traveller-ages{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-traveller-row{min-height:60px}.ai-interest-picker{gap:7px}.ai-interest-picker span{min-height:31px;padding:0 10px;font-size:11px}}
@media(max-width:440px){.ai-traveller-ages{grid-template-columns:1fr}.ai-interest-picker span{min-height:30px;padding:0 9px;font-size:10.5px}}


/* Phase 12.3E — Package Policies master, trip snapshot editor and traveller preview. */
.package-policy-settings-card{overflow:hidden}
.package-policy-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}
.package-policy-master-field{min-width:0;display:grid;align-content:start;gap:7px}
.package-policy-master-field>small{color:#7b8ba2;font:400 11.5px/1.45 Roboto,Arial,sans-serif}
.package-policy-master-field textarea{
  width:100%;min-height:210px;resize:vertical;box-sizing:border-box;border:1px solid #d9e2ed;border-radius:11px;
  background:#fff;color:#263b58;padding:12px 13px;font:400 12.5px/1.55 Roboto,Arial,sans-serif;outline:0
}
.package-policy-master-field textarea:focus{border-color:#7890e6;box-shadow:0 0 0 3px rgba(74,98,205,.08)}
.package-policy-master-field textarea[readonly]{background:#f8fafc;color:#66768c}
.package-policy-save-note{margin-right:auto;color:#728299;font-size:11.5px;line-height:1.4}
.settings-inline-note{margin:18px 22px 0;padding:11px 13px;border:1px solid #dfe6ef;border-radius:10px;background:#f7f9fc;color:#5d6f88;font-size:11.5px;line-height:1.5}

.live-trip-editor .day-workspace-panel{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
.live-trip-editor .day-workspace-panel[hidden]{display:none!important}
.live-trip-editor .package-policy-item{margin-top:auto;border-top:1px solid #e5eaf2}
.live-trip-editor .package-policy-item.active{background:#f0f3ff;color:#354fa7}
.live-trip-editor .package-policy-item.active .trip-info-icon{background:#e7ebff;color:#445fc5}
.live-trip-editor .package-policies-workspace{
  min-width:0;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;background:#fff;overflow:hidden
}
.live-trip-editor .package-policies-workspace[hidden]{display:none!important}
.live-trip-editor .package-policies-workspace-head{
  flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px 16px;
  border-bottom:1px solid #e3e8f0;background:#fff
}
.live-trip-editor .package-policies-workspace-head>div:first-child{min-width:0}
.live-trip-editor .package-policies-workspace-head span:first-child{color:#5b70c8;font:700 10px/1.2 Roboto,Arial,sans-serif;letter-spacing:.09em}
.live-trip-editor .package-policies-workspace-head h2{margin:4px 0 4px;color:#172d4d;font:700 20px/1.2 Roboto,Arial,sans-serif}
.live-trip-editor .package-policies-workspace-head p{margin:0;color:#73839a;font:400 11.5px/1.45 Roboto,Arial,sans-serif}
.live-trip-editor .package-policies-head-actions{flex:none;display:flex;align-items:center;gap:8px}
.live-trip-editor .policy-trip-chip{min-height:28px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #dce4ef;border-radius:999px;background:#f7f9fc;color:#687a94!important;font:600 10.5px/1 Roboto,Arial,sans-serif!important;letter-spacing:0!important;white-space:nowrap}
.live-trip-editor .package-policy-back-button{display:none;height:36px!important;min-height:36px!important;padding:0 12px!important}
.live-trip-editor .package-policies-trip-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.live-trip-editor .package-policies-trip-grid{
  flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;
  gap:14px;padding:18px 22px 22px;background:#f8fafc
}
.live-trip-editor .package-policies-trip-grid label{min-width:0;display:grid;align-content:start;gap:6px;padding:14px;border:1px solid #e1e7ef;border-radius:12px;background:#fff}
.live-trip-editor .package-policies-trip-grid label>span{color:#263b58;font:700 12px/1.3 Roboto,Arial,sans-serif}
.live-trip-editor .package-policies-trip-grid label>small{min-height:30px;color:#7b8ba2;font:400 10.5px/1.4 Roboto,Arial,sans-serif}
.live-trip-editor .package-policies-trip-grid textarea{
  width:100%;min-height:158px;resize:vertical;box-sizing:border-box;border:1px solid #d9e2ed;border-radius:10px;
  padding:11px 12px;background:#fff;color:#2a3f5d;font:400 12px/1.52 Roboto,Arial,sans-serif;outline:0
}
.live-trip-editor .package-policies-trip-grid textarea:focus{border-color:#7a91e6;box-shadow:0 0 0 3px rgba(78,101,203,.08)}
.live-trip-editor .package-policies-trip-actions{
  flex:0 0 auto;min-height:72px;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:12px 22px;
  border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -8px 22px rgba(30,46,77,.035)
}
.live-trip-editor .package-policies-trip-actions>span{margin-right:auto;color:#7a899e;font:400 10.5px/1.4 Roboto,Arial,sans-serif}
.live-trip-editor .package-policies-trip-actions .create-trip-submit{height:42px!important;min-height:42px!important}
.live-trip-editor .package-policy-mobile-button{display:none!important}

.preview-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.preview-policy-grid>.preview-empty{grid-column:1/-1}
.preview-policy-card{min-width:0;padding:18px;border:1px solid #e1e7ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(33,49,78,.035)}
.preview-policy-card-head{display:grid;gap:5px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #edf1f6}
.preview-policy-card-head>span{color:#203653;font:700 14px/1.3 Roboto,Arial,sans-serif}
.preview-policy-card-head>small{color:#8491a4;font:400 10.5px/1.4 Roboto,Arial,sans-serif}
.preview-policy-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.preview-policy-card li{position:relative;padding-left:16px;color:#465974;font:400 12px/1.55 Roboto,Arial,sans-serif}
.preview-policy-card li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#6078d7}
.preview-policy-card.excluded li:before{background:#a87373}
.preview-policy-copy{display:grid;gap:8px}
.preview-policy-copy p{margin:0;color:#465974;font:400 12px/1.58 Roboto,Arial,sans-serif}

@media(max-width:980px){
  .package-policy-settings-grid,.live-trip-editor .package-policies-trip-grid,.preview-policy-grid{grid-template-columns:1fr}
  .live-trip-editor .package-policies-trip-grid label>small{min-height:0}
}
@media(max-width:720px){
  .package-policy-settings-grid{padding:16px;gap:12px}
  .package-policy-master-field textarea{min-height:170px}
  .live-trip-editor .package-policy-mobile-button{display:inline-flex!important;align-items:center;justify-content:center}
  .live-trip-editor .package-policy-back-button{display:inline-flex}
  .live-trip-editor .package-policies-workspace-head{padding:14px;align-items:flex-start}
  .live-trip-editor .package-policies-workspace-head p{max-width:420px}
  .live-trip-editor .package-policies-head-actions{align-items:flex-end;flex-direction:column}
  .live-trip-editor .package-policies-trip-grid{padding:14px;gap:11px}
  .live-trip-editor .package-policies-trip-grid label{padding:12px}
  .live-trip-editor .package-policies-trip-grid textarea{min-height:145px}
  .live-trip-editor .package-policies-trip-actions{padding:11px 14px;align-items:stretch;flex-direction:column}
  .live-trip-editor .package-policies-trip-actions>span{margin-right:0}
  .live-trip-editor .package-policies-trip-actions .create-trip-submit{width:100%}
  .preview-policy-grid{gap:12px}.preview-policy-card{padding:15px}
}

/* Phase 12.3E.1 — Package Policies rich text editor + single-column trip policy layout. */
.policy-rich-editor-shell{min-width:0;border:1px solid #d9e2ed;border-radius:11px;background:#fff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.policy-rich-editor-shell:focus-within{border-color:#7890e6;box-shadow:0 0 0 3px rgba(74,98,205,.08)}
.policy-rich-toolbar{min-height:38px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:5px 7px;border-bottom:1px solid #e6ebf2;background:#f8fafc}
.policy-rich-toolbar button{height:28px;min-height:28px!important;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#425675;font:600 11px/1 Roboto,Arial,sans-serif;cursor:pointer}
.policy-rich-toolbar button:first-child{font-weight:800}
.policy-rich-toolbar button:hover:not(:disabled){border-color:#d7e0ec;background:#fff;color:#2d4eb0}
.policy-rich-toolbar button:focus-visible{outline:2px solid #7089e8;outline-offset:1px}
.policy-rich-toolbar button:disabled{opacity:.42;cursor:not-allowed}
.policy-rich-toolbar-separator{width:1px;height:19px;margin:0 2px;background:#dde4ed}
.policy-rich-surface{min-height:180px;max-height:360px;overflow:auto;padding:12px 13px;box-sizing:border-box;background:#fff;color:#263b58;font:400 12.5px/1.58 Roboto,Arial,sans-serif;outline:0;white-space:normal;overflow-wrap:anywhere}
.policy-rich-surface[contenteditable="false"]{background:#f8fafc;color:#66768c}
.policy-rich-surface:empty:before{content:"Start typing…";color:#9aa8ba;pointer-events:none}
.policy-rich-surface p{margin:0 0 8px}.policy-rich-surface p:last-child{margin-bottom:0}
.policy-rich-surface ul,.policy-rich-surface ol{margin:2px 0 8px;padding-left:22px}.policy-rich-surface li{margin:0 0 5px}.policy-rich-surface li:last-child{margin-bottom:0}
.policy-rich-surface strong{font-weight:700}.policy-rich-surface em{font-style:italic}.policy-rich-surface u{text-decoration:underline}
.policy-rich-surface a{color:#3f5fc5;text-decoration:underline}
.package-policy-master-field .policy-rich-surface{min-height:210px}
.package-policy-master-field textarea[hidden],.package-policy-trip-field textarea[hidden],.policy-costing-editors textarea[hidden]{display:none!important}

.live-trip-editor .package-policies-trip-grid{grid-template-columns:1fr!important;gap:12px;padding:16px 18px 20px}
.live-trip-editor .package-policy-trip-field{min-width:0;display:grid;align-content:start;gap:6px;padding:13px 14px;border:1px solid #e1e7ef;border-radius:12px;background:#fff}
.live-trip-editor .package-policy-trip-field>span{color:#263b58;font:700 12px/1.3 Roboto,Arial,sans-serif}
.live-trip-editor .package-policy-trip-field>small{color:#7b8ba2;font:400 10.5px/1.4 Roboto,Arial,sans-serif}
.live-trip-editor .package-policy-trip-field .policy-rich-surface{min-height:132px;max-height:260px;font-size:12px}
.live-trip-editor .package-policy-trip-field .policy-rich-toolbar{position:sticky;top:0;z-index:1}

.live-trip-editor .policy-costing-editors{display:grid;grid-template-columns:1fr;gap:12px}
.live-trip-editor .policy-costing-editors .package-policy-trip-field{padding:0;border:0;border-radius:0;background:transparent}
.live-trip-editor .policy-costing-editors .package-policy-trip-field>span{color:#314762;font:600 11.5px/1.35 Roboto,Arial,sans-serif}
.live-trip-editor .policy-costing-editors .package-policy-trip-field>small{color:#8491a4;font:400 10.5px/1.4 Roboto,Arial,sans-serif}
.live-trip-editor .policy-costing-editors .policy-rich-surface{min-height:120px;max-height:220px}

.preview-policy-rich,.proposal-rich-policy{color:#465974;font:400 12px/1.58 Roboto,Arial,sans-serif}
.preview-policy-rich p,.proposal-rich-policy p{margin:0 0 8px}.preview-policy-rich p:last-child,.proposal-rich-policy p:last-child{margin-bottom:0}
.preview-policy-rich ul,.preview-policy-rich ol,.proposal-rich-policy ul,.proposal-rich-policy ol{margin:0;padding-left:21px;display:grid;gap:7px}
.preview-policy-rich li,.proposal-rich-policy li{padding-left:1px;color:#465974;font:400 12px/1.55 Roboto,Arial,sans-serif}
.preview-policy-rich a,.proposal-rich-policy a{color:#3f5fc5;text-decoration:underline}
.preview-policy-rich strong,.proposal-rich-policy strong{font-weight:700}.preview-policy-rich em,.proposal-rich-policy em{font-style:italic}.preview-policy-rich u,.proposal-rich-policy u{text-decoration:underline}
.preview-policy-card.included .preview-policy-rich li::marker{color:#6078d7}.preview-policy-card.excluded .preview-policy-rich li::marker{color:#a87373}

@media(max-width:720px){
  .package-policy-master-field .policy-rich-surface{min-height:165px}
  .policy-rich-toolbar{gap:3px;padding:5px}.policy-rich-toolbar button{padding:0 7px;font-size:10.5px}
  .live-trip-editor .package-policies-trip-grid{padding:12px;gap:10px}
  .live-trip-editor .package-policy-trip-field{padding:11px}
  .live-trip-editor .package-policy-trip-field .policy-rich-surface{min-height:125px;max-height:230px}
}

/* Phase 12.3F — modern client itinerary preview + tenant accent + optional service time */
.itinerary-theme-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:15px 16px;border:1px solid #e2e9f3;border-radius:13px;background:#f9fbfe}.itinerary-theme-setting strong{display:block;color:#172845;font-size:13.5px}.itinerary-theme-setting p{margin:4px 0 0;color:#71839b;font-size:12px;line-height:1.45}.itinerary-color-picker{width:44px;height:44px;flex:0 0 44px;border:1px solid #d8e1ed;border-radius:10px;background:#fff;padding:4px;box-shadow:0 5px 14px rgba(27,51,84,.06);cursor:pointer}.itinerary-color-picker input{display:block;width:100%;height:100%;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer}.itinerary-color-picker input::-webkit-color-swatch-wrapper{padding:0}.itinerary-color-picker input::-webkit-color-swatch{border:0;border-radius:7px}.itinerary-color-picker input::-moz-color-swatch{border:0;border-radius:7px}
.service-time-toggle{display:flex;align-items:flex-start;gap:10px;margin:2px 0 14px;padding:12px 14px;border:1px solid #e2e9f3;border-radius:11px;background:#f9fbfe;cursor:pointer}.service-time-toggle input{width:17px;height:17px;margin:1px 0 0;accent-color:#4d63e8}.service-time-toggle span{display:grid;gap:2px}.service-time-toggle strong{font-size:12.5px;color:#253b5c}.service-time-toggle small{font-size:11px;color:#7b8ca3;line-height:1.4}.service-time-fields[hidden]{display:none!important}

.modern-itinerary-preview{--preview-accent:#F5B800;--preview-accent-rgb:245,184,0;--preview-accent-contrast:#13213A;background:#f3f6fb;color:#14213d}.modern-itinerary-preview .preview-shell{width:min(1440px,calc(100% - 32px));margin:18px auto 46px;box-shadow:0 26px 70px rgba(25,45,76,.10);border-radius:24px;overflow:hidden}.modern-itinerary-preview .modern-preview-hero{min-height:360px;border-radius:0;padding:38px 48px 36px;display:flex;align-items:flex-end;background-position:center;background-size:cover}.modern-preview-hero .preview-hero-copy{position:relative;z-index:2;width:min(760px,72%);color:#fff}.modern-preview-hero .preview-kicker{padding:7px 11px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(8,20,42,.35);font-size:10px;letter-spacing:.10em}.modern-preview-hero h1{margin:13px 0 12px;font-size:42px;line-height:1.05;letter-spacing:-.035em;font-weight:800}.modern-preview-hero #previewTripDates{margin:0;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.94)}.modern-preview-hero .preview-hero-chips{margin-top:17px;gap:9px}.modern-preview-hero .preview-hero-chips span{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;background:rgba(13,30,55,.64);border:1px solid rgba(255,255,255,.18);font-size:11.5px;font-weight:650;backdrop-filter:blur(8px)}.modern-preview-hero .preview-hero-chips .proposal{background:var(--preview-accent);border-color:var(--preview-accent);color:var(--preview-accent-contrast)}.preview-hero-brand{position:absolute;left:48px;top:28px;z-index:3}.preview-hero-brand .preview-brand-logo{width:auto;max-width:128px;height:43px;max-height:43px;object-fit:contain;padding:7px 10px;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12)}.preview-hero-brand .preview-brand-name{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;border-radius:9px;background:rgba(255,255,255,.94);color:#1b2a44;font-size:13px;font-weight:800}.preview-hero-actions{position:absolute;right:42px;top:30px;z-index:4;display:flex;align-items:center;gap:10px}.preview-hero-actions button,.preview-back-link{height:42px;border-radius:10px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 12.5px/1 Roboto,Arial,sans-serif;cursor:pointer;text-decoration:none}.preview-hero-actions svg,.preview-back-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.preview-share-btn{border:1px solid rgba(255,255,255,.52);background:rgba(13,29,53,.60);color:#fff;backdrop-filter:blur(8px)}.preview-download-btn{border:1px solid var(--preview-accent);background:var(--preview-accent);color:var(--preview-accent-contrast);box-shadow:0 7px 22px rgba(var(--preview-accent-rgb),.28)}.preview-back-link{position:absolute;left:48px;top:86px;z-index:4;height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.26);background:rgba(12,27,50,.38);color:#fff;font-size:10.5px}.public-trip-share .preview-back-link{display:none}
.modern-itinerary-preview .preview-tabs{display:flex;align-items:center;gap:3px;padding:0 36px;border-bottom:1px solid #e5ebf3;background:#fff;overflow-x:auto}.modern-itinerary-preview .preview-tabs button{min-width:max-content;height:64px;padding:0 17px;border:0;border-bottom:3px solid transparent;background:none;color:#5e708b;font-size:12px;font-weight:650}.modern-itinerary-preview .preview-tabs button.active{color:#15284a;border-bottom-color:var(--preview-accent)}.modern-itinerary-preview .preview-tabs button span{margin-left:5px;min-width:19px;height:19px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#eff3f8;color:#71819a;font-size:9.5px}.modern-itinerary-preview .preview-content{background:#f7f9fc;border-radius:0;min-height:540px}.modern-itinerary-preview .preview-panel{padding:26px 38px 34px}.modern-itinerary-preview .preview-panel[data-preview-panel="itinerary"].active{display:block}.preview-itinerary-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.preview-itinerary-layout.no-sidebar{grid-template-columns:minmax(0,1fr)}.preview-itinerary-main{min-width:0}.preview-itinerary-lead{margin:0 0 18px;color:#60738e;font-size:12.5px}.preview-itinerary-side{display:grid;gap:18px;position:sticky;top:18px}.preview-itinerary-side[hidden]{display:none!important}.preview-side-card{border:1px solid #e1e8f2;border-radius:17px;background:#fff;padding:19px;box-shadow:0 9px 24px rgba(36,57,86,.055)}.preview-side-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.preview-side-card-head>div{display:flex;align-items:center;gap:9px}.preview-side-card-head h3{margin:0;color:#172742;font-size:17px}.side-card-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:rgba(var(--preview-accent-rgb),.13);color:var(--preview-accent);font-size:14px;font-weight:800}.preview-side-note-list{display:grid;gap:11px}.preview-side-note-list article{padding:13px;border:1px solid #e8edf4;border-radius:12px;background:#fbfcfe}.preview-side-note-list p{margin:0;color:#344966;font-size:12px;line-height:1.62}.preview-side-note-list article>div{display:flex;align-items:center;gap:8px;margin-top:11px;color:#8795a8;font-size:10.5px}.preview-side-note-list .preview-avatar{width:27px;height:27px;font-size:9px}.preview-price-lines{display:grid;gap:13px;padding:4px 0 14px}.preview-price-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#64758c;font-size:12px}.preview-price-lines strong{color:#20314e;font-size:12.5px}.preview-price-total{border-top:1px dashed #dbe3ee;padding-top:15px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.preview-price-total span{color:#21324d;font-size:12px;font-weight:700}.preview-price-total strong{color:var(--preview-accent);font-size:24px;line-height:1;font-weight:800}.preview-side-price>small{display:block;margin-top:11px;color:#8996a8;font-size:10.5px}
.preview-days{display:grid;gap:14px}.modern-preview-day{overflow:hidden;border:1px solid #e1e8f1;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(40,61,91,.045)}.modern-day-head{display:grid;grid-template-columns:72px minmax(240px,1fr) minmax(280px,410px) 30px;gap:18px;align-items:center;padding:14px 15px 14px 0;min-height:148px}.modern-day-date{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #edf1f6;color:#60718b}.modern-day-date>span{font-size:9px;font-weight:800;letter-spacing:.09em}.modern-day-date>strong{margin:3px 0;color:var(--preview-accent);font-size:30px;line-height:1;font-weight:800}.modern-day-date small{text-align:center;color:#5c6f8d;font-size:9px;line-height:1.35;font-weight:700}.modern-day-copy{min-width:0}.modern-day-kicker{display:block;margin-bottom:7px;color:var(--preview-accent);font-size:9px;font-weight:800;letter-spacing:.08em}.modern-day-copy h2{margin:0;color:#10213e;font-size:20px;line-height:1.18;letter-spacing:-.02em}.modern-day-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 0;color:#526681;font-size:12px;line-height:1.55}.modern-day-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.modern-day-tags span{padding:5px 8px;border-radius:999px;background:#f4f6fa;color:#63748d;font-size:9.5px}.modern-day-toggle{width:30px;height:30px;border:0;background:transparent;color:#5e708c;display:grid;place-items:center;cursor:pointer}.modern-day-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .2s}.modern-preview-day.open .modern-day-toggle svg{transform:rotate(180deg)}
.modern-day-gallery{height:108px;display:grid;grid-template-columns:1.55fr .72fr .72fr;grid-template-rows:1fr 1fr;gap:5px}.modern-day-gallery.single{grid-template-columns:1fr;grid-template-rows:1fr}.modern-day-gallery .preview-photo-button{border:0;padding:0;overflow:hidden;border-radius:9px;background:#edf1f5;position:relative;cursor:zoom-in}.modern-day-gallery .preview-photo-button.main{grid-row:1/3}.modern-day-gallery.count-2{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr}.modern-day-gallery.count-2 .main{grid-row:auto}.modern-day-gallery.count-3{grid-template-columns:1.6fr .85fr;grid-template-rows:1fr 1fr}.modern-day-gallery.count-3 .main{grid-row:1/3}.modern-day-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.preview-photo-button:hover img{transform:scale(1.025)}.preview-photo-button>span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(9,24,44,.58);color:#fff;font-size:15px;font-weight:800}
.modern-day-services{display:none;border-top:1px solid #e9eef5;padding:2px 22px 12px 16px}.modern-preview-day.open .modern-day-services{display:block}.modern-service-row{display:grid;grid-template-columns:92px 34px 78px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:102px;padding:14px 0;border-bottom:1px solid #edf1f5}.modern-service-row:last-child{border-bottom:0}.modern-service-time{text-align:right}.modern-service-time strong{display:block;color:#1b2e4c;font-size:11px}.modern-service-time span{display:block;margin-top:3px;color:#7f8da0;font-size:9.5px}.modern-service-time.no-time span{margin-top:0}.modern-service-track{align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center}.modern-service-track:before{content:"";position:absolute;top:-16px;bottom:-16px;left:50%;width:1px;background:#dce4ef}.modern-service-row:first-child .modern-service-track:before{top:50%}.modern-service-row:last-child .modern-service-track:before{bottom:50%}.modern-service-track>span{position:relative;z-index:1;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--preview-accent);color:var(--preview-accent-contrast);border:4px solid #fff;box-shadow:0 0 0 1px rgba(var(--preview-accent-rgb),.25);font-size:13px;font-weight:800}.modern-service-media{width:78px;height:60px}.modern-service-media .preview-photo-button{width:100%;height:100%;border:0;padding:0;border-radius:9px;overflow:hidden;position:relative;background:#edf1f5;cursor:zoom-in}.modern-service-media img{width:100%;height:100%;object-fit:cover;display:block}.modern-service-copy{min-width:0}.modern-service-copy h3{margin:0;color:#172944;font-size:15px;line-height:1.25}.modern-service-copy p{margin:5px 0 0;color:#536782;font-size:11.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.modern-service-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.modern-service-facts span{padding:4px 7px;border-radius:999px;background:#f5f7fa;color:#6d7d92;font-size:9px}.modern-service-type{align-self:center;padding:6px 10px;border-radius:999px;background:rgba(var(--preview-accent-rgb),.12);color:#33445d;font-size:9.5px;font-weight:700;white-space:nowrap}
.preview-bottom-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid #e0e7f1;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(37,57,87,.04)}.bottom-summary-item{min-width:0;display:flex;align-items:center;gap:11px;padding:16px 18px;border-right:1px solid #edf1f5}.bottom-summary-item:last-child{border-right:0}.bottom-summary-icon{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--preview-accent-rgb),.13);color:var(--preview-accent);font-size:13px;font-weight:800}.bottom-summary-icon.traveller{color:#4f63db;background:#eef0ff}.bottom-summary-item div{min-width:0;display:grid;gap:2px}.bottom-summary-item small{color:#8b98aa;font-size:9.5px}.bottom-summary-item strong{overflow:hidden;text-overflow:ellipsis;color:#1d304d;font-size:11.5px;white-space:nowrap}.bottom-summary-item span:not(.bottom-summary-icon),.bottom-summary-item a{overflow:hidden;text-overflow:ellipsis;color:#718199;font-size:9.5px;text-decoration:none;white-space:nowrap}.bottom-summary-item a{color:#2b64d8;font-weight:700}
.preview-lightbox{position:fixed;inset:0;z-index:50000;background:rgba(3,10,23,.93);display:flex;align-items:center;justify-content:center;padding:32px}.preview-lightbox[hidden]{display:none!important}.preview-lightbox figure{width:min(1120px,calc(100vw - 150px));height:min(78vh,820px);margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.preview-lightbox figure>img{width:100%;height:100%;min-height:0;object-fit:contain}.preview-lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 4px 0;color:#fff}.preview-lightbox figcaption strong{font-size:13px}.preview-lightbox figcaption span{font-size:11px;color:#cbd4e2}.preview-lightbox-close,.preview-lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}.preview-lightbox-close{right:24px;top:22px;width:42px;height:42px;border-radius:50%;font-size:26px}.preview-lightbox-nav{top:50%;width:48px;height:58px;border-radius:14px;transform:translateY(-50%);font-size:34px}.preview-lightbox-nav.prev{left:24px}.preview-lightbox-nav.next{right:24px}.preview-lightbox-open{overflow:hidden}

@media (max-width:1180px){.modern-itinerary-preview .preview-shell{width:min(1120px,calc(100% - 24px))}.modern-itinerary-preview .modern-preview-hero{padding-left:34px;padding-right:34px}.preview-hero-brand,.preview-back-link{left:34px}.preview-hero-actions{right:30px}.preview-itinerary-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.modern-day-head{grid-template-columns:68px minmax(200px,1fr) minmax(230px,330px) 28px}.preview-bottom-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-summary-item:nth-child(2){border-right:0}.bottom-summary-item:nth-child(-n+2){border-bottom:1px solid #edf1f5}}
@media (max-width:920px){.preview-itinerary-layout{grid-template-columns:1fr}.preview-itinerary-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.modern-day-head{grid-template-columns:68px minmax(0,1fr) 250px 28px}.modern-day-copy h2{font-size:18px}.modern-service-row{grid-template-columns:75px 32px 70px minmax(0,1fr)}.modern-service-type{display:none}}
@media (max-width:720px){.modern-itinerary-preview .preview-shell{width:100%;margin:0;border-radius:0;box-shadow:none}.modern-itinerary-preview .modern-preview-hero{min-height:430px;padding:142px 20px 26px;align-items:flex-end}.preview-hero-brand{left:20px;top:20px}.preview-hero-actions{left:20px;right:20px;top:76px}.preview-hero-actions button{flex:1;padding:0 10px}.preview-back-link{left:20px;top:126px}.modern-preview-hero .preview-hero-copy{width:100%}.modern-preview-hero h1{font-size:32px}.modern-itinerary-preview .preview-tabs{padding:0 12px}.modern-itinerary-preview .preview-tabs button{height:56px;padding:0 12px}.modern-itinerary-preview .preview-panel{padding:18px 13px 26px}.preview-itinerary-side{grid-template-columns:1fr}.modern-day-head{grid-template-columns:58px minmax(0,1fr) 28px;gap:12px;padding:12px 10px 12px 0}.modern-day-gallery{grid-column:2/4;width:100%;height:150px;margin-top:2px}.modern-day-copy h2{font-size:17px}.modern-day-copy p{-webkit-line-clamp:4}.modern-service-row{grid-template-columns:58px 30px minmax(0,1fr);gap:9px;padding:13px 0}.modern-service-time strong{font-size:9.5px}.modern-service-time span{font-size:8px}.modern-service-media{grid-column:3;width:92px;height:66px;margin-top:2px}.modern-service-copy{grid-column:3}.modern-service-copy h3{font-size:14px}.modern-service-type{display:none}.preview-bottom-summary{grid-template-columns:1fr}.bottom-summary-item{border-right:0;border-bottom:1px solid #edf1f5}.bottom-summary-item:last-child{border-bottom:0}.preview-lightbox{padding:18px 8px}.preview-lightbox figure{width:calc(100vw - 20px);height:75vh}.preview-lightbox-nav{top:auto;bottom:22px;width:44px;height:44px}.preview-lightbox-nav.prev{left:18px}.preview-lightbox-nav.next{right:18px}.preview-lightbox figcaption{padding:8px 54px 0}}
.modern-itinerary-preview .proposal-price-hero{background:linear-gradient(145deg,rgba(var(--preview-accent-rgb),.96),rgba(var(--preview-accent-rgb),.72));color:var(--preview-accent-contrast)}.modern-itinerary-preview .proposal-accept-btn{background:var(--preview-accent);color:var(--preview-accent-contrast)}.modern-itinerary-preview .preview-contact-cta{background:rgba(var(--preview-accent-rgb),.12);color:var(--preview-accent)!important}.modern-itinerary-preview .preview-policy-card.included .preview-policy-rich li::marker,.modern-itinerary-preview .preview-policy-card.included li:before{color:var(--preview-accent);background:var(--preview-accent)}

/* Phase 12.3G — premium full-width client itinerary preview refinement */
.modern-itinerary-preview{font-family:Roboto,Arial,sans-serif;background:#eef3f9;color:#14233d}
.modern-itinerary-preview .preview-shell{width:min(1600px,calc(100% - 24px));margin:12px auto 52px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(29,48,78,.11)}
.modern-itinerary-preview .modern-preview-hero{min-height:470px;padding:160px 68px 48px;align-items:flex-end;background-position:center;background-size:cover}
.modern-preview-hero .preview-hero-copy{width:min(980px,78%)}
.modern-preview-hero .preview-kicker{padding:8px 13px;font-size:11.5px;letter-spacing:.11em;background:rgba(5,19,39,.42)}
.modern-preview-hero h1{margin:16px 0 14px;font-size:54px;line-height:1.02;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 3px 24px rgba(0,0,0,.23)}
.modern-preview-hero #previewTripDates{font-size:16px;line-height:1.45}
.modern-preview-hero .preview-hero-chips{margin-top:21px;gap:10px}
.modern-preview-hero .preview-hero-chips span{min-height:40px;padding:0 14px;border-radius:10px;font-size:13.5px;background:rgba(8,25,48,.66)}
.preview-hero-brand{left:68px;top:34px}
.preview-hero-brand .preview-brand-logo{max-width:158px;height:52px;max-height:52px;padding:7px 12px;border-radius:11px}
.preview-hero-brand .preview-brand-name{min-height:44px;padding:0 15px;font-size:14px}
.preview-hero-actions{right:58px;top:36px;gap:12px}
.preview-hero-actions button{height:48px;padding:0 20px;border-radius:11px;font-size:14px}
.preview-hero-actions svg{width:19px;height:19px}
.preview-back-link{left:68px;top:101px;height:38px;padding:0 12px;border-radius:9px;font-size:11.5px}

.modern-itinerary-preview .preview-tabs{gap:7px;padding:0 46px;border-bottom:1px solid #e3e9f1;box-shadow:0 5px 18px rgba(30,50,80,.035)}
.modern-itinerary-preview .preview-tabs button{height:76px;padding:0 20px;border-bottom-width:3px;font-size:15px;font-weight:650;color:#61728a}
.modern-itinerary-preview .preview-tabs button.active{color:#132846}
.modern-itinerary-preview .preview-tabs button span{min-width:22px;height:22px;padding:0 6px;font-size:10.5px}
.modern-itinerary-preview .preview-content{min-height:660px;background:#f7f9fc}
.modern-itinerary-preview .preview-panel{padding:36px 44px 52px}
.modern-itinerary-preview .preview-panel[data-preview-panel="itinerary"].active{display:block}
.modern-itinerary-preview .preview-section-head{margin-bottom:26px}
.modern-itinerary-preview .preview-section-head>div>span{font-size:11px;letter-spacing:.12em}
.modern-itinerary-preview .preview-section-head h2{margin:7px 0 7px;font-size:32px;line-height:1.15;letter-spacing:-.025em}
.modern-itinerary-preview .preview-section-head p{max-width:900px;font-size:15.5px;line-height:1.6}

.preview-itinerary-main{width:100%;min-width:0}
.preview-top-price{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(300px,auto);align-items:center;gap:34px;margin:-2px 0 30px;padding:20px 24px;border:1px solid #dee6f0;border-left:5px solid var(--preview-accent);border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(32,54,88,.05)}
.preview-top-price[hidden]{display:none!important}
.preview-top-price-copy{display:grid;gap:3px}.preview-top-price-copy>span{color:var(--preview-accent);font-size:10.5px;font-weight:800;letter-spacing:.11em}.preview-top-price-copy>strong{color:#172b49;font-size:18px}.preview-top-price-copy>small{color:#7d8da3;font-size:12px}
.preview-top-price-meta{display:flex;align-items:center;gap:30px}.preview-top-price-meta>div{display:grid;gap:4px;min-width:82px}.preview-top-price-meta span{color:#8795a8;font-size:10.5px}.preview-top-price-meta strong{color:#243956;font-size:14px}
.preview-top-price-amount{text-align:right}.preview-top-price-amount span{display:block;margin-bottom:5px;color:#6d7e95;font-size:11.5px;font-weight:600}.preview-top-price-amount strong{display:block;color:var(--preview-accent);font-size:34px;line-height:1;font-weight:800;letter-spacing:-.025em}
.preview-itinerary-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px;padding:0 2px}.preview-itinerary-overview-head>div>span{display:block;margin-bottom:6px;color:var(--preview-accent);font-size:10.5px;font-weight:800;letter-spacing:.11em}.preview-itinerary-overview-head h2{margin:0;color:#132746;font-size:30px;line-height:1.15;letter-spacing:-.025em}.preview-itinerary-overview-head p{margin:7px 0 0;color:#63758e;font-size:15px;line-height:1.55}.preview-itinerary-overview-head button{height:44px;min-width:118px;padding:0 15px;border:1px solid #d8e1ec;border-radius:10px;background:#fff;color:#315072;font:700 12.5px/1 Roboto,Arial,sans-serif;cursor:pointer}.preview-itinerary-overview-head button:hover{border-color:rgba(var(--preview-accent-rgb),.5);color:var(--preview-accent)}

.preview-days{display:grid;gap:22px}
.modern-preview-day{border:1px solid #dce5ef;border-radius:19px;background:#fff;box-shadow:0 9px 28px rgba(35,57,88,.05)}
.modern-day-head{grid-template-columns:92px minmax(380px,480px) minmax(320px,1fr) 44px;gap:24px;min-height:276px;padding:18px 18px 18px 0}
.modern-day-date{border-right:1px solid #e8edf4}
.modern-day-date>span{font-size:11px}.modern-day-date>strong{margin:7px 0 6px;font-size:43px}.modern-day-date small{font-size:11px;line-height:1.45}
.modern-day-gallery{height:236px;gap:7px;grid-template-columns:1.72fr .82fr .82fr;border-radius:13px;overflow:hidden}
.modern-day-gallery .preview-photo-button{border-radius:11px}
.modern-day-gallery.count-2{grid-template-columns:1.65fr 1fr}.modern-day-gallery.count-3{grid-template-columns:1.65fr .9fr}
.preview-photo-button>span{font-size:19px}
.modern-day-copy{align-self:center;padding-right:4px}.modern-day-kicker{margin-bottom:10px;font-size:11px}.modern-day-copy h2{font-size:29px;line-height:1.12}.modern-day-copy p{margin-top:11px;font-size:15.5px;line-height:1.67;-webkit-line-clamp:5}.modern-day-tags{gap:8px;margin-top:14px}.modern-day-tags span{padding:7px 10px;font-size:11.5px}
.modern-day-toggle{width:42px;height:42px}.modern-day-toggle svg{width:21px;height:21px}

.modern-day-services{padding:3px 30px 18px 20px;border-top:1px solid #e8edf4}
.modern-service-row{grid-template-columns:116px 46px 260px minmax(0,1fr) 118px;gap:20px;min-height:168px;padding:20px 0}
.modern-service-row.no-media{grid-template-columns:116px 46px minmax(0,1fr) 118px}
.modern-service-time strong{font-size:14px}.modern-service-time span{margin-top:5px;font-size:11px}
.modern-service-track>span{width:40px;height:40px;border-width:5px;font-size:15px}
.modern-service-track:before{top:-22px;bottom:-22px}
.modern-service-media{width:260px;height:126px;display:grid;grid-template-columns:1.65fr .86fr;grid-template-rows:1fr 1fr;gap:6px}
.modern-service-media.count-1{display:block}.modern-service-media.count-2{grid-template-columns:1.55fr 1fr;grid-template-rows:1fr}.modern-service-media.count-3{grid-template-columns:1.55fr .85fr;grid-template-rows:1fr 1fr}
.modern-service-media .preview-photo-button{width:100%;height:100%;border-radius:11px}.modern-service-media .service-main{grid-row:1/3}.modern-service-media.count-2 .service-main{grid-row:auto}
.modern-service-copy h3{font-size:20px;line-height:1.3}.modern-service-copy p{margin-top:7px;font-size:15px;line-height:1.65;-webkit-line-clamp:4}.modern-service-facts{gap:8px;margin-top:11px}.modern-service-facts span{padding:6px 9px;font-size:11px}.modern-service-type{padding:8px 12px;font-size:11.5px}

.preview-bottom-summary{margin-top:30px;border-radius:17px}.bottom-summary-item{gap:14px;padding:20px 22px}.bottom-summary-icon{width:44px;height:44px;flex-basis:44px;font-size:15px}.bottom-summary-item small{font-size:10.5px}.bottom-summary-item strong{font-size:14px}.bottom-summary-item span:not(.bottom-summary-icon),.bottom-summary-item a{font-size:11.5px}

.modern-itinerary-preview .document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.modern-itinerary-preview .preview-document-card{min-height:122px!important;padding:20px!important;border-radius:15px!important}.modern-itinerary-preview .preview-document-card>div>strong{font-size:16px}.modern-itinerary-preview .preview-document-card>div>small,.modern-itinerary-preview .preview-document-card>div>p{font-size:13px;line-height:1.55}.modern-itinerary-preview .preview-document-meta span,.modern-itinerary-preview .preview-document-meta em{font-size:11.5px}.modern-itinerary-preview .preview-document-card>a{height:46px;min-height:46px;font-size:13px}
.modern-itinerary-preview .preview-chat-card{border-radius:17px}.modern-itinerary-preview .preview-chat-thread{min-height:460px;padding:26px}.modern-itinerary-preview .chat-bubble p{font-size:14.5px;line-height:1.62}.modern-itinerary-preview .chat-bubble small{font-size:11px}.modern-itinerary-preview .preview-chat-compose{padding:18px}.modern-itinerary-preview .preview-chat-compose input,.modern-itinerary-preview .preview-chat-compose button{height:48px;min-height:48px;font-size:14px}

.modern-itinerary-preview .preview-proposal-shell{grid-template-columns:minmax(0,1.5fr) minmax(340px,.5fr);gap:26px}.modern-itinerary-preview .proposal-main-card,.modern-itinerary-preview .proposal-side-card{padding:28px;border-radius:18px}.modern-itinerary-preview .proposal-price-hero{padding:28px;border-radius:17px}.modern-itinerary-preview .proposal-price-hero>span{font-size:12px}.modern-itinerary-preview .proposal-price-hero>strong{font-size:46px}.modern-itinerary-preview .proposal-price-hero>small{font-size:13.5px}.proposal-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:22px 0 11px}.proposal-list-heading>span{color:#1a2d49;font-size:16px;font-weight:750}.proposal-list-heading>small{color:#8794a7;font-size:11.5px}.modern-itinerary-preview .proposal-service-list{gap:11px}.modern-itinerary-preview .proposal-service-row{grid-template-columns:1fr;padding:15px 16px;border-radius:12px}.modern-itinerary-preview .proposal-service-row span{font-size:11px}.modern-itinerary-preview .proposal-service-row strong{font-size:15px;line-height:1.4}.modern-itinerary-preview .proposal-copy-section{margin-top:26px}.modern-itinerary-preview .proposal-copy-section h3{font-size:18px}.modern-itinerary-preview .proposal-rich-policy{font-size:15px;line-height:1.7}.modern-itinerary-preview .proposal-rich-policy li{font-size:15px;line-height:1.65}.modern-itinerary-preview .proposal-status-card span{font-size:11.5px}.modern-itinerary-preview .proposal-status-card strong{font-size:22px}.modern-itinerary-preview .proposal-response-note,.modern-itinerary-preview .proposal-response-confirmed,.modern-itinerary-preview .proposal-response-pending{font-size:14px;line-height:1.55}

.modern-itinerary-preview .preview-policy-grid{grid-template-columns:1fr!important;gap:20px}.modern-itinerary-preview .preview-policy-card{padding:27px 30px;border-radius:17px}.modern-itinerary-preview .preview-policy-card-head{gap:6px;margin-bottom:18px;padding-bottom:15px}.modern-itinerary-preview .preview-policy-card-head>span{font-size:19px}.modern-itinerary-preview .preview-policy-card-head>small{font-size:12.5px}.modern-itinerary-preview .preview-policy-rich{font-size:15.5px;line-height:1.75}.modern-itinerary-preview .preview-policy-rich p{margin-bottom:11px}.modern-itinerary-preview .preview-policy-rich li{font-size:15.5px;line-height:1.7}

.modern-itinerary-preview .traveller-notes-grid{grid-template-columns:1fr;gap:16px}.modern-itinerary-preview .traveller-notes-grid article{grid-template-columns:46px minmax(0,1fr);gap:15px;padding:22px;border-radius:14px}.modern-itinerary-preview .traveller-notes-grid article>span{width:42px;height:42px;font-size:12px}.modern-itinerary-preview .traveller-notes-grid h3{font-size:17px}.modern-itinerary-preview .traveller-notes-grid p{font-size:15px;line-height:1.7}

.modern-itinerary-preview .preview-contact-grid{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.modern-itinerary-preview .preview-person-card{min-height:310px;padding:28px;border-radius:18px}.modern-itinerary-preview .preview-person-card-head{gap:16px;padding-bottom:20px}.modern-itinerary-preview .preview-person-card-head>img{width:68px;height:68px}.modern-itinerary-preview .preview-avatar.large{width:68px;height:68px;font-size:18px}.modern-itinerary-preview .preview-person-card-head span{font-size:11px}.modern-itinerary-preview .preview-person-card-head h3{font-size:22px}.modern-itinerary-preview .preview-person-card-head p{font-size:13px}.modern-itinerary-preview .preview-person-card dl{margin-top:12px!important}.modern-itinerary-preview .preview-person-card dl>div{grid-template-columns:145px minmax(0,1fr);padding:15px 0}.modern-itinerary-preview .preview-person-card dt{font-size:12px}.modern-itinerary-preview .preview-person-card dd{font-size:15px}.modern-itinerary-preview .preview-contact-cta{height:50px;min-height:50px;margin-top:18px;font-size:14px}

@media (max-width:1320px){
  .modern-itinerary-preview .preview-shell{width:min(1260px,calc(100% - 24px))}.modern-itinerary-preview .modern-preview-hero{padding-left:48px;padding-right:48px}.preview-hero-brand,.preview-back-link{left:48px}.preview-hero-actions{right:44px}.modern-day-head{grid-template-columns:82px minmax(330px,400px) minmax(280px,1fr) 38px;gap:18px}.modern-day-gallery{height:210px}.modern-service-row{grid-template-columns:105px 42px 220px minmax(0,1fr) 105px;gap:16px}.modern-service-row.no-media{grid-template-columns:105px 42px minmax(0,1fr) 105px}.modern-service-media{width:220px;height:116px}
}
@media (max-width:1020px){
  .modern-itinerary-preview .modern-preview-hero{min-height:430px;padding:150px 34px 36px}.preview-hero-brand,.preview-back-link{left:34px}.preview-hero-actions{right:30px}.modern-preview-hero h1{font-size:44px}.modern-preview-hero .preview-hero-copy{width:88%}.modern-itinerary-preview .preview-tabs{padding:0 22px}.modern-itinerary-preview .preview-panel{padding:30px 24px 42px}.preview-top-price{grid-template-columns:1fr auto;gap:20px}.preview-top-price-meta{display:none}.modern-day-head{grid-template-columns:76px minmax(280px,350px) minmax(0,1fr) 36px;gap:16px;min-height:235px}.modern-day-gallery{height:190px}.modern-day-copy h2{font-size:24px}.modern-day-copy p{font-size:14px}.modern-service-row{grid-template-columns:90px 38px 180px minmax(0,1fr);gap:14px}.modern-service-row.no-media{grid-template-columns:90px 38px minmax(0,1fr)}.modern-service-media{width:180px;height:105px}.modern-service-type{display:none}.modern-itinerary-preview .preview-proposal-shell{grid-template-columns:1fr}.modern-itinerary-preview .preview-proposal-shell .proposal-side-card{position:static}.modern-itinerary-preview .document-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .modern-itinerary-preview .preview-shell{width:100%;margin:0;border-radius:0;box-shadow:none}.modern-itinerary-preview .modern-preview-hero{min-height:500px;padding:178px 18px 28px;background-position:center}.preview-hero-brand{left:18px;top:18px}.preview-hero-brand .preview-brand-logo{max-width:126px;height:44px}.preview-hero-actions{left:18px;right:18px;top:78px}.preview-hero-actions button{flex:1;height:46px;padding:0 10px;font-size:12.5px}.preview-back-link{left:18px;top:134px}.modern-preview-hero .preview-hero-copy{width:100%}.modern-preview-hero h1{font-size:36px}.modern-preview-hero #previewTripDates{font-size:14px}.modern-preview-hero .preview-hero-chips span{min-height:36px;font-size:11.5px}.modern-itinerary-preview .preview-tabs{padding:0 9px;gap:0}.modern-itinerary-preview .preview-tabs button{height:62px;padding:0 13px;font-size:13px}.modern-itinerary-preview .preview-panel{padding:22px 12px 34px}.modern-itinerary-preview .preview-section-head h2{font-size:26px}.modern-itinerary-preview .preview-section-head p{font-size:14px}.preview-top-price{grid-template-columns:1fr;gap:15px;padding:18px}.preview-top-price-amount{text-align:left}.preview-top-price-amount strong{font-size:29px}.preview-itinerary-overview-head{align-items:flex-start;flex-direction:column}.preview-itinerary-overview-head h2{font-size:25px}.preview-itinerary-overview-head p{font-size:14px}.preview-itinerary-overview-head button{width:100%}
  .modern-day-head{grid-template-columns:64px minmax(0,1fr) 34px;gap:12px;min-height:0;padding:13px 10px 14px 0}.modern-day-date{grid-row:1/3}.modern-day-gallery{grid-column:2/4;grid-row:1;height:190px}.modern-day-copy{grid-column:2/3;grid-row:2;padding-top:4px}.modern-day-toggle{grid-column:3;grid-row:2;align-self:start}.modern-day-copy h2{font-size:22px}.modern-day-copy p{font-size:13.5px;-webkit-line-clamp:5}.modern-day-tags span{font-size:10.5px}.modern-day-services{padding:4px 12px 13px 8px}.modern-service-row,.modern-service-row.no-media{grid-template-columns:62px 34px minmax(0,1fr);gap:9px;min-height:0;padding:16px 0}.modern-service-time{grid-column:1;grid-row:1/4}.modern-service-track{grid-column:2;grid-row:1/4}.modern-service-media{grid-column:3;grid-row:1;width:100%;height:150px}.modern-service-copy{grid-column:3;grid-row:2}.modern-service-copy h3{font-size:17px}.modern-service-copy p{font-size:13.5px}.modern-service-time strong{font-size:11.5px}.modern-service-time span{font-size:9.5px}.modern-service-type{display:none}.preview-bottom-summary{grid-template-columns:1fr}.bottom-summary-item{border-right:0;border-bottom:1px solid #edf1f5}.bottom-summary-item:last-child{border-bottom:0}.modern-itinerary-preview .preview-contact-grid{grid-template-columns:1fr}.modern-itinerary-preview .preview-person-card{min-height:0;padding:20px}.modern-itinerary-preview .preview-person-card dl>div{grid-template-columns:1fr;gap:5px}.modern-itinerary-preview .preview-policy-card{padding:20px}.modern-itinerary-preview .preview-policy-rich,.modern-itinerary-preview .preview-policy-rich li{font-size:14px}.proposal-list-heading{align-items:flex-start;flex-direction:column}.modern-itinerary-preview .proposal-main-card,.modern-itinerary-preview .proposal-side-card{padding:19px}.modern-itinerary-preview .proposal-price-hero>strong{font-size:36px}
}

/* Phase 12.3H — final premium preview alignment, passenger mix, square media and icon tabs */
.modern-itinerary-preview .preview-shell{
  width:100%;max-width:none;margin:0 0 56px;border-radius:0;overflow:visible;background:transparent;box-shadow:none
}
.modern-itinerary-preview .modern-preview-hero{
  width:100%;min-height:500px;border-radius:0;padding:168px max(48px,calc((100vw - 1440px)/2 + 52px)) 58px;
  background-position:center;background-size:cover;box-sizing:border-box
}
.modern-preview-hero .preview-hero-copy{width:min(920px,72%)}
.modern-preview-hero h1{font-size:58px;line-height:1.01}
.preview-hero-brand{left:auto;right:max(48px,calc((100vw - 1440px)/2 + 52px));top:28px;display:flex;justify-content:flex-end}
.preview-hero-brand .preview-brand-logo{max-width:170px;height:58px;max-height:58px;padding:8px 13px;border-radius:13px}
.preview-hero-brand .preview-brand-name{min-height:48px;font-size:15px}
.preview-hero-actions{left:auto;right:max(48px,calc((100vw - 1440px)/2 + 52px));top:102px;gap:12px}
.preview-hero-actions button{height:50px;padding:0 21px;font-size:14px}
.preview-back-link{left:max(48px,calc((100vw - 1440px)/2 + 52px));top:34px}

.modern-itinerary-preview .preview-tabs,
.modern-itinerary-preview .preview-content{
  width:min(1440px,calc(100% - 40px));box-sizing:border-box;margin-left:auto;margin-right:auto
}
.modern-itinerary-preview .preview-tabs{
  position:relative;z-index:8;margin-top:-30px;padding:0 34px;border:1px solid #e2e8f1;border-bottom-color:#e5ebf3;
  border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -6px 28px rgba(29,48,78,.08);gap:5px
}
.modern-itinerary-preview .preview-tabs button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:78px;padding:0 17px;font-size:15px;line-height:1
}
.modern-itinerary-preview .preview-tabs button>svg{
  width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.modern-itinerary-preview .preview-tabs .preview-tab-label{display:inline!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;background:none!important;color:inherit!important;border-radius:0!important;font-size:inherit!important}
.modern-itinerary-preview .preview-tabs .preview-tab-count{margin-left:0!important}
.modern-itinerary-preview .preview-content{
  margin-top:0;margin-bottom:54px;border:1px solid #e2e8f1;border-top:0;border-radius:0 0 24px 24px;background:#f7f9fc;
  box-shadow:0 28px 70px rgba(30,50,82,.09);overflow:hidden
}
.modern-itinerary-preview .preview-panel{padding:38px 46px 54px}

.preview-top-price{grid-template-columns:minmax(260px,.8fr) minmax(460px,1.35fr) minmax(260px,.65fr);gap:28px;padding:22px 26px}
.preview-top-price-meta.traveller-mix{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:18px;align-items:start}
.preview-top-price-meta.traveller-mix>div{display:grid;gap:4px;min-width:0}
.preview-top-price-meta.traveller-mix span{font-size:11px}
.preview-top-price-meta.traveller-mix strong{font-size:15px;line-height:1.2}
.preview-top-price-meta.traveller-mix small{display:block;color:#8a98aa;font-size:10.5px;line-height:1.35;white-space:normal}
.preview-top-price-copy>strong{font-size:20px}.preview-top-price-copy>small{font-size:13px}
.preview-top-price-amount strong{font-size:38px}

.modern-preview-day{overflow:hidden}
.modern-day-head{
  display:grid;grid-template-columns:92px 430px minmax(0,1fr) 44px;gap:24px;align-items:center;min-height:260px;padding:20px 20px 20px 0
}
.modern-day-gallery{
  width:430px;height:auto!important;min-height:0;display:grid;grid-template-rows:1fr!important;align-items:center;align-content:center;justify-content:start;gap:10px;overflow:visible!important
}
.modern-day-gallery.single{grid-template-columns:220px!important}
.modern-day-gallery.count-2{grid-template-columns:repeat(2,178px)!important}
.modern-day-gallery.count-3{grid-template-columns:repeat(3,130px)!important}
.modern-day-gallery .preview-photo-button{
  width:100%!important;height:auto!important;aspect-ratio:1/1;grid-row:auto!important;border-radius:13px!important;overflow:hidden
}
.modern-day-gallery .preview-photo-button.main{grid-row:auto!important}
.modern-day-gallery img{object-fit:cover}
.modern-day-copy{align-self:center;padding-right:8px}
.modern-day-copy h2{font-size:30px;line-height:1.15}
.modern-day-copy p{font-size:16px;line-height:1.68;-webkit-line-clamp:5}

.modern-day-services{padding:6px 30px 20px 20px}
.modern-service-row,.modern-service-row.no-media{
  display:grid;grid-template-columns:112px 48px 330px minmax(0,1fr) 96px;gap:20px;align-items:center;min-height:158px;padding:20px 0
}
.modern-service-time{text-align:center;align-self:center}
.modern-service-time strong{font-size:14px;text-align:center}
.modern-service-time span{display:block;margin:5px auto 0;text-align:center;font-size:10px;font-weight:650;line-height:1.25}
.modern-service-time.no-time span{margin-top:0}
.modern-service-media,.modern-service-media-placeholder{width:330px;min-width:330px}
.modern-service-media{height:auto!important;min-height:0;display:grid;grid-template-rows:1fr!important;align-items:center;justify-content:start;gap:9px}
.modern-service-media.count-1{display:grid!important;grid-template-columns:124px!important}
.modern-service-media.count-2{grid-template-columns:repeat(2,116px)!important}
.modern-service-media.count-3{grid-template-columns:repeat(3,100px)!important}
.modern-service-media .preview-photo-button{
  width:100%!important;height:auto!important;aspect-ratio:1/1;grid-row:auto!important;border-radius:12px!important;overflow:hidden
}
.modern-service-media .service-main{grid-row:auto!important}
.modern-service-media-placeholder{height:1px;visibility:hidden}
.modern-service-copy{align-self:center}
.modern-service-copy h3{font-size:20px;line-height:1.3}
.modern-service-copy p{font-size:15px;line-height:1.65;-webkit-line-clamp:4}
.modern-service-type{
  min-width:78px;max-width:96px;min-height:28px;padding:6px 9px!important;display:inline-flex;align-items:center;justify-content:center;
  justify-self:center;text-align:center;border-radius:999px;font-size:10.5px!important;line-height:1.15;white-space:normal
}
.modern-service-row[data-service-type="transportation"] .modern-service-track>span{background:#3dbb72;color:#fff;box-shadow:0 0 0 1px #aee3c3}
.modern-service-row[data-service-type="transportation"] .modern-service-type{background:#e6f7ed;color:#21804c}
.modern-service-row[data-service-type="activity"] .modern-service-track>span{background:#7a63ee;color:#fff;box-shadow:0 0 0 1px #cabffc}
.modern-service-row[data-service-type="activity"] .modern-service-type{background:#f0edff;color:#654fd1}
.modern-service-row[data-service-type="food_drink"] .modern-service-track>span{background:#ef9c35;color:#fff;box-shadow:0 0 0 1px #f7d5a6}
.modern-service-row[data-service-type="food_drink"] .modern-service-type{background:#fff3e3;color:#bd6d0d}
.modern-service-row[data-service-type="lodging"] .modern-service-track>span{background:#4d8cf5;color:#fff;box-shadow:0 0 0 1px #bdd3fa}
.modern-service-row[data-service-type="lodging"] .modern-service-type{background:#eaf2ff;color:#356fc9}
.modern-service-row[data-service-type="flight"] .modern-service-track>span{background:#2ba8c7;color:#fff;box-shadow:0 0 0 1px #a9dfe9}
.modern-service-row[data-service-type="flight"] .modern-service-type{background:#e5f7fb;color:#16788f}
.modern-service-row[data-service-type="cruise"] .modern-service-track>span{background:#32a69a;color:#fff;box-shadow:0 0 0 1px #a8ded8}
.modern-service-row[data-service-type="cruise"] .modern-service-type{background:#e5f6f3;color:#217b73}
.modern-service-row[data-service-type="info"] .modern-service-track>span,
.modern-service-row[data-service-type="note"] .modern-service-track>span,
.modern-service-row[data-service-type="free_time"] .modern-service-track>span{background:#71839a;color:#fff;box-shadow:0 0 0 1px #cbd4df}
.modern-service-row[data-service-type="info"] .modern-service-type,
.modern-service-row[data-service-type="note"] .modern-service-type,
.modern-service-row[data-service-type="free_time"] .modern-service-type{background:#eef2f6;color:#52657c}

/* Keep rich lists readable: bullets/numbers get their own gutter and never overlap text. */
.modern-itinerary-preview .preview-policy-rich ul,
.modern-itinerary-preview .proposal-rich-policy ul{list-style:none!important;margin:4px 0 0!important;padding:0!important;display:grid;gap:10px}
.modern-itinerary-preview .preview-policy-rich ul>li,
.modern-itinerary-preview .proposal-rich-policy ul>li{position:relative!important;padding-left:28px!important;margin:0!important}
.modern-itinerary-preview .preview-policy-rich ul>li:before,
.modern-itinerary-preview .proposal-rich-policy ul>li:before{content:""!important;display:block!important;position:absolute!important;left:5px!important;top:.67em!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--preview-accent)!important}
.modern-itinerary-preview .preview-policy-card.excluded .preview-policy-rich ul>li:before{background:#b67878!important}
.modern-itinerary-preview .preview-policy-rich ol,
.modern-itinerary-preview .proposal-rich-policy ol{list-style:decimal outside!important;margin:4px 0 0!important;padding-left:28px!important;display:grid;gap:10px}
.modern-itinerary-preview .preview-policy-rich ol>li,
.modern-itinerary-preview .proposal-rich-policy ol>li{padding-left:4px!important;margin:0!important}
.modern-itinerary-preview .preview-policy-rich ol>li:before,
.modern-itinerary-preview .proposal-rich-policy ol>li:before{display:none!important;content:none!important}

/* Perfect circular initials inside traveller/advisor cards. */
.modern-itinerary-preview .preview-person-card-head .preview-avatar.large{
  width:70px!important;height:70px!important;flex:0 0 70px!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;
  padding:0!important;margin:0!important;border-radius:50%!important;overflow:hidden!important;line-height:1!important;text-align:center!important
}
.modern-itinerary-preview .preview-person-card-head .preview-avatar.large::before,
.modern-itinerary-preview .preview-person-card-head .preview-avatar.large::after{display:none!important}

@media (max-width:1180px){
  .modern-itinerary-preview .modern-preview-hero{padding-left:36px;padding-right:36px}.preview-back-link{left:36px}.preview-hero-brand,.preview-hero-actions{right:36px}
  .modern-itinerary-preview .preview-tabs,.modern-itinerary-preview .preview-content{width:calc(100% - 24px)}
  .preview-top-price{grid-template-columns:1fr minmax(360px,1.25fr)}.preview-top-price-amount{grid-column:1/-1;text-align:left;border-top:1px solid #edf1f5;padding-top:16px}
  .modern-day-head{grid-template-columns:78px 340px minmax(0,1fr) 38px;gap:18px}.modern-day-gallery{width:340px}.modern-day-gallery.single{grid-template-columns:190px!important}.modern-day-gallery.count-2{grid-template-columns:repeat(2,150px)!important}.modern-day-gallery.count-3{grid-template-columns:repeat(3,104px)!important}
  .modern-service-row,.modern-service-row.no-media{grid-template-columns:92px 42px 260px minmax(0,1fr);gap:15px}.modern-service-media,.modern-service-media-placeholder{width:260px;min-width:260px}.modern-service-media.count-1{grid-template-columns:112px!important}.modern-service-media.count-2{grid-template-columns:repeat(2,108px)!important}.modern-service-media.count-3{grid-template-columns:repeat(3,80px)!important}.modern-service-type{display:none}
}
@media (max-width:880px){
  .modern-itinerary-preview .modern-preview-hero{min-height:500px;padding:185px 24px 44px}.modern-preview-hero .preview-hero-copy{width:100%}.modern-preview-hero h1{font-size:44px}.preview-back-link{left:24px;top:28px}.preview-hero-brand{right:24px;top:24px}.preview-hero-actions{right:24px;top:94px}
  .modern-itinerary-preview .preview-tabs{padding:0 14px}.modern-itinerary-preview .preview-tabs button{height:68px;padding:0 13px;font-size:13.5px}.modern-itinerary-preview .preview-panel{padding:28px 22px 40px}
  .preview-top-price{grid-template-columns:1fr;gap:17px}.preview-top-price-meta.traveller-mix{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-top-price-amount{grid-column:auto}
  .modern-day-head{grid-template-columns:72px minmax(0,1fr) 36px;gap:14px;padding:16px 14px 18px 0}.modern-day-date{grid-row:1/3}.modern-day-gallery{grid-column:2/4;grid-row:1;width:100%;grid-template-columns:repeat(3,minmax(0,132px))!important}.modern-day-gallery.single{grid-template-columns:200px!important}.modern-day-gallery.count-2{grid-template-columns:repeat(2,160px)!important}.modern-day-copy{grid-column:2/3;grid-row:2}.modern-day-toggle{grid-column:3;grid-row:2;align-self:start}
  .modern-service-row,.modern-service-row.no-media{grid-template-columns:74px 38px minmax(0,1fr);gap:11px}.modern-service-time{grid-column:1;grid-row:1/4}.modern-service-track{grid-column:2;grid-row:1/4}.modern-service-media,.modern-service-media-placeholder{grid-column:3;grid-row:1;width:100%;min-width:0}.modern-service-media-placeholder{display:none}.modern-service-media{grid-template-columns:repeat(3,minmax(0,105px))!important}.modern-service-media.count-1{grid-template-columns:120px!important}.modern-service-media.count-2{grid-template-columns:repeat(2,110px)!important}.modern-service-copy{grid-column:3;grid-row:2}.modern-service-type{display:none}
}
@media (max-width:600px){
  .modern-itinerary-preview .preview-shell{margin-bottom:0}.modern-itinerary-preview .modern-preview-hero{min-height:520px;padding:205px 18px 42px}.preview-back-link{left:18px}.preview-hero-brand{right:18px}.preview-hero-brand .preview-brand-logo{max-width:125px;height:46px}.preview-hero-actions{left:18px;right:18px;top:94px}.preview-hero-actions button{flex:1;padding:0 10px;font-size:12.5px}.modern-preview-hero h1{font-size:37px}
  .modern-itinerary-preview .preview-tabs,.modern-itinerary-preview .preview-content{width:100%}.modern-itinerary-preview .preview-tabs{margin-top:-24px;border-left:0;border-right:0;border-radius:22px 22px 0 0;padding:0 8px}.modern-itinerary-preview .preview-tabs button{height:64px;padding:0 11px;font-size:12.5px}.modern-itinerary-preview .preview-tabs button>svg{width:18px;height:18px}.modern-itinerary-preview .preview-panel{padding:22px 12px 32px}
  .preview-top-price-meta.traveller-mix{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.preview-top-price-amount strong{font-size:31px}
  .modern-day-head{grid-template-columns:60px minmax(0,1fr) 32px;gap:10px}.modern-day-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}.modern-day-gallery.single{grid-template-columns:minmax(0,190px)!important}.modern-day-gallery.count-2{grid-template-columns:repeat(2,minmax(0,145px))!important}.modern-day-copy h2{font-size:22px}.modern-day-copy p{font-size:13.5px}
  .modern-day-services{padding:4px 10px 12px 6px}.modern-service-row,.modern-service-row.no-media{grid-template-columns:58px 32px minmax(0,1fr);gap:8px;padding:15px 0}.modern-service-media{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}.modern-service-media.count-1{grid-template-columns:110px!important}.modern-service-media.count-2{grid-template-columns:repeat(2,100px)!important}.modern-service-copy h3{font-size:17px}.modern-service-copy p{font-size:13.5px}.modern-service-time strong{font-size:11px}.modern-service-time span{font-size:9px}
  .modern-itinerary-preview .preview-contact-grid{grid-template-columns:1fr}.modern-itinerary-preview .preview-person-card{min-height:0;padding:20px}
}

/* Phase 12.3I — standalone prototype integrated into the real Preview/Share flow */
.prototype-itinerary-preview{
  --preview-surface:#ffffff;
  --preview-soft:#f7f9fc;
  --preview-ink:#0f1c3f;
  --preview-muted:#66758d;
  --preview-line:#e3e9f2;
  --preview-shadow:0 22px 64px rgba(25,43,73,.12);
  background:#eef3f8!important;color:var(--preview-ink);font-size:16px
}
.prototype-itinerary-preview .prototype-preview-hero{
  position:relative;width:100%;min-height:390px;padding:0!important;border-radius:0!important;background-size:cover!important;background-position:center 48%!important;color:#fff;overflow:hidden
}
.prototype-itinerary-preview .prototype-hero-inner{
  position:relative;width:min(1460px,100%);min-height:390px;margin:0 auto;padding:34px 42px 58px;box-sizing:border-box
}
.prototype-itinerary-preview .preview-back-link{
  left:42px!important;top:28px!important;height:36px;padding:0 13px;border-radius:9px;border:1px solid rgba(255,255,255,.32);background:rgba(6,18,38,.35);backdrop-filter:blur(8px);font-size:12px;font-weight:700;color:#fff!important;z-index:5
}
.prototype-itinerary-preview .preview-back-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .preview-hero-brand{
  position:absolute!important;left:auto!important;right:42px!important;top:26px!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;z-index:5
}
.prototype-itinerary-preview .preview-hero-brand .preview-brand-logo{
  display:block;max-width:150px;width:auto;height:70px;max-height:70px;object-fit:contain;padding:10px 14px;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2)
}
.prototype-itinerary-preview .preview-hero-brand .preview-brand-name{
  display:grid;place-items:center;min-width:80px;min-height:58px;padding:10px 14px;border-radius:14px;background:#fff;color:#12213f;font-size:14px;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.2)
}
.prototype-itinerary-preview .preview-hero-actions{
  position:absolute!important;left:auto!important;right:42px!important;top:112px!important;display:flex!important;align-items:center!important;gap:12px!important;z-index:5
}
.prototype-itinerary-preview .preview-hero-actions button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;min-height:48px;padding:0 18px;border-radius:11px;font-size:14px;font-weight:800;box-shadow:none
}
.prototype-itinerary-preview .preview-hero-actions button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .preview-share-btn{border:1px solid rgba(255,255,255,.55)!important;background:rgba(7,18,38,.45)!important;color:#fff!important;backdrop-filter:blur(8px)}
.prototype-itinerary-preview .preview-download-btn{border:1px solid var(--preview-accent)!important;background:var(--preview-accent)!important;color:var(--preview-accent-contrast)!important}
.prototype-itinerary-preview .preview-hero-copy{
  position:relative;z-index:3;width:min(820px,70%)!important;max-width:820px!important;padding:76px 0 0!important;margin:0!important
}
.prototype-itinerary-preview .preview-kicker{
  display:inline-flex;align-items:center;min-height:32px;padding:0 13px!important;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(6,16,34,.34)!important;color:#fff;font-size:12px!important;font-weight:800;letter-spacing:.08em
}
.prototype-itinerary-preview .preview-hero-copy h1{
  margin:18px 0 12px!important;color:#fff;font-size:48px!important;line-height:1.04!important;font-weight:900!important;letter-spacing:-.04em!important;text-shadow:0 3px 24px rgba(0,0,0,.22)
}
.prototype-itinerary-preview .preview-hero-copy h1 em{
  display:block;margin-top:4px;color:var(--preview-accent);font-family:Georgia,'Times New Roman',serif;font-size:1.03em;font-style:italic;font-weight:700;letter-spacing:-.025em
}
.prototype-itinerary-preview #previewTripDates{
  display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:0!important;color:#fff;font-size:14px!important;font-weight:700
}
.prototype-itinerary-preview #previewTripDates span{display:inline-flex;align-items:center;gap:7px}
.prototype-itinerary-preview #previewTripDates svg,.prototype-itinerary-preview .preview-hero-chips svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.prototype-itinerary-preview .preview-hero-chips{display:flex!important;flex-wrap:wrap;gap:9px!important;margin-top:18px!important}
.prototype-itinerary-preview .preview-hero-chips span{
  display:inline-flex;align-items:center;gap:7px;min-height:38px!important;padding:0 12px!important;border:1px solid rgba(255,255,255,.17);border-radius:999px!important;background:rgba(7,18,38,.55)!important;color:#fff;font-size:12.5px!important;font-weight:800
}
.prototype-itinerary-preview .preview-hero-chips .preview-status-chip.proposal{background:rgba(var(--preview-accent-rgb),.84)!important;color:var(--preview-accent-contrast)!important;border-color:transparent}

.prototype-itinerary-preview .prototype-preview-shell{
  width:min(1460px,calc(100% - 36px))!important;max-width:1460px!important;margin:-28px auto 44px!important;padding:0!important;border-radius:28px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;position:relative;z-index:10
}
.prototype-itinerary-preview .prototype-preview-surface{overflow:hidden;border:1px solid rgba(221,228,238,.95);border-radius:28px;background:#fff;box-shadow:var(--preview-shadow)}
.prototype-itinerary-preview .prototype-preview-tabs{
  width:100%!important;margin:0!important;padding:0 24px!important;display:flex;align-items:center;gap:4px!important;overflow-x:auto;border:0!important;border-bottom:1px solid var(--preview-line)!important;border-radius:0!important;background:#fff!important;box-shadow:none!important
}
.prototype-itinerary-preview .prototype-preview-tabs button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;height:70px!important;padding:0 17px!important;border:0;border-bottom:3px solid transparent;background:transparent;color:#56657d;font-size:14px!important;font-weight:800;white-space:nowrap
}
.prototype-itinerary-preview .prototype-preview-tabs button.active{color:var(--preview-accent)!important;border-bottom-color:var(--preview-accent)!important}
.prototype-itinerary-preview .prototype-preview-tabs button>svg{width:19px!important;height:19px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .prototype-preview-tabs .preview-tab-count{min-width:20px!important;height:20px!important;padding:0 6px!important;border-radius:10px!important;background:#edf1f6!important;color:#6c7a90!important;font-size:10px!important}
.prototype-itinerary-preview .prototype-preview-content{width:100%!important;margin:0!important;border:0!important;border-radius:0!important;background:#fbfcfe!important;box-shadow:none!important;overflow:visible!important}
.prototype-itinerary-preview .preview-panel{padding:26px 28px 32px!important;background:#fbfcfe}
.prototype-itinerary-preview .preview-panel:not(.active){display:none!important}

.prototype-itinerary-preview .preview-top-price{
  display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(430px,1.25fr) minmax(260px,.8fr);align-items:center;gap:22px;margin:0 0 26px!important;padding:18px 22px!important;border:1px solid var(--preview-line)!important;border-left:5px solid var(--preview-accent)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 8px 24px rgba(32,52,85,.05)
}
.prototype-itinerary-preview .preview-top-price[hidden]{display:none!important}
.prototype-itinerary-preview .preview-top-price-copy{display:grid;gap:4px}
.prototype-itinerary-preview .preview-top-price-copy>span{font-size:10px!important;font-weight:900;letter-spacing:.1em;color:var(--preview-accent)!important}
.prototype-itinerary-preview .preview-top-price-copy>strong{font-size:19px!important;color:#152746}
.prototype-itinerary-preview .preview-top-price-copy>small{font-size:12px!important;color:#8895a8}
.prototype-itinerary-preview .preview-top-price-meta.traveller-mix{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.prototype-itinerary-preview .preview-top-price-meta.traveller-mix>div{display:grid!important;gap:3px;min-width:0!important}
.prototype-itinerary-preview .preview-top-price-meta.traveller-mix span{font-size:10px!important;color:#8794a7}
.prototype-itinerary-preview .preview-top-price-meta.traveller-mix strong{font-size:14px!important;color:#243752}
.prototype-itinerary-preview .preview-top-price-meta.traveller-mix small{font-size:10px!important;line-height:1.35;color:#8e9aad;white-space:normal}
.prototype-itinerary-preview .preview-top-price-amount{text-align:right!important}
.prototype-itinerary-preview .preview-top-price-amount span{display:block;margin-bottom:4px;font-size:10.5px;color:#76849a}
.prototype-itinerary-preview .preview-top-price-amount strong{font-size:31px!important;line-height:1;color:var(--preview-accent)!important;font-weight:900}

.prototype-itinerary-preview .prototype-itinerary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 16px}
.prototype-itinerary-preview .prototype-itinerary-head>div>span{color:var(--preview-accent)!important;font-size:10.5px;font-weight:900;letter-spacing:.1em}
.prototype-itinerary-preview .prototype-itinerary-head h2{margin:5px 0 3px!important;color:#142544;font-size:27px!important;line-height:1.15;letter-spacing:-.025em}
.prototype-itinerary-preview .prototype-itinerary-head p{margin:0;color:#75839a;font-size:13.5px;line-height:1.5}
.prototype-itinerary-preview .prototype-itinerary-head button{display:inline-flex;align-items:center;gap:7px;height:40px;min-height:40px;padding:0 13px;border:1px solid var(--preview-line);border-radius:10px;background:#fff;color:#315fbe;font-size:11.5px;font-weight:800}
.prototype-itinerary-preview .prototype-itinerary-head button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.prototype-itinerary-preview .prototype-itinerary-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}
.prototype-itinerary-preview .prototype-itinerary-grid.no-aside{grid-template-columns:1fr}
.prototype-itinerary-preview .preview-days{display:flex;flex-direction:column;gap:16px}
.prototype-itinerary-preview .modern-preview-day{overflow:hidden!important;border:1px solid var(--preview-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(40,54,84,.05)!important}
.prototype-itinerary-preview .modern-day-head{display:grid!important;grid-template-columns:82px 300px minmax(0,1fr) 30px!important;gap:18px!important;align-items:center!important;min-height:0!important;padding:14px 16px!important}
.prototype-itinerary-preview .modern-day-date{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:12px;border-right:1px solid var(--preview-line);text-align:center}
.prototype-itinerary-preview .modern-day-date>span{font-size:9px!important;color:#6c7fa7!important;font-weight:900;letter-spacing:.08em}
.prototype-itinerary-preview .modern-day-date>strong{margin:4px 0 5px!important;color:var(--preview-accent)!important;font-size:40px!important;line-height:1!important;font-weight:900}
.prototype-itinerary-preview .modern-day-date>small{font-size:10px!important;line-height:1.35!important;color:#66758d!important;font-weight:800!important}
.prototype-itinerary-preview .modern-day-gallery{width:300px!important;height:164px!important;display:grid!important;grid-template-columns:164px 64px!important;grid-template-rows:80px 80px!important;gap:5px!important;align-content:center!important;justify-content:start!important;overflow:visible!important}
.prototype-itinerary-preview .modern-day-gallery.single{grid-template-columns:164px!important;grid-template-rows:164px!important}
.prototype-itinerary-preview .modern-day-gallery.count-2,.prototype-itinerary-preview .modern-day-gallery.count-3{grid-template-columns:164px 80px!important;grid-template-rows:80px 80px!important}
.prototype-itinerary-preview .modern-day-gallery .preview-photo-button{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:11px!important;overflow:hidden!important;background:#e5ebf3}
.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main{grid-row:1/3!important;grid-column:1!important}
.prototype-itinerary-preview .modern-day-gallery.count-2 .preview-photo-button:nth-child(2){grid-column:2;grid-row:1/3}
.prototype-itinerary-preview .modern-day-gallery.count-3 .preview-photo-button:nth-child(2){grid-column:2;grid-row:1}
.prototype-itinerary-preview .modern-day-gallery.count-3 .preview-photo-button:nth-child(3){grid-column:2;grid-row:2}
.prototype-itinerary-preview .modern-day-gallery img,.prototype-itinerary-preview .modern-service-media img{width:100%;height:100%;display:block;object-fit:cover}
.prototype-itinerary-preview .preview-photo-button>span{display:grid!important;place-items:center!important;position:absolute!important;inset:0!important;background:rgba(7,18,38,.48)!important;color:#fff!important;font-size:18px!important;font-weight:900!important}
.prototype-itinerary-preview .modern-day-copy{align-self:center!important;min-width:0;padding:0!important}
.prototype-itinerary-preview .modern-day-kicker{color:var(--preview-accent)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.075em!important}
.prototype-itinerary-preview .modern-day-copy h2{margin:4px 0 6px!important;color:#10203d;font-size:23px!important;line-height:1.15!important;letter-spacing:-.02em!important}
.prototype-itinerary-preview .modern-day-copy p{margin:0!important;color:#56647d!important;font-size:13.5px!important;line-height:1.55!important;-webkit-line-clamp:3!important}
.prototype-itinerary-preview .modern-day-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.prototype-itinerary-preview .modern-day-tags span{padding:5px 8px!important;border-radius:999px!important;background:#f3f6fa!important;color:#6f7c91!important;font-size:10px!important}
.prototype-itinerary-preview .modern-day-toggle{width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#7182a3}
.prototype-itinerary-preview .modern-day-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.prototype-itinerary-preview .modern-preview-day.open .modern-day-toggle svg{transform:rotate(180deg)}

.prototype-itinerary-preview .modern-day-services{display:none!important;border-top:1px solid var(--preview-line);padding:2px 16px 10px 18px!important}
.prototype-itinerary-preview .modern-preview-day.open .modern-day-services{display:block!important}
.prototype-itinerary-preview .modern-service-row,.prototype-itinerary-preview .modern-service-row.no-media{display:grid!important;grid-template-columns:96px 42px 210px minmax(0,1fr) 96px!important;gap:15px!important;align-items:center!important;min-height:0!important;padding:17px 0!important;border-bottom:1px solid var(--preview-line)}
.prototype-itinerary-preview .modern-service-row:last-child{border-bottom:0}
.prototype-itinerary-preview .modern-service-time{align-self:center!important;text-align:right!important;padding-right:2px}
.prototype-itinerary-preview .modern-service-time strong{display:block;color:#162745;font-size:12px!important;line-height:1.2;text-align:right!important}
.prototype-itinerary-preview .modern-service-time span{display:block;margin-top:4px!important;color:#8290a5!important;font-size:9.5px!important;line-height:1.25;text-align:right!important}
.prototype-itinerary-preview .modern-service-track{position:relative;align-self:stretch;display:grid;place-items:center}
.prototype-itinerary-preview .modern-service-track:before{content:"";position:absolute;top:-18px;bottom:-18px;left:50%;width:1px;background:#dde5ef;transform:translateX(-50%)}
.prototype-itinerary-preview .modern-service-row:first-child .modern-service-track:before{top:50%}
.prototype-itinerary-preview .modern-service-row:last-child .modern-service-track:before{bottom:50%}
.prototype-itinerary-preview .modern-service-track>span{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#70839b;color:#fff;box-shadow:0 0 0 5px #fff,0 0 0 6px #dfe6ef}
.prototype-itinerary-preview .modern-service-track>span svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .modern-service-media,.prototype-itinerary-preview .modern-service-media-placeholder{width:210px!important;min-width:210px!important}
.prototype-itinerary-preview .modern-service-media{height:128px!important;display:grid!important;grid-template-columns:128px 61px!important;grid-template-rows:61px 61px!important;gap:6px!important;align-content:center!important;justify-content:start!important}
.prototype-itinerary-preview .modern-service-media.count-1{grid-template-columns:128px!important;grid-template-rows:128px!important}
.prototype-itinerary-preview .modern-service-media.count-2,.prototype-itinerary-preview .modern-service-media.count-3{grid-template-columns:128px 61px!important;grid-template-rows:61px 61px!important}
.prototype-itinerary-preview .modern-service-media .preview-photo-button{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:10px!important;overflow:hidden!important;background:#e5ebf3}
.prototype-itinerary-preview .modern-service-media .service-main{grid-column:1!important;grid-row:1/3!important}
.prototype-itinerary-preview .modern-service-media.count-2 .preview-photo-button:nth-child(2){grid-column:2;grid-row:1/3}
.prototype-itinerary-preview .modern-service-media.count-3 .preview-photo-button:nth-child(2){grid-column:2;grid-row:1}
.prototype-itinerary-preview .modern-service-media.count-3 .preview-photo-button:nth-child(3){grid-column:2;grid-row:2}
.prototype-itinerary-preview .modern-service-media-placeholder{height:1px!important;visibility:hidden!important}
.prototype-itinerary-preview .modern-service-copy{align-self:center!important;min-width:0}
.prototype-itinerary-preview .modern-service-copy h3{margin:0 0 5px!important;color:#10203d;font-size:17px!important;line-height:1.28!important;letter-spacing:-.012em}
.prototype-itinerary-preview .modern-service-copy p{margin:0!important;color:#56647d!important;font-size:12.5px!important;line-height:1.52!important;-webkit-line-clamp:3!important}
.prototype-itinerary-preview .modern-service-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.prototype-itinerary-preview .modern-service-facts span{padding:4px 7px!important;border-radius:999px!important;background:#f3f6fa!important;color:#718096!important;font-size:9px!important}
.prototype-itinerary-preview .modern-service-type{justify-self:center!important;align-self:center!important;min-width:74px!important;max-width:96px!important;min-height:27px!important;padding:5px 8px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:800!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
.prototype-itinerary-preview .modern-service-row[data-service-type="transportation"] .modern-service-track>span{background:#35b66d}.prototype-itinerary-preview .modern-service-row[data-service-type="transportation"] .modern-service-type{background:#e5f7ec;color:#238050}
.prototype-itinerary-preview .modern-service-row[data-service-type="activity"] .modern-service-track>span{background:#7a63ef}.prototype-itinerary-preview .modern-service-row[data-service-type="activity"] .modern-service-type{background:#f0edff;color:#654fd1}
.prototype-itinerary-preview .modern-service-row[data-service-type="food_drink"] .modern-service-track>span{background:#f09b2e}.prototype-itinerary-preview .modern-service-row[data-service-type="food_drink"] .modern-service-type{background:#fff2df;color:#c06f0a}
.prototype-itinerary-preview .modern-service-row[data-service-type="lodging"] .modern-service-track>span{background:#4f8df5}.prototype-itinerary-preview .modern-service-row[data-service-type="lodging"] .modern-service-type{background:#eaf2ff;color:#356fc9}
.prototype-itinerary-preview .modern-service-row[data-service-type="flight"] .modern-service-track>span{background:#2ca7c7}.prototype-itinerary-preview .modern-service-row[data-service-type="flight"] .modern-service-type{background:#e5f7fb;color:#16788f}
.prototype-itinerary-preview .modern-service-row[data-service-type="cruise"] .modern-service-track>span{background:#2fa699}.prototype-itinerary-preview .modern-service-row[data-service-type="cruise"] .modern-service-type{background:#e5f6f3;color:#217b73}
.prototype-itinerary-preview .modern-service-row[data-service-type="info"] .modern-service-type,.prototype-itinerary-preview .modern-service-row[data-service-type="note"] .modern-service-type,.prototype-itinerary-preview .modern-service-row[data-service-type="free_time"] .modern-service-type{background:#eef2f6;color:#53657c}

.prototype-itinerary-preview .prototype-itinerary-aside{position:sticky;top:18px;display:flex;flex-direction:column;gap:16px}
.prototype-itinerary-preview .prototype-itinerary-aside[hidden]{display:none!important}
.prototype-itinerary-preview .prototype-note-card{padding:18px;border:1px solid var(--preview-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(40,54,84,.05)}
.prototype-itinerary-preview .prototype-side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.prototype-itinerary-preview .prototype-side-head h3{display:flex;align-items:center;gap:8px;margin:0;color:#172845;font-size:17px}
.prototype-itinerary-preview .prototype-side-head h3 svg{width:18px;height:18px;fill:none;stroke:var(--preview-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .prototype-side-head>button{min-width:31px;height:31px;border:1px solid var(--preview-line);border-radius:9px;background:#fff;color:var(--preview-accent);font-size:11px;font-weight:800}
.prototype-itinerary-preview .prototype-note-text{padding:13px 14px;border:1px solid var(--preview-line);border-radius:12px;background:#fbfcfe;color:#4f5d76;font-size:13px;line-height:1.58;white-space:pre-wrap}
.prototype-itinerary-preview .prototype-note-author{display:flex;align-items:center;gap:10px;margin-top:14px;color:#6f7b90}
.prototype-itinerary-preview .prototype-note-author .preview-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#e9ecff;color:#5d66d7;font-size:10px;font-weight:900;line-height:1}
.prototype-itinerary-preview .prototype-note-author div{display:grid;gap:2px}.prototype-itinerary-preview .prototype-note-author strong{font-size:11.5px;color:#4d5c74}.prototype-itinerary-preview .prototype-note-author small{font-size:10px;color:#8b96a7}
.prototype-itinerary-preview .prototype-view-notes{width:100%;height:38px;margin-top:14px;border:1px solid #d7deea;border-radius:10px;background:#fff;color:#43536e;font-size:11px;font-weight:800}

.prototype-itinerary-preview .preview-bottom-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-top:18px!important;border:1px solid var(--preview-line)!important;border-radius:17px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(40,54,84,.04)}
.prototype-itinerary-preview .bottom-summary-item{display:flex!important;align-items:center!important;gap:11px!important;min-width:0;padding:15px 17px!important;border-right:1px solid var(--preview-line)!important}
.prototype-itinerary-preview .bottom-summary-item:last-child{border-right:0!important}
.prototype-itinerary-preview .bottom-summary-icon{width:38px!important;height:38px!important;flex:0 0 38px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#f1f5fb!important;color:var(--preview-accent)!important;font-size:11px!important;font-weight:900!important;line-height:1!important}
.prototype-itinerary-preview .bottom-summary-icon.traveller{background:#ececff!important;color:#5f64d8!important}
.prototype-itinerary-preview .bottom-summary-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prototype-itinerary-preview .bottom-summary-item>div{min-width:0;display:grid;gap:2px}.prototype-itinerary-preview .bottom-summary-item small{font-size:9.5px!important;color:#8a96a8!important}.prototype-itinerary-preview .bottom-summary-item strong{font-size:12.5px!important;color:#20324f!important;white-space:normal!important}.prototype-itinerary-preview .bottom-summary-item span,.prototype-itinerary-preview .bottom-summary-item a{font-size:10px!important;line-height:1.4;color:#748197!important}

/* Keep all non-itinerary tabs at website scale. */
.prototype-itinerary-preview .preview-section-head{margin-bottom:24px!important}.prototype-itinerary-preview .preview-section-head>div>span{font-size:10.5px!important;letter-spacing:.1em!important;color:#7b8ba4!important}.prototype-itinerary-preview .preview-section-head h2{margin:6px 0!important;font-size:29px!important;color:#142544!important}.prototype-itinerary-preview .preview-section-head p{max-width:920px;font-size:14px!important;line-height:1.55!important;color:#748299!important}
.prototype-itinerary-preview .preview-policy-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}.prototype-itinerary-preview .preview-policy-card{padding:24px 28px!important;border-radius:17px!important}.prototype-itinerary-preview .preview-policy-card-head>span{font-size:18px!important}.prototype-itinerary-preview .preview-policy-card-head>small{font-size:12px!important}.prototype-itinerary-preview .preview-policy-rich,.prototype-itinerary-preview .preview-policy-rich li{font-size:14.5px!important;line-height:1.72!important}
.prototype-itinerary-preview .preview-policy-rich ul,.prototype-itinerary-preview .proposal-rich-policy ul{list-style:none!important;margin:6px 0 0!important;padding:0!important;display:grid!important;gap:10px!important}.prototype-itinerary-preview .preview-policy-rich ul>li,.prototype-itinerary-preview .proposal-rich-policy ul>li{position:relative!important;padding-left:27px!important;margin:0!important}.prototype-itinerary-preview .preview-policy-rich ul>li:before,.prototype-itinerary-preview .proposal-rich-policy ul>li:before{content:""!important;position:absolute!important;left:5px!important;top:.72em!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--preview-accent)!important;transform:translateY(-50%)}
.prototype-itinerary-preview .preview-contact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;width:100%!important;max-width:none!important}.prototype-itinerary-preview .preview-person-card{min-height:280px!important;padding:25px!important;border-radius:17px!important}.prototype-itinerary-preview .preview-person-card-head{gap:15px!important}.prototype-itinerary-preview .preview-person-card-head .preview-avatar.large{width:64px!important;height:64px!important;flex:0 0 64px!important;display:grid!important;place-items:center!important;border-radius:50%!important;overflow:hidden!important;line-height:1!important;padding:0!important;margin:0!important}.prototype-itinerary-preview .preview-person-card-head h3{font-size:21px!important}.prototype-itinerary-preview .preview-person-card dd{font-size:14px!important}

@media(max-width:1180px){
  .prototype-itinerary-preview .prototype-hero-inner{padding-left:28px;padding-right:28px}.prototype-itinerary-preview .preview-back-link{left:28px!important}.prototype-itinerary-preview .preview-hero-brand,.prototype-itinerary-preview .preview-hero-actions{right:28px!important}
  .prototype-itinerary-preview .prototype-itinerary-grid{grid-template-columns:1fr}.prototype-itinerary-preview .prototype-itinerary-aside{position:static;display:block}.prototype-itinerary-preview .prototype-note-card{max-width:none}
  .prototype-itinerary-preview .modern-day-head{grid-template-columns:74px 270px minmax(0,1fr) 28px!important;gap:15px!important}.prototype-itinerary-preview .modern-day-gallery{width:270px!important;grid-template-columns:148px 57px!important;grid-template-rows:72px 72px!important;height:148px!important}.prototype-itinerary-preview .modern-day-gallery.single{grid-template-columns:148px!important;grid-template-rows:148px!important}.prototype-itinerary-preview .modern-day-gallery.count-2,.prototype-itinerary-preview .modern-day-gallery.count-3{grid-template-columns:148px 72px!important;grid-template-rows:72px 72px!important}
  .prototype-itinerary-preview .modern-service-row,.prototype-itinerary-preview .modern-service-row.no-media{grid-template-columns:82px 38px 190px minmax(0,1fr)!important;gap:12px!important}.prototype-itinerary-preview .modern-service-type{display:none!important}.prototype-itinerary-preview .modern-service-media,.prototype-itinerary-preview .modern-service-media-placeholder{width:190px!important;min-width:190px!important}.prototype-itinerary-preview .modern-service-media{grid-template-columns:118px 54px!important;grid-template-rows:54px 54px!important;height:118px!important}.prototype-itinerary-preview .modern-service-media.count-1{grid-template-columns:118px!important;grid-template-rows:118px!important}.prototype-itinerary-preview .modern-service-media.count-2,.prototype-itinerary-preview .modern-service-media.count-3{grid-template-columns:118px 54px!important;grid-template-rows:54px 54px!important}
  .prototype-itinerary-preview .preview-top-price{grid-template-columns:1fr 1.2fr}.prototype-itinerary-preview .preview-top-price-amount{grid-column:1/-1;text-align:left!important;border-top:1px solid #edf1f5;padding-top:14px}
}
@media(max-width:820px){
  .prototype-itinerary-preview .prototype-preview-hero{min-height:470px}.prototype-itinerary-preview .prototype-hero-inner{min-height:470px;padding:24px 18px 42px}.prototype-itinerary-preview .preview-back-link{left:18px!important;top:20px!important}.prototype-itinerary-preview .preview-hero-brand{right:18px!important;top:18px!important}.prototype-itinerary-preview .preview-hero-brand .preview-brand-logo{height:55px;max-width:124px}.prototype-itinerary-preview .preview-hero-actions{left:18px!important;right:18px!important;top:88px!important;justify-content:flex-end!important}.prototype-itinerary-preview .preview-hero-actions button{height:44px;font-size:12.5px;padding:0 13px}.prototype-itinerary-preview .preview-hero-copy{width:100%!important;max-width:none!important;padding-top:150px!important}.prototype-itinerary-preview .preview-hero-copy h1{font-size:38px!important}
  .prototype-itinerary-preview .prototype-preview-shell{width:calc(100% - 20px)!important;margin-top:-20px!important}.prototype-itinerary-preview .prototype-preview-surface{border-radius:21px}.prototype-itinerary-preview .prototype-preview-tabs{padding:0 9px!important}.prototype-itinerary-preview .prototype-preview-tabs button{height:62px!important;padding:0 12px!important;font-size:12.5px!important}.prototype-itinerary-preview .preview-panel{padding:20px 14px 26px!important}
  .prototype-itinerary-preview .preview-top-price{grid-template-columns:1fr!important;gap:14px!important}.prototype-itinerary-preview .preview-top-price-meta.traveller-mix{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prototype-itinerary-preview .preview-top-price-amount{grid-column:auto!important;border-top:0;padding-top:0}
  .prototype-itinerary-preview .prototype-itinerary-head{align-items:flex-start;flex-direction:column}.prototype-itinerary-preview .prototype-itinerary-head button{width:100%;justify-content:center}
  .prototype-itinerary-preview .modern-day-head{grid-template-columns:58px minmax(0,1fr) 28px!important;gap:10px!important;padding:12px!important}.prototype-itinerary-preview .modern-day-date{grid-row:1/3}.prototype-itinerary-preview .modern-day-gallery{grid-column:2/4;grid-row:1;width:100%!important;height:170px!important;grid-template-columns:170px 80px!important;grid-template-rows:82px 82px!important}.prototype-itinerary-preview .modern-day-gallery.single{grid-template-columns:170px!important;grid-template-rows:170px!important}.prototype-itinerary-preview .modern-day-gallery.count-2,.prototype-itinerary-preview .modern-day-gallery.count-3{grid-template-columns:170px 80px!important;grid-template-rows:82px 82px!important}.prototype-itinerary-preview .modern-day-copy{grid-column:2/3;grid-row:2}.prototype-itinerary-preview .modern-day-toggle{grid-column:3;grid-row:2;align-self:start}.prototype-itinerary-preview .modern-day-copy h2{font-size:21px!important}.prototype-itinerary-preview .modern-day-copy p{font-size:13px!important}
  .prototype-itinerary-preview .modern-day-services{padding:4px 10px 12px!important}.prototype-itinerary-preview .modern-service-row,.prototype-itinerary-preview .modern-service-row.no-media{grid-template-columns:64px 34px minmax(0,1fr)!important;gap:9px!important;padding:15px 0!important}.prototype-itinerary-preview .modern-service-time{grid-column:1;grid-row:1/4}.prototype-itinerary-preview .modern-service-track{grid-column:2;grid-row:1/4}.prototype-itinerary-preview .modern-service-media,.prototype-itinerary-preview .modern-service-media-placeholder{grid-column:3;grid-row:1;width:100%!important;min-width:0!important}.prototype-itinerary-preview .modern-service-media-placeholder{display:none}.prototype-itinerary-preview .modern-service-media{height:140px!important;grid-template-columns:140px 65px!important;grid-template-rows:67px 67px!important}.prototype-itinerary-preview .modern-service-media.count-1{grid-template-columns:140px!important;grid-template-rows:140px!important}.prototype-itinerary-preview .modern-service-media.count-2,.prototype-itinerary-preview .modern-service-media.count-3{grid-template-columns:140px 65px!important;grid-template-rows:67px 67px!important}.prototype-itinerary-preview .modern-service-copy{grid-column:3;grid-row:2}.prototype-itinerary-preview .preview-bottom-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prototype-itinerary-preview .bottom-summary-item:nth-child(2){border-right:0!important}.prototype-itinerary-preview .bottom-summary-item:nth-child(-n+2){border-bottom:1px solid var(--preview-line)!important}
  .prototype-itinerary-preview .preview-contact-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .prototype-itinerary-preview .prototype-preview-hero{min-height:500px}.prototype-itinerary-preview .prototype-hero-inner{min-height:500px}.prototype-itinerary-preview .preview-hero-actions{top:84px!important;display:grid!important;grid-template-columns:1fr 1fr;width:calc(100% - 36px)}.prototype-itinerary-preview .preview-hero-actions button{width:100%;padding:0 8px}.prototype-itinerary-preview .preview-hero-copy{padding-top:155px!important}.prototype-itinerary-preview .preview-hero-copy h1{font-size:33px!important}.prototype-itinerary-preview #previewTripDates{gap:9px;font-size:12.5px!important}.prototype-itinerary-preview .preview-hero-chips span{min-height:34px!important;font-size:11px!important}
  .prototype-itinerary-preview .prototype-preview-shell{width:100%!important;margin:0!important}.prototype-itinerary-preview .prototype-preview-surface{border-radius:0}.prototype-itinerary-preview .prototype-preview-tabs{border-left:0!important;border-right:0!important}.prototype-itinerary-preview .preview-panel{padding:18px 10px 24px!important}
  .prototype-itinerary-preview .modern-day-head{grid-template-columns:50px minmax(0,1fr) 26px!important}.prototype-itinerary-preview .modern-day-gallery{height:145px!important;grid-template-columns:145px 68px!important;grid-template-rows:69px 69px!important}.prototype-itinerary-preview .modern-day-gallery.single{grid-template-columns:145px!important;grid-template-rows:145px!important}.prototype-itinerary-preview .modern-day-gallery.count-2,.prototype-itinerary-preview .modern-day-gallery.count-3{grid-template-columns:145px 68px!important;grid-template-rows:69px 69px!important}.prototype-itinerary-preview .modern-day-date>strong{font-size:34px!important}
  .prototype-itinerary-preview .modern-service-row,.prototype-itinerary-preview .modern-service-row.no-media{grid-template-columns:52px 30px minmax(0,1fr)!important;gap:7px!important}.prototype-itinerary-preview .modern-service-media{height:120px!important;grid-template-columns:120px 56px!important;grid-template-rows:57px 57px!important}.prototype-itinerary-preview .modern-service-media.count-1{grid-template-columns:120px!important;grid-template-rows:120px!important}.prototype-itinerary-preview .modern-service-media.count-2,.prototype-itinerary-preview .modern-service-media.count-3{grid-template-columns:120px 56px!important;grid-template-rows:57px 57px!important}.prototype-itinerary-preview .modern-service-copy h3{font-size:16px!important}.prototype-itinerary-preview .modern-service-copy p{font-size:12.5px!important}.prototype-itinerary-preview .preview-bottom-summary{grid-template-columns:1fr!important}.prototype-itinerary-preview .bottom-summary-item{border-right:0!important;border-bottom:1px solid var(--preview-line)!important}.prototype-itinerary-preview .bottom-summary-item:last-child{border-bottom:0!important}
}
.prototype-itinerary-preview .modern-day-gallery-placeholder{width:300px;height:164px;visibility:hidden}
@media(max-width:1180px){.prototype-itinerary-preview .modern-day-gallery-placeholder{width:270px;height:148px}}
@media(max-width:820px){.prototype-itinerary-preview .modern-day-gallery-placeholder{grid-column:2/4;grid-row:1;width:100%;height:1px;display:none}}

/* =========================================================
   Phase 12.3J — Preview hero true viewport breakout
   The preview page itself used the legacy .trip-preview-page max-width,
   which kept the otherwise full-width hero trapped inside a centered box.
   Keep the content surface constrained, but let the cover span the viewport.
   ========================================================= */
html:has(body.prototype-itinerary-preview),
body.trip-preview-page.prototype-itinerary-preview {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}
body.trip-preview-page.prototype-itinerary-preview .prototype-preview-hero {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
}
body.trip-preview-page.prototype-itinerary-preview .prototype-hero-inner {
  width: min(1460px, calc(100% - 48px)) !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.trip-preview-page.prototype-itinerary-preview .prototype-preview-shell {
  width: min(1460px, calc(100% - 36px)) !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 720px) {
  body.trip-preview-page.prototype-itinerary-preview .prototype-hero-inner {
    width: 100% !important;
  }
}

/* =========================================================
   Phase 12.3K — Preview hero controls, clean tab/price stack,
   single-card media + fixed text alignment
   ========================================================= */
@media (min-width: 821px) {
  body.prototype-itinerary-preview .prototype-hero-inner {
    --hero-edge: 42px;
    --hero-action-width: 168px;
  }
  body.prototype-itinerary-preview .preview-hero-brand {
    top: 24px !important;
    right: var(--hero-edge) !important;
    width: var(--hero-action-width) !important;
    justify-content: center !important;
  }
  body.prototype-itinerary-preview .preview-hero-brand .preview-brand-logo,
  body.prototype-itinerary-preview .preview-hero-brand .preview-brand-name {
    max-width: 168px !important;
    box-sizing: border-box !important;
  }
  body.prototype-itinerary-preview .preview-hero-actions {
    top: 108px !important;
    right: var(--hero-edge) !important;
    display: grid !important;
    grid-template-columns: var(--hero-action-width) var(--hero-action-width) !important;
    gap: 12px !important;
    width: auto !important;
  }
  body.prototype-itinerary-preview .preview-hero-actions button {
    width: var(--hero-action-width) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* The prototype surface starts directly with the tab bar. Legacy sticky rules
   previously left an empty band and could visually overlap the price card. */
body.prototype-itinerary-preview .prototype-preview-surface {
  padding-top: 0 !important;
}
body.prototype-itinerary-preview .prototype-preview-tabs,
body.prototype-itinerary-preview.live-trip-preview .prototype-preview-tabs {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: none !important;
  box-shadow: none !important;
}
body.prototype-itinerary-preview .prototype-preview-content {
  position: relative !important;
  z-index: 1 !important;
}
body.prototype-itinerary-preview .preview-panel[data-preview-panel="itinerary"] {
  padding-top: 26px !important;
}
body.prototype-itinerary-preview .preview-top-price {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}

/* Only one image is shown in the itinerary card. If more exist the same image
   carries a +N badge; the complete set remains available in the lightbox. */
body.prototype-itinerary-preview .modern-day-head {
  grid-template-columns: 82px 176px minmax(0,1fr) 30px !important;
  gap: 20px !important;
  align-items: start !important;
}
body.prototype-itinerary-preview .modern-day-gallery,
body.prototype-itinerary-preview .modern-day-gallery.single,
body.prototype-itinerary-preview .modern-day-gallery.count-2,
body.prototype-itinerary-preview .modern-day-gallery.count-3,
body.prototype-itinerary-preview .modern-day-gallery-placeholder {
  width: 176px !important;
  height: 176px !important;
  min-width: 176px !important;
  display: block !important;
}
body.prototype-itinerary-preview .modern-day-gallery-placeholder {
  visibility: hidden !important;
}
body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button,
body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main {
  width: 176px !important;
  height: 176px !important;
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  border-radius: 14px !important;
}
body.prototype-itinerary-preview .modern-day-copy {
  align-self: start !important;
  padding-top: 6px !important;
}
body.prototype-itinerary-preview .modern-day-toggle {
  margin-top: 8px !important;
}

body.prototype-itinerary-preview .modern-service-row,
body.prototype-itinerary-preview .modern-service-row.no-media,
body.prototype-itinerary-preview .modern-service-row.has-media {
  grid-template-columns: 100px 42px 142px minmax(0,1fr) 112px !important;
  gap: 18px !important;
  align-items: start !important;
}
body.prototype-itinerary-preview .modern-service-media,
body.prototype-itinerary-preview .modern-service-media.count-1,
body.prototype-itinerary-preview .modern-service-media.count-2,
body.prototype-itinerary-preview .modern-service-media.count-3,
body.prototype-itinerary-preview .modern-service-media-placeholder {
  width: 142px !important;
  min-width: 142px !important;
  height: 142px !important;
  display: block !important;
}
body.prototype-itinerary-preview .modern-service-media-placeholder {
  visibility: hidden !important;
}
body.prototype-itinerary-preview .modern-service-media .preview-photo-button,
body.prototype-itinerary-preview .modern-service-media .preview-photo-button.service-main {
  width: 142px !important;
  height: 142px !important;
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  border-radius: 13px !important;
}
body.prototype-itinerary-preview .modern-service-copy {
  align-self: start !important;
  padding-top: 4px !important;
}
body.prototype-itinerary-preview .modern-service-type {
  align-self: start !important;
  margin-top: 7px !important;
}
body.prototype-itinerary-preview .preview-photo-button > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  inset: auto 10px 10px auto !important;
  width: auto !important;
  min-width: 38px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(8,20,40,.76) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
}

@media (max-width: 1180px) and (min-width: 821px) {
  body.prototype-itinerary-preview .modern-day-head {
    grid-template-columns: 76px 156px minmax(0,1fr) 30px !important;
    gap: 16px !important;
  }
  body.prototype-itinerary-preview .modern-day-gallery,
  body.prototype-itinerary-preview .modern-day-gallery.single,
  body.prototype-itinerary-preview .modern-day-gallery-placeholder,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main {
    width: 156px !important;height: 156px !important;min-width: 156px !important;
  }
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media {
    grid-template-columns: 86px 38px 126px minmax(0,1fr) !important;
    gap: 14px !important;
  }
  body.prototype-itinerary-preview .modern-service-type { display:none !important; }
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-media.count-1,
  body.prototype-itinerary-preview .modern-service-media-placeholder,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button.service-main {
    width:126px !important;height:126px !important;min-width:126px !important;
  }
}

@media (max-width: 820px) {
  body.prototype-itinerary-preview .preview-hero-brand {
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
  }
  body.prototype-itinerary-preview .preview-hero-actions {
    top: 88px !important;
  }
  body.prototype-itinerary-preview .prototype-preview-tabs,
  body.prototype-itinerary-preview.live-trip-preview .prototype-preview-tabs {
    position: relative !important;
    top: auto !important;
  }
  body.prototype-itinerary-preview .modern-day-head {
    grid-template-columns: 58px 132px minmax(0,1fr) 28px !important;
    gap: 10px !important;
    align-items:start !important;
  }
  body.prototype-itinerary-preview .modern-day-date { grid-row:auto !important; }
  body.prototype-itinerary-preview .modern-day-gallery,
  body.prototype-itinerary-preview .modern-day-gallery.single,
  body.prototype-itinerary-preview .modern-day-gallery-placeholder,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main {
    grid-column:auto !important;grid-row:auto !important;width:132px !important;height:132px !important;min-width:132px !important;
  }
  body.prototype-itinerary-preview .modern-day-copy { grid-column:auto !important;grid-row:auto !important;padding-top:2px !important; }
  body.prototype-itinerary-preview .modern-day-toggle { grid-column:auto !important;grid-row:auto !important; }
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media {
    grid-template-columns: 62px 32px 108px minmax(0,1fr) !important;
    gap: 9px !important;
  }
  body.prototype-itinerary-preview .modern-service-time,
  body.prototype-itinerary-preview .modern-service-track,
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-copy { grid-column:auto !important;grid-row:auto !important; }
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-media.count-1,
  body.prototype-itinerary-preview .modern-service-media-placeholder,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button.service-main {
    width:108px !important;height:108px !important;min-width:108px !important;
  }
}

@media (max-width: 560px) {
  body.prototype-itinerary-preview .modern-day-head {
    grid-template-columns: 48px 102px minmax(0,1fr) 24px !important;
    gap: 8px !important;
  }
  body.prototype-itinerary-preview .modern-day-gallery,
  body.prototype-itinerary-preview .modern-day-gallery.single,
  body.prototype-itinerary-preview .modern-day-gallery-placeholder,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main {
    width:102px !important;height:102px !important;min-width:102px !important;
  }
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media {
    grid-template-columns: 50px 28px 88px minmax(0,1fr) !important;
    gap: 7px !important;
  }
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-media.count-1,
  body.prototype-itinerary-preview .modern-service-media-placeholder,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button.service-main {
    width:88px !important;height:88px !important;min-width:88px !important;
  }
}

/* =========================================================
   Phase 12.3L — Mobile itinerary polish, country-free labels,
   hero cleanup and tenant accent consistency
   ========================================================= */
body.prototype-itinerary-preview .preview-hero-brand{display:none!important}
body.prototype-itinerary-preview .preview-hero-actions{
  top:30px!important;
  right:max(28px,calc((100vw - 1460px)/2 + 42px))!important;
}
body.prototype-itinerary-preview .prototype-itinerary-head button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.prototype-itinerary-preview .prototype-preview-tabs button.active,
body.prototype-itinerary-preview .preview-top-price,
body.prototype-itinerary-preview .preview-top-price-copy>span,
body.prototype-itinerary-preview .preview-top-price-amount strong,
body.prototype-itinerary-preview .prototype-itinerary-head>div>span,
body.prototype-itinerary-preview .modern-day-date>strong,
body.prototype-itinerary-preview .modern-day-kicker,
body.prototype-itinerary-preview .preview-hero-copy h1 em,
body.prototype-itinerary-preview .bottom-summary-icon,
body.prototype-itinerary-preview .prototype-side-head h3 svg,
body.prototype-itinerary-preview .prototype-side-head>button{
  --phase-preview-accent:var(--preview-accent);
}
body.prototype-itinerary-preview .preview-mobile-extra-media{display:none}

@media (max-width:820px){
  body.prototype-itinerary-preview{
    overflow-x:hidden!important;
    background:#f4f7fb!important;
  }
  body.prototype-itinerary-preview .prototype-preview-hero{
    min-height:430px!important;
    background-position:center!important;
  }
  body.prototype-itinerary-preview .prototype-hero-inner{
    min-height:430px!important;
    width:100%!important;
    padding:20px 16px 34px!important;
  }
  body.prototype-itinerary-preview .preview-back-link{
    left:16px!important;
    top:16px!important;
    height:36px!important;
  }
  body.prototype-itinerary-preview .preview-hero-actions{
    left:16px!important;
    right:16px!important;
    top:68px!important;
    width:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  body.prototype-itinerary-preview .preview-hero-actions button{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 9px!important;
    font-size:12px!important;
  }
  body.prototype-itinerary-preview .preview-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:128px 0 0!important;
  }
  body.prototype-itinerary-preview .preview-hero-copy h1{
    margin-top:14px!important;
    font-size:34px!important;
    line-height:1.06!important;
  }
  body.prototype-itinerary-preview #previewTripDates{
    gap:10px!important;
    font-size:12px!important;
  }
  body.prototype-itinerary-preview .preview-hero-chips{
    gap:7px!important;
    margin-top:14px!important;
  }
  body.prototype-itinerary-preview .preview-hero-chips span{
    min-height:34px!important;
    padding:0 10px!important;
    font-size:10.5px!important;
  }

  body.prototype-itinerary-preview .prototype-preview-shell{
    width:100%!important;
    max-width:none!important;
    margin:-20px 0 0!important;
    border-radius:22px 22px 0 0!important;
    box-shadow:none!important;
  }
  body.prototype-itinerary-preview .prototype-preview-surface{
    border-radius:22px 22px 0 0!important;
    overflow:hidden!important;
  }
  body.prototype-itinerary-preview .prototype-preview-tabs{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:0 8px!important;
    gap:0!important;
  }
  body.prototype-itinerary-preview .prototype-preview-tabs::-webkit-scrollbar{display:none!important}
  body.prototype-itinerary-preview .prototype-preview-tabs button{
    flex:0 0 auto!important;
    min-width:max-content!important;
    height:58px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
  body.prototype-itinerary-preview .preview-panel{
    padding:18px 10px 28px!important;
  }
  body.prototype-itinerary-preview .preview-top-price{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:22px!important;
    padding:16px!important;
  }
  body.prototype-itinerary-preview .preview-top-price-meta.traveller-mix{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }
  body.prototype-itinerary-preview .preview-top-price-amount{
    text-align:left!important;
    border-top:1px dashed #dfe6ef!important;
    padding-top:13px!important;
  }
  body.prototype-itinerary-preview .preview-top-price-amount strong{font-size:28px!important}
  body.prototype-itinerary-preview .prototype-itinerary-head{
    gap:12px!important;
    margin-bottom:16px!important;
  }
  body.prototype-itinerary-preview .prototype-itinerary-head h2{font-size:24px!important}
  body.prototype-itinerary-preview .prototype-itinerary-head p{font-size:13px!important}
  body.prototype-itinerary-preview .prototype-itinerary-head button{
    width:100%!important;
    min-height:42px!important;
  }

  /* Day mobile card: one full-width lead image, then day content, then extra thumbnails. */
  body.prototype-itinerary-preview .modern-preview-day{
    border-radius:16px!important;
    overflow:hidden!important;
  }
  body.prototype-itinerary-preview .modern-day-head{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 30px!important;
    gap:10px!important;
    padding:12px!important;
    min-height:0!important;
  }
  body.prototype-itinerary-preview .modern-day-gallery,
  body.prototype-itinerary-preview .modern-day-gallery.single,
  body.prototype-itinerary-preview .modern-day-gallery.count-2,
  body.prototype-itinerary-preview .modern-day-gallery.count-3{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    margin:0!important;
    display:block!important;
  }
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button,
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button.main{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    border-radius:13px!important;
  }
  body.prototype-itinerary-preview .modern-day-gallery-placeholder{
    display:none!important;
  }
  body.prototype-itinerary-preview .modern-day-date{
    grid-column:1!important;
    grid-row:2!important;
    align-self:start!important;
    padding-top:6px!important;
  }
  body.prototype-itinerary-preview .modern-day-copy{
    grid-column:2!important;
    grid-row:2!important;
    padding:4px 0 0!important;
    min-width:0!important;
  }
  body.prototype-itinerary-preview .modern-day-copy h2{font-size:20px!important}
  body.prototype-itinerary-preview .modern-day-copy p{
    font-size:13.5px!important;
    line-height:1.55!important;
    -webkit-line-clamp:unset!important;
    display:block!important;
  }
  body.prototype-itinerary-preview .modern-day-toggle{
    grid-column:3!important;
    grid-row:2!important;
    margin-top:5px!important;
    justify-self:end!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    padding:2px 0 2px!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media::-webkit-scrollbar{display:none!important}
  body.prototype-itinerary-preview .day-mobile-thumbs{
    grid-column:2/-1!important;
    grid-row:3!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button{
    flex:0 0 74px!important;
    width:74px!important;
    height:74px!important;
    min-width:74px!important;
    border-radius:10px!important;
  }
  body.prototype-itinerary-preview .modern-day-gallery .preview-photo-button>span,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button>span{
    display:none!important;
  }

  /* Service mobile row: full-width lead image, then timeline + text, extras below text. */
  body.prototype-itinerary-preview .modern-day-services{
    padding:0 10px 10px!important;
  }
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media{
    display:grid!important;
    grid-template-columns:54px 34px minmax(0,1fr)!important;
    gap:8px!important;
    padding:14px 0!important;
    align-items:start!important;
  }
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-media.count-1,
  body.prototype-itinerary-preview .modern-service-media.count-2,
  body.prototype-itinerary-preview .modern-service-media.count-3{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    margin:0 0 4px!important;
    display:block!important;
  }
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button,
  body.prototype-itinerary-preview .modern-service-media .preview-photo-button.service-main{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    border-radius:12px!important;
  }
  body.prototype-itinerary-preview .modern-service-media-placeholder{display:none!important}
  body.prototype-itinerary-preview .modern-service-time{
    grid-column:1!important;
    grid-row:2!important;
    text-align:center!important;
    padding-top:5px!important;
  }
  body.prototype-itinerary-preview .modern-service-track{
    grid-column:2!important;
    grid-row:2/4!important;
  }
  body.prototype-itinerary-preview .modern-service-copy{
    grid-column:3!important;
    grid-row:2!important;
    min-width:0!important;
    padding:0!important;
  }
  body.prototype-itinerary-preview .modern-service-copy h3{font-size:16px!important;line-height:1.3!important}
  body.prototype-itinerary-preview .modern-service-copy p{
    font-size:13px!important;
    line-height:1.55!important;
    display:block!important;
    -webkit-line-clamp:unset!important;
  }
  body.prototype-itinerary-preview .service-mobile-thumbs{
    grid-column:3!important;
    grid-row:3!important;
    margin-top:7px!important;
  }
  body.prototype-itinerary-preview .modern-service-type{display:none!important}

  body.prototype-itinerary-preview .prototype-itinerary-grid{
    grid-template-columns:1fr!important;
  }
  body.prototype-itinerary-preview .prototype-itinerary-aside{
    position:static!important;
  }
  body.prototype-itinerary-preview .preview-bottom-summary{
    grid-template-columns:1fr!important;
  }
  body.prototype-itinerary-preview .preview-contact-grid,
  body.prototype-itinerary-preview .preview-contact-details{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:480px){
  body.prototype-itinerary-preview .preview-hero-copy h1{font-size:30px!important}
  body.prototype-itinerary-preview .preview-hero-actions button{font-size:11px!important}
  body.prototype-itinerary-preview .preview-top-price-meta.traveller-mix{grid-template-columns:1fr 1fr!important}
  body.prototype-itinerary-preview .modern-day-head{grid-template-columns:48px minmax(0,1fr) 28px!important}
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media{grid-template-columns:48px 30px minmax(0,1fr)!important}
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button{flex-basis:68px!important;width:68px!important;height:68px!important;min-width:68px!important}
}

/* =========================================================
   Phase 12.3M — hero action alignment, tenant accent binding,
   two-card price + trip summary block
   ========================================================= */
body.prototype-itinerary-preview{
  /* JS replaces these from the tenant setting after bootstrap. */
  --preview-accent:#F5B800;
  --preview-accent-rgb:245,184,0;
  --preview-accent-contrast:#13213A;
}

/* Hero controls sit at the lower-right edge of the same 1460px grid as the
   rounded content surface. The cover photo itself remains full-bleed. */
@media (min-width:821px){
  body.prototype-itinerary-preview .prototype-hero-inner{
    width:min(1460px,calc(100% - 36px))!important;
    max-width:1460px!important;
  }
  body.prototype-itinerary-preview .preview-hero-actions{
    top:auto!important;
    bottom:50px!important;
    right:0!important;
    left:auto!important;
    display:flex!important;
    width:auto!important;
    gap:10px!important;
    align-items:center!important;
  }
  body.prototype-itinerary-preview .preview-hero-actions button{
    width:auto!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 15px!important;
    border-radius:10px!important;
    font-size:12.5px!important;
    gap:7px!important;
  }
  body.prototype-itinerary-preview .preview-hero-actions button svg{
    width:16px!important;
    height:16px!important;
  }
}

/* The top itinerary summary is now a 50/50 premium card pair. */
body.prototype-itinerary-preview .preview-top-price{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  margin:0 0 30px!important;
}
body.prototype-itinerary-preview .preview-top-price.no-price{
  grid-template-columns:1fr!important;
}
body.prototype-itinerary-preview .preview-price-summary-card,
body.prototype-itinerary-preview .preview-trip-summary-card{
  position:relative;
  min-width:0;
  min-height:230px;
  border:1px solid #dfe6ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,50,83,.06);
  overflow:hidden;
}
body.prototype-itinerary-preview .preview-price-summary-card{
  border-left:5px solid var(--preview-accent);
  padding:26px 28px;
}
body.prototype-itinerary-preview .preview-summary-eyebrow{
  margin-bottom:16px;
  color:var(--preview-accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
body.prototype-itinerary-preview .preview-price-card-body{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);
  gap:26px;
  height:calc(100% - 24px);
  align-items:center;
}
body.prototype-itinerary-preview .preview-price-main h3{
  margin:0 0 5px;
  color:#11203d;
  font-size:22px;
  line-height:1.15;
}
body.prototype-itinerary-preview .preview-price-main p{
  margin:0 0 25px;
  color:#74839a;
  font-size:13px;
  line-height:1.45;
}
body.prototype-itinerary-preview .preview-price-main>span{
  display:block;
  margin-bottom:6px;
  color:#64738b;
  font-size:11px;
  font-weight:700;
}
body.prototype-itinerary-preview .preview-price-main>strong{
  display:block;
  color:var(--preview-accent);
  font-size:38px;
  line-height:1;
  letter-spacing:-.03em;
  white-space:nowrap;
}
body.prototype-itinerary-preview .preview-price-facts{
  display:grid;
  gap:14px;
  padding-left:24px;
  border-left:1px solid #e6ebf2;
}
body.prototype-itinerary-preview .preview-price-facts>div{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
}
body.prototype-itinerary-preview .preview-price-facts svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#5e6f89;
  stroke-width:1.7;
}
body.prototype-itinerary-preview .preview-price-facts span{
  display:grid;
  gap:2px;
  color:#77859a;
  font-size:10.5px;
}
body.prototype-itinerary-preview .preview-price-facts strong{
  color:#172743;
  font-size:14px;
  font-weight:800;
}

body.prototype-itinerary-preview .preview-trip-summary-card{
  padding:20px 24px 18px;
  display:flex;
  flex-direction:column;
}
body.prototype-itinerary-preview .preview-trip-person{
  display:flex;
  align-items:center;
  gap:15px;
  padding-bottom:15px;
  border-bottom:1px solid #e7ebf1;
}
body.prototype-itinerary-preview .preview-summary-avatar{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(var(--preview-accent-rgb),.16);
  color:var(--preview-accent);
  font-size:20px;
  font-weight:900;
}
body.prototype-itinerary-preview .preview-trip-person small,
body.prototype-itinerary-preview .preview-trip-summary-grid small{
  display:block;
  color:#8290a5;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.05em;
}
body.prototype-itinerary-preview .preview-trip-person h3{
  margin:2px 0 2px;
  color:#10203e;
  font-size:21px;
  line-height:1.15;
}
body.prototype-itinerary-preview .preview-trip-person p{
  margin:0;
  color:#66758d;
  font-size:12px;
  line-height:1.4;
}
body.prototype-itinerary-preview .preview-trip-summary-grid{
  display:grid;
  grid-template-columns:1.45fr .85fr .75fr;
  gap:0;
  padding:16px 0 14px;
}
body.prototype-itinerary-preview .preview-trip-summary-grid>div{
  min-width:0;
  padding:0 16px;
  border-left:1px solid #e7ebf1;
}
body.prototype-itinerary-preview .preview-trip-summary-grid>div:first-child{
  padding-left:0;
  border-left:0;
}
body.prototype-itinerary-preview .preview-trip-summary-grid>div:last-child{
  padding-right:0;
}
body.prototype-itinerary-preview .preview-trip-summary-grid strong{
  display:block;
  margin-top:4px;
  color:#142441;
  font-size:13px;
  line-height:1.35;
}
body.prototype-itinerary-preview .preview-trip-summary-grid span{
  display:block;
  margin-top:3px;
  color:#718097;
  font-size:10.5px;
  line-height:1.4;
}
body.prototype-itinerary-preview .preview-summary-contact{
  margin-top:auto;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--preview-accent);
  border-radius:9px;
  color:var(--preview-accent);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  transition:.18s ease;
}
body.prototype-itinerary-preview .preview-summary-contact:hover{
  background:rgba(var(--preview-accent-rgb),.08);
}
body.prototype-itinerary-preview .preview-summary-contact svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
body.prototype-itinerary-preview .preview-bottom-summary{display:none!important}

/* Ensure every accent that previously looked yellow follows Company & Branding. */
body.prototype-itinerary-preview .preview-download-btn,
body.prototype-itinerary-preview .preview-hero-chips .preview-status-chip.proposal{
  background:var(--preview-accent)!important;
  border-color:var(--preview-accent)!important;
  color:var(--preview-accent-contrast)!important;
}
body.prototype-itinerary-preview .prototype-preview-tabs button.active,
body.prototype-itinerary-preview .prototype-itinerary-head>div>span,
body.prototype-itinerary-preview .modern-day-date>strong,
body.prototype-itinerary-preview .modern-day-kicker,
body.prototype-itinerary-preview .preview-hero-copy h1 em{
  color:var(--preview-accent)!important;
}
body.prototype-itinerary-preview .prototype-preview-tabs button.active{
  border-bottom-color:var(--preview-accent)!important;
}

@media (max-width:1100px){
  body.prototype-itinerary-preview .preview-top-price{
    grid-template-columns:1fr!important;
  }
  body.prototype-itinerary-preview .preview-price-summary-card,
  body.prototype-itinerary-preview .preview-trip-summary-card{
    min-height:0;
  }
}
@media (max-width:820px){
  body.prototype-itinerary-preview .preview-top-price{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:0!important;
    margin-bottom:22px!important;
  }
  body.prototype-itinerary-preview .preview-price-summary-card{
    padding:20px 18px;
  }
  body.prototype-itinerary-preview .preview-price-card-body{
    grid-template-columns:1fr;
    gap:18px;
  }
  body.prototype-itinerary-preview .preview-price-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:15px 0 0;
    border-left:0;
    border-top:1px solid #e6ebf2;
  }
  body.prototype-itinerary-preview .preview-price-facts>div{
    grid-template-columns:1fr;
    gap:5px;
  }
  body.prototype-itinerary-preview .preview-price-main>strong{font-size:32px}
  body.prototype-itinerary-preview .preview-trip-summary-card{padding:18px}
  body.prototype-itinerary-preview .preview-trip-summary-grid{
    grid-template-columns:1fr;
    padding:14px 0 10px;
  }
  body.prototype-itinerary-preview .preview-trip-summary-grid>div,
  body.prototype-itinerary-preview .preview-trip-summary-grid>div:first-child,
  body.prototype-itinerary-preview .preview-trip-summary-grid>div:last-child{
    padding:9px 0;
    border-left:0;
    border-top:1px solid #edf0f4;
  }
  body.prototype-itinerary-preview .preview-trip-summary-grid>div:first-child{border-top:0}
}


/* =========================================================
   Phase 12.3N — mobile day/service flow + tab ordering polish
   ========================================================= */
body.prototype-itinerary-preview .modern-day-kicker-mobile-date,
body.prototype-itinerary-preview .modern-service-mobile-time{
  display:none;
}

/* Keep Package Policies immediately after Itinerary in the visual tab flow.
   The template order is authoritative; this just keeps the mobile scroller tidy. */
body.prototype-itinerary-preview .prototype-preview-tabs{
  align-items:stretch;
}

@media (max-width:820px){
  /* Mobile day card: image, then one clean content column. The legacy left date
     rail is removed and its information is folded into the kicker. */
  body.prototype-itinerary-preview .modern-day-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 30px!important;
    grid-auto-rows:auto!important;
    gap:10px 8px!important;
    padding:12px!important;
    min-width:0!important;
  }
  body.prototype-itinerary-preview .modern-day-date{
    display:none!important;
  }
  body.prototype-itinerary-preview .modern-day-gallery,
  body.prototype-itinerary-preview .modern-day-gallery.single,
  body.prototype-itinerary-preview .modern-day-gallery.count-2,
  body.prototype-itinerary-preview .modern-day-gallery.count-3{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    min-width:0!important;
    margin:0!important;
  }
  body.prototype-itinerary-preview .modern-day-copy{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding:2px 0 0!important;
  }
  body.prototype-itinerary-preview .modern-day-toggle{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    justify-self:end!important;
    margin-top:1px!important;
  }
  body.prototype-itinerary-preview .modern-day-kicker{
    display:block!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.045em!important;
    margin-bottom:6px!important;
  }
  body.prototype-itinerary-preview .modern-day-kicker-mobile-date{
    display:inline!important;
  }

  /* Extra day photos live in a dedicated, contained strip after the day text.
     Nothing overlaps or bleeds outside the card. */
  body.prototype-itinerary-preview .day-mobile-thumbs{
    grid-column:1/-1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    padding:10px 0 0!important;
    border-top:1px solid var(--preview-line,#e3e9f2)!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    box-sizing:border-box!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media::-webkit-scrollbar{
    display:none!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button{
    flex:0 0 70px!important;
    width:70px!important;
    height:70px!important;
    min-width:70px!important;
    max-width:70px!important;
    aspect-ratio:1/1!important;
    border-radius:10px!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-shadow:none!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }

  /* Mobile service: remove the desktop timeline rail completely. Only the
     actual time (when Show Time is enabled) appears above the service title. */
  body.prototype-itinerary-preview .modern-day-services{
    padding:0 12px 12px!important;
  }
  body.prototype-itinerary-preview .modern-service-row,
  body.prototype-itinerary-preview .modern-service-row.no-media,
  body.prototype-itinerary-preview .modern-service-row.has-media{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    gap:10px!important;
    padding:16px 0!important;
    align-items:start!important;
    min-width:0!important;
  }
  body.prototype-itinerary-preview .modern-service-time,
  body.prototype-itinerary-preview .modern-service-track,
  body.prototype-itinerary-preview .modern-service-type{
    display:none!important;
  }
  body.prototype-itinerary-preview .modern-service-media,
  body.prototype-itinerary-preview .modern-service-media.count-1,
  body.prototype-itinerary-preview .modern-service-media.count-2,
  body.prototype-itinerary-preview .modern-service-media.count-3{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    min-width:0!important;
    margin:0!important;
  }
  body.prototype-itinerary-preview .modern-service-media-placeholder{
    display:none!important;
  }
  body.prototype-itinerary-preview .modern-service-copy{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
  }
  body.prototype-itinerary-preview .modern-service-mobile-time{
    display:block!important;
    margin:0 0 5px!important;
    color:var(--preview-accent,#F5B800)!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    font-weight:800!important;
    letter-spacing:.035em!important;
  }
  body.prototype-itinerary-preview .modern-service-copy h3{
    margin-top:0!important;
    font-size:17px!important;
    line-height:1.32!important;
  }
  body.prototype-itinerary-preview .modern-service-copy p{
    font-size:13.5px!important;
    line-height:1.58!important;
  }
  body.prototype-itinerary-preview .service-mobile-thumbs{
    grid-column:1!important;
    grid-row:3!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:10px 0 0!important;
    border-top:1px solid var(--preview-line,#e3e9f2)!important;
  }
}

@media (max-width:480px){
  body.prototype-itinerary-preview .modern-day-head{
    grid-template-columns:minmax(0,1fr) 28px!important;
    padding:10px!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button{
    flex-basis:64px!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }
}

/* =========================================================
   Phase 12.3O — mobile preview edge-to-edge tab/content shell
   ========================================================= */
@media (max-width:820px){
  /* Override the desktop J breakout constraint with equal/higher specificity.
     On phones the preview surface starts flush at the viewport edges. */
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-shell{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-surface{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:0!important;
  }
}

/* =========================================================
   Phase 12.3P — mobile shell/tab flattening + thumbnail chrome removal
   ========================================================= */
@media (max-width:820px){
  /* The client preview itself must be the viewport surface on mobile — no
     desktop card gutter, rounded wrapper or outer frame at either side. */
  html,
  body.trip-preview-page.prototype-itinerary-preview{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-shell{
    position:relative!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-surface{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  /* Flat website-style tab strip. No rounded/focused tab boxes — active state
     is communicated only by the accent text/icon and bottom rule. */
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs,
  body.trip-preview-page.prototype-itinerary-preview.live-trip-preview .prototype-preview-tabs{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
    border-bottom:1px solid var(--preview-line,#e3e9f2)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs button,
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs button.active,
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs button:focus,
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs button:focus-visible{
    border-radius:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  body.trip-preview-page.prototype-itinerary-preview .prototype-preview-tabs button.active{
    border-left:0!important;
    border-right:0!important;
    border-top:0!important;
    border-bottom:3px solid var(--preview-accent)!important;
  }

  /* Mobile extra-photo rail: images are photos, not mini cards. Remove every
     visible button/frame border and the divider above the strip. */
  body.prototype-itinerary-preview .day-mobile-thumbs,
  body.prototype-itinerary-preview .service-mobile-thumbs{
    border-top:0!important;
    padding-top:8px!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button,
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button:hover,
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button:focus,
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button:focus-visible{
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body.prototype-itinerary-preview .preview-mobile-extra-media .preview-photo-button img{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
}

/* =========================================================
   ItineraryFox product rebrand — 2026-08-16
   App chrome only. Client itinerary Preview/Share intentionally excluded.
   Brand palette: deep navy #001B3B + fox orange #FE6101.
   ========================================================= */
body.app-body:not(.trip-preview-page),
.login-page,
.setup-body {
  --fox-navy:#001b3b;
  --fox-navy-2:#06264f;
  --fox-orange:#fe6101;
  --fox-orange-2:#ff7a2f;
  --fox-peach:#fff1e8;
  --fox-peach-2:#fff7f2;
  --fox-line:#e2e8f0;
  --ink:#001b3b;
  --blue:#fe6101;
  --orange:#fe6101;
  --violet:#06264f;
}

/* Login / password screens */
.login-page .brand-row{top:42px}
.login-page .brand-logo.fox-brand-icon{width:72px;height:72px;object-fit:contain;filter:none}
.login-page .hero-copy h1{color:var(--fox-navy)}
.login-page .hero-copy h1 .people{color:var(--fox-orange)}
.login-page .hero-copy h1 .love{background:linear-gradient(90deg,var(--fox-orange),#ff934f);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-page .feature-icon.violet,
.login-page .feature-icon.orange{color:var(--fox-orange)}
.login-page .feature-icon.green{color:var(--fox-navy-2)}
.login-page .input-shell:focus-within{border-color:rgba(254,97,1,.72);box-shadow:0 0 0 3px rgba(254,97,1,.10)}
.login-page .remember input{accent-color:var(--fox-orange)}
.login-page .form-actions a,.login-page .back-login{color:var(--fox-orange)}
.login-page .primary-btn{background:linear-gradient(135deg,var(--fox-orange),var(--fox-orange-2));box-shadow:0 12px 28px rgba(254,97,1,.20)}
.login-page .primary-btn:hover{box-shadow:0 15px 32px rgba(254,97,1,.27)}
.login-page .language-btn:hover{border-color:#ffd0b5;color:var(--fox-navy);background:var(--fox-peach-2)}

/* Main authenticated product header */
body.app-body:not(.trip-preview-page) .app-header{grid-template-columns:64px 1fr auto;background:rgba(255,255,255,.97);box-shadow:0 6px 24px rgba(0,27,59,.045)}
body.app-body:not(.trip-preview-page) .app-brand.product-brand{width:48px;height:48px;display:grid;place-items:center;border-radius:14px}
body.app-body:not(.trip-preview-page) .app-brand.product-brand img{width:46px!important;height:46px!important;max-width:none!important;max-height:none!important;object-fit:contain}
body.app-body:not(.trip-preview-page) .nav-link:hover{color:var(--fox-orange);background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) .nav-link.active{color:var(--fox-orange);background:var(--fox-peach)}
body.app-body:not(.trip-preview-page) .icon-btn:hover{color:var(--fox-orange);border-color:#ffd2ba;background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) .new-trip-btn,
body.app-body:not(.trip-preview-page) .create-trip-submit,
body.app-body:not(.trip-preview-page) .settings-primary-btn,
body.app-body:not(.trip-preview-page) .new-event-btn{background:linear-gradient(135deg,var(--fox-orange),var(--fox-orange-2));color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(254,97,1,.18)}
body.app-body:not(.trip-preview-page) .new-trip-btn:hover,
body.app-body:not(.trip-preview-page) .create-trip-submit:hover,
body.app-body:not(.trip-preview-page) .settings-primary-btn:hover,
body.app-body:not(.trip-preview-page) .new-event-btn:hover{box-shadow:0 13px 26px rgba(254,97,1,.24)}
body.app-body:not(.trip-preview-page) .ai-itinerary-btn{border-color:#ffd0b5;background:linear-gradient(135deg,#fff8f3,#fff 62%,#fff2e9);color:var(--fox-navy);box-shadow:0 9px 22px rgba(0,27,59,.06)}
body.app-body:not(.trip-preview-page) .ai-itinerary-btn:hover{border-color:#ffb88f;box-shadow:0 13px 27px rgba(254,97,1,.12)}
body.app-body:not(.trip-preview-page) .ai-spark-icon{background:linear-gradient(135deg,var(--fox-navy),#0b3a72);color:#fff;box-shadow:0 5px 12px rgba(0,27,59,.18)}
body.app-body:not(.trip-preview-page) .greeting-pill,
body.app-body:not(.trip-preview-page) .workspace-summary-pill{color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .sun-dot{color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .trip-summary-card.active{border-color:var(--fox-orange);background:var(--fox-peach-2);box-shadow:0 8px 22px rgba(254,97,1,.08)}
body.app-body:not(.trip-preview-page) .trip-summary-card.active span,
body.app-body:not(.trip-preview-page) .trip-summary-card.active strong{color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .search-box:focus-within,
body.app-body:not(.trip-preview-page) input:focus,
body.app-body:not(.trip-preview-page) select:focus,
body.app-body:not(.trip-preview-page) textarea:focus{border-color:rgba(254,97,1,.66);box-shadow:0 0 0 3px rgba(254,97,1,.09)}
body.app-body:not(.trip-preview-page) input[type="checkbox"],
body.app-body:not(.trip-preview-page) input[type="radio"]{accent-color:var(--fox-orange)}

/* Settings / library / contacts */
body.app-body:not(.trip-preview-page) .settings-nav-link:hover{color:var(--fox-orange);background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) .settings-nav-link.active{color:var(--fox-orange);background:var(--fox-peach)}
body.app-body:not(.trip-preview-page) .settings-callout-icon{background:var(--fox-peach);color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .usage-bar i{background:linear-gradient(90deg,var(--fox-orange),var(--fox-orange-2))}
body.app-body:not(.trip-preview-page) .library-category-tab:hover{border-color:#ffc7a6;color:var(--fox-navy);background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) .library-category-tab.active{border-color:var(--fox-orange);background:var(--fox-peach);color:var(--fox-navy);box-shadow:0 6px 18px rgba(254,97,1,.08)}
body.app-body:not(.trip-preview-page) .library-category-tab.active .library-cat-icon{background:#ffe0cd;color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .library-category-tab.active b{color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) .contacts-table-card .pagination button.active{border-color:var(--fox-orange);color:var(--fox-orange);background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) .contact-type-badge.contact,
body.app-body:not(.trip-preview-page) .contact-type-badge.client{color:#b74600;background:#fff0e7}
body.app-body:not(.trip-preview-page) .contact-detail-tags span{background:var(--fox-peach);color:#b74600}
body.app-body:not(.trip-preview-page) .contact-tools-menu>a:hover,
body.app-body:not(.trip-preview-page) .contact-tools-menu>button:hover{background:var(--fox-peach-2);color:var(--fox-orange)}

/* Editor product chrome — preview output itself remains untouched */
body.live-trip-editor .editor-product-brand{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px}
body.live-trip-editor .editor-product-brand img{display:block;width:36px;height:36px;object-fit:contain}
body.live-trip-editor .editor-top-link:hover,
body.live-trip-editor .editor-back:hover,
body.live-trip-editor .editor-preview-link:hover{color:var(--fox-orange)}
body.live-trip-editor .ai-editor-btn{border-color:#ffd3bb;background:#fff7f2;color:var(--fox-navy)}
body.live-trip-editor .ai-editor-btn:hover{background:#fff0e6;border-color:#ffbd97}
body.live-trip-editor .ai-editor-btn svg{color:var(--fox-orange)}
body.live-trip-editor .day-list-item.active,
body.live-trip-editor .day-list button.active{border-color:var(--fox-orange)!important;background:var(--fox-peach-2)!important}
body.live-trip-editor .package-policy-item.active{background:var(--fox-peach)!important;color:var(--fox-navy)!important}

/* Generic interactive accent cleanup inside authenticated Builder */
body.app-body:not(.trip-preview-page) .soft-action-btn:hover,
body.app-body:not(.trip-preview-page) .text-btn:hover{color:var(--fox-orange);border-color:#ffc7a6;background:var(--fox-peach-2)}
body.app-body:not(.trip-preview-page) a:not(.danger-link):not(.state-logout):hover{color:var(--fox-orange)}
body.app-body:not(.trip-preview-page) button:focus-visible,
body.app-body:not(.trip-preview-page) a:focus-visible,
body.app-body:not(.trip-preview-page) input:focus-visible,
body.app-body:not(.trip-preview-page) select:focus-visible,
body.app-body:not(.trip-preview-page) textarea:focus-visible{outline-color:rgba(254,97,1,.62)}

/* Setup / subscription state product icon */
.setup-product-icon,.state-product-icon{width:64px!important;height:64px!important;object-fit:contain!important;filter:none!important}

@media(max-width:760px){
  body.app-body:not(.trip-preview-page) .app-header{grid-template-columns:48px 1fr auto;padding-inline:14px;gap:10px}
  body.app-body:not(.trip-preview-page) .app-brand.product-brand{width:42px;height:42px}
  body.app-body:not(.trip-preview-page) .app-brand.product-brand img{width:40px!important;height:40px!important}
  .login-page .brand-logo.fox-brand-icon{width:58px;height:58px}
}
